nodes2ts 1.1.9 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +3 -0
- package/.eslintrc.cjs +11 -0
- package/.github/workflows/lint.js.yml +22 -0
- package/.github/workflows/node.js.yml +22 -0
- package/.mocharc.js +7 -0
- package/README.md +22 -5
- package/dist/Interval.d.ts +7 -8
- package/dist/Interval.js +12 -12
- package/dist/Interval.js.map +1 -1
- package/dist/MutableInteger.js +5 -4
- package/dist/MutableInteger.js.map +1 -1
- package/dist/Platform.d.ts +15 -0
- package/dist/Platform.js +53 -0
- package/dist/Platform.js.map +1 -0
- package/dist/R1Interval.d.ts +8 -9
- package/dist/R1Interval.js +59 -78
- package/dist/R1Interval.js.map +1 -1
- package/dist/R2Vector.d.ts +12 -13
- package/dist/R2Vector.js +65 -85
- package/dist/R2Vector.js.map +1 -1
- package/dist/S1Angle.d.ts +38 -5
- package/dist/S1Angle.js +89 -37
- package/dist/S1Angle.js.map +1 -1
- package/dist/S1ChordAngle.d.ts +166 -0
- package/dist/S1ChordAngle.js +318 -0
- package/dist/S1ChordAngle.js.map +1 -0
- package/dist/S1Interval.d.ts +11 -12
- package/dist/S1Interval.js +134 -140
- package/dist/S1Interval.js.map +1 -1
- package/dist/S2.d.ts +8 -5
- package/dist/S2.js +91 -108
- package/dist/S2.js.map +1 -1
- package/dist/S2Cap.d.ts +33 -25
- package/dist/S2Cap.js +199 -203
- package/dist/S2Cap.js.map +1 -1
- package/dist/S2Cell.d.ts +15 -13
- package/dist/S2Cell.js +196 -206
- package/dist/S2Cell.js.map +1 -1
- package/dist/S2CellId.d.ts +37 -14
- package/dist/S2CellId.js +407 -359
- package/dist/S2CellId.js.map +1 -1
- package/dist/S2CellUnion.d.ts +1 -2
- package/dist/S2CellUnion.js +137 -133
- package/dist/S2CellUnion.js.map +1 -1
- package/dist/S2EdgeUtil.js +14 -17
- package/dist/S2EdgeUtil.js.map +1 -1
- package/dist/S2LatLng.d.ts +15 -11
- package/dist/S2LatLng.js +100 -114
- package/dist/S2LatLng.js.map +1 -1
- package/dist/S2LatLngRect.d.ts +8 -4
- package/dist/S2LatLngRect.js +215 -197
- package/dist/S2LatLngRect.js.map +1 -1
- package/dist/S2Metric.d.ts +4 -5
- package/dist/S2Metric.js +30 -27
- package/dist/S2Metric.js.map +1 -1
- package/dist/S2Point.d.ts +48 -14
- package/dist/S2Point.js +156 -109
- package/dist/S2Point.js.map +1 -1
- package/dist/S2Projections.d.ts +43 -9
- package/dist/S2Projections.js +226 -47
- package/dist/S2Projections.js.map +1 -1
- package/dist/S2Region.js +2 -1
- package/dist/S2Region.js.map +1 -1
- package/dist/S2RegionCoverer.d.ts +21 -6
- package/dist/S2RegionCoverer.js +144 -109
- package/dist/S2RegionCoverer.js.map +1 -1
- package/dist/export.d.ts +0 -1
- package/dist/export.js +42 -32
- package/dist/export.js.map +1 -1
- package/dist/utils/preconditions.d.ts +2 -0
- package/dist/utils/preconditions.js +16 -0
- package/dist/utils/preconditions.js.map +1 -0
- package/package.json +28 -34
- package/.npmignore +0 -8
- package/.nyc_output/1eb1f420a13c15f529aac41a40bcaa21.json +0 -1
- package/.nyc_output/5ff62256eb1c111254ba0b469fb547da.json +0 -1
- package/.nyc_output/949d6e8c2061067f3bdfd27dfff5ba83.json +0 -1
- package/coverage/Interval.ts.html +0 -203
- package/coverage/MutableInteger.ts.html +0 -77
- package/coverage/R1Interval.ts.html +0 -647
- package/coverage/R2Vector.ts.html +0 -587
- package/coverage/S1Angle.ts.html +0 -344
- package/coverage/S1Interval.ts.html +0 -1349
- package/coverage/S2.ts.html +0 -1178
- package/coverage/S2Cap.ts.html +0 -1433
- package/coverage/S2Cell.ts.html +0 -1415
- package/coverage/S2CellId.ts.html +0 -3329
- package/coverage/S2EdgeUtil.ts.html +0 -2534
- package/coverage/S2LatLng.ts.html +0 -848
- package/coverage/S2LatLngRect.ts.html +0 -2222
- package/coverage/S2Point.ts.html +0 -758
- package/coverage/S2Projections.ts.html +0 -518
- package/coverage/base.css +0 -212
- package/coverage/decimal.ts.html +0 -68
- package/coverage/index.html +0 -288
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -1
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -158
- package/dist/decimal.d.ts +0 -3
- package/dist/decimal.js +0 -4
- package/dist/decimal.js.map +0 -1
- package/dist/decimal_augmentation.d.ts +0 -24
- package/dist/decimal_augmentation.js +0 -2
- package/dist/decimal_augmentation.js.map +0 -1
package/dist/S2Projections.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Copyright 2005 Google Inc.
|
|
3
4
|
*
|
|
@@ -13,7 +14,8 @@
|
|
|
13
14
|
* See the License for the specific language governing permissions and
|
|
14
15
|
* limitations under the License.
|
|
15
16
|
*/
|
|
16
|
-
"
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.S2Projections = void 0;
|
|
17
19
|
/**
|
|
18
20
|
* This class specifies the details of how the cube faces are projected onto the
|
|
19
21
|
* unit sphere. This includes getting the face ordering and orientation correct
|
|
@@ -65,19 +67,19 @@
|
|
|
65
67
|
* This data was produced using s2cell_unittest and s2cellid_unittest.
|
|
66
68
|
*
|
|
67
69
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
const S2_1 = require("./S2");
|
|
71
|
+
const S2CellId_1 = require("./S2CellId");
|
|
72
|
+
const S2Point_1 = require("./S2Point");
|
|
73
|
+
const R2Vector_1 = require("./R2Vector");
|
|
74
|
+
const Long = require("long");
|
|
75
|
+
var Projections;
|
|
71
76
|
(function (Projections) {
|
|
72
77
|
Projections[Projections["S2_LINEAR_PROJECTION"] = 0] = "S2_LINEAR_PROJECTION";
|
|
73
78
|
Projections[Projections["S2_TAN_PROJECTION"] = 1] = "S2_TAN_PROJECTION";
|
|
74
79
|
Projections[Projections["S2_QUADRATIC_PROJECTION"] = 2] = "S2_QUADRATIC_PROJECTION";
|
|
75
|
-
})(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
function S2Projections() {
|
|
79
|
-
}
|
|
80
|
-
S2Projections.getUNorm = function (face, u) {
|
|
80
|
+
})(Projections || (Projections = {}));
|
|
81
|
+
class S2Projections {
|
|
82
|
+
static getUNorm(face, u) {
|
|
81
83
|
switch (face) {
|
|
82
84
|
case 0:
|
|
83
85
|
return new S2Point_1.S2Point(u, -1, 0);
|
|
@@ -92,8 +94,8 @@ var S2Projections = (function () {
|
|
|
92
94
|
default:
|
|
93
95
|
return new S2Point_1.S2Point(0, -1, -u);
|
|
94
96
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
+
}
|
|
98
|
+
static getVNorm(face, v) {
|
|
97
99
|
switch (face) {
|
|
98
100
|
case 0:
|
|
99
101
|
return new S2Point_1.S2Point(-v, 0, 1);
|
|
@@ -108,45 +110,222 @@ var S2Projections = (function () {
|
|
|
108
110
|
default:
|
|
109
111
|
return new S2Point_1.S2Point(1, 0, v);
|
|
110
112
|
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
113
|
+
}
|
|
114
|
+
static getUAxis(face) {
|
|
115
|
+
return S2Projections.getUVWAxis(face, 0);
|
|
116
|
+
}
|
|
117
|
+
static getVAxis(face) {
|
|
118
|
+
return S2Projections.getUVWAxis(face, 1);
|
|
119
|
+
}
|
|
120
|
+
static getNorm(face) {
|
|
121
|
+
return S2Projections.getUVWAxis(face, 2);
|
|
122
|
+
}
|
|
123
|
+
/** Returns the given axis of the given face (u=0, v=1, w=2). */
|
|
124
|
+
static getUVWAxis(face, axis) {
|
|
125
|
+
return S2Projections.FACE_UVW_AXES[face][axis];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Convert (face, si, ti) coordinates (see s2.h) to a direction vector (not
|
|
129
|
+
* necessarily unit length).
|
|
130
|
+
*/
|
|
131
|
+
static faceSiTiToXYZ(face, si, ti) {
|
|
132
|
+
const u = R2Vector_1.R2Vector.singleStTOUV(this.siTiToSt(si));
|
|
133
|
+
const v = R2Vector_1.R2Vector.singleStTOUV(this.siTiToSt(ti));
|
|
134
|
+
return this.faceUvToXyz(face, u, v);
|
|
135
|
+
}
|
|
136
|
+
static faceUvToXyz(face, u, v) {
|
|
137
|
+
const t = this.faceToXyzTransform(face);
|
|
138
|
+
return new S2Point_1.S2Point(t.uvToX(u, v), t.uvToY(u, v), t.uvToZ(u, v));
|
|
139
|
+
}
|
|
140
|
+
static faceXyzToUv(face, p) {
|
|
141
|
+
if (face < 3) {
|
|
142
|
+
if (p.get(face) <= 0) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
126
145
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
146
|
+
else {
|
|
147
|
+
if (p.get(face - 3) >= 0) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return S2Projections.validFaceXyzToUv(face, p);
|
|
152
|
+
}
|
|
153
|
+
static validFaceXyzToUv(face, p) {
|
|
154
|
+
const t = S2Projections.faceToUvTransform(face);
|
|
155
|
+
return new R2Vector_1.R2Vector(t.xyzToU(p.x, p.y, p.z), t.xyzToV(p.x, p.y, p.z));
|
|
156
|
+
}
|
|
157
|
+
static ijToStMin(i) {
|
|
158
|
+
// assert (i >= 0 && i <= S2CellId.MAX_SIZE);
|
|
159
|
+
return (1.0 / S2CellId_1.S2CellId.MAX_SIZE) * i;
|
|
160
|
+
}
|
|
161
|
+
static stToIj(s) {
|
|
162
|
+
return Math.max(0, Math.min(S2CellId_1.S2CellId.MAX_SIZE - 1, Math.round(S2CellId_1.S2CellId.MAX_SIZE * s - 0.5)));
|
|
163
|
+
}
|
|
164
|
+
static siTiToSt(si) {
|
|
165
|
+
return 1.0 / this.MAX_SITI.toNumber() * si;
|
|
166
|
+
}
|
|
167
|
+
static ijToUV(ij, cellSize) {
|
|
168
|
+
return R2Vector_1.R2Vector.singleStTOUV(S2Projections.ijToStMin(ij & -cellSize));
|
|
169
|
+
}
|
|
170
|
+
static xyzToFaceP(p) {
|
|
171
|
+
return this.xyzToFace(p.x, p.y, p.z);
|
|
172
|
+
}
|
|
173
|
+
static xyzToFace(x, y, z) {
|
|
174
|
+
switch (S2Point_1.S2Point.largestAbsComponent(x, y, z)) {
|
|
130
175
|
case 0:
|
|
131
|
-
return
|
|
176
|
+
return (x < 0) ? 3 : 0;
|
|
132
177
|
case 1:
|
|
133
|
-
return
|
|
134
|
-
case 2:
|
|
135
|
-
return new S2Point_1.S2Point(0, -1, 0);
|
|
136
|
-
case 3:
|
|
137
|
-
return new S2Point_1.S2Point(0, -1, 0);
|
|
138
|
-
case 4:
|
|
139
|
-
return new S2Point_1.S2Point(1, 0, 0);
|
|
178
|
+
return (y < 0) ? 4 : 1;
|
|
140
179
|
default:
|
|
141
|
-
return
|
|
180
|
+
return (z < 0) ? 5 : 2;
|
|
142
181
|
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
182
|
+
}
|
|
183
|
+
static faceToUvTransform(face) {
|
|
184
|
+
return S2Projections.UV_TRANSFORMS[face];
|
|
185
|
+
}
|
|
186
|
+
static faceToXyzTransform(face) {
|
|
187
|
+
// We map illegal face indices to the largest face index to preserve legacy behavior, i.e., we
|
|
188
|
+
// do not (yet) want to throw an index out of bounds exception. Note that S2CellId.face() is
|
|
189
|
+
// guaranteed to return a non-negative face index even for invalid S2 cells, so it is sufficient
|
|
190
|
+
// to just map all face indices greater than 5 to a face index of 5.
|
|
191
|
+
//
|
|
192
|
+
// TODO(bjj): Remove this legacy behavior.
|
|
193
|
+
return S2Projections.XYZ_TRANSFORMS[Math.min(5, face)];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
151
196
|
exports.S2Projections = S2Projections;
|
|
197
|
+
S2Projections.MIN_WIDTH = new S2_1.S2Metric(1, 2 * S2_1.S2.M_SQRT2 / 3); // 0.943
|
|
198
|
+
S2Projections.AVG_AREA = new S2_1.S2Metric(2, 4 * S2_1.S2.M_PI / 6); // ~2.094
|
|
199
|
+
S2Projections.MAX_LEVEL = 30;
|
|
200
|
+
S2Projections.FACE_UVW_AXES = [
|
|
201
|
+
[S2Point_1.S2Point.Y_POS, S2Point_1.S2Point.Z_POS, S2Point_1.S2Point.X_POS],
|
|
202
|
+
[S2Point_1.S2Point.X_NEG, S2Point_1.S2Point.Z_POS, S2Point_1.S2Point.Y_POS],
|
|
203
|
+
[S2Point_1.S2Point.X_NEG, S2Point_1.S2Point.Y_NEG, S2Point_1.S2Point.Z_POS],
|
|
204
|
+
[S2Point_1.S2Point.Z_NEG, S2Point_1.S2Point.Y_NEG, S2Point_1.S2Point.X_NEG],
|
|
205
|
+
[S2Point_1.S2Point.Z_NEG, S2Point_1.S2Point.X_POS, S2Point_1.S2Point.Y_NEG],
|
|
206
|
+
[S2Point_1.S2Point.Y_POS, S2Point_1.S2Point.X_POS, S2Point_1.S2Point.Z_NEG]
|
|
207
|
+
];
|
|
208
|
+
S2Projections.UV_TRANSFORMS = [
|
|
209
|
+
{
|
|
210
|
+
xyzToU: function xyzToU(x, y, z) {
|
|
211
|
+
return y / x;
|
|
212
|
+
},
|
|
213
|
+
xyzToV: function xyzToV(x, y, z) {
|
|
214
|
+
return z / x;
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
xyzToU: function xyzToU(x, y, z) {
|
|
219
|
+
return -x / y;
|
|
220
|
+
},
|
|
221
|
+
xyzToV: function xyzToV(x, y, z) {
|
|
222
|
+
return z / y;
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
xyzToU: function xyzToU(x, y, z) {
|
|
227
|
+
return -x / z;
|
|
228
|
+
},
|
|
229
|
+
xyzToV: function xyzToV(x, y, z) {
|
|
230
|
+
return -y / z;
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
xyzToU: function xyzToU(x, y, z) {
|
|
235
|
+
return z / x;
|
|
236
|
+
},
|
|
237
|
+
xyzToV: function xyzToV(x, y, z) {
|
|
238
|
+
return y / x;
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
xyzToU: function xyzToU(x, y, z) {
|
|
243
|
+
return z / y;
|
|
244
|
+
},
|
|
245
|
+
xyzToV: function xyzToV(x, y, z) {
|
|
246
|
+
return -x / y;
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
xyzToU: function xyzToU(x, y, z) {
|
|
251
|
+
return -y / z;
|
|
252
|
+
},
|
|
253
|
+
xyzToV: function xyzToV(x, y, z) {
|
|
254
|
+
return -x / z;
|
|
255
|
+
},
|
|
256
|
+
}
|
|
257
|
+
];
|
|
258
|
+
S2Projections.XYZ_TRANSFORMS = [
|
|
259
|
+
{
|
|
260
|
+
uvToX: function uvToX(u, v) {
|
|
261
|
+
return 1;
|
|
262
|
+
},
|
|
263
|
+
uvToY: function uvToY(u, v) {
|
|
264
|
+
return u;
|
|
265
|
+
},
|
|
266
|
+
uvToZ: function uvToZ(u, v) {
|
|
267
|
+
return v;
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
uvToX: function uvToX(u, v) {
|
|
272
|
+
return -u;
|
|
273
|
+
},
|
|
274
|
+
uvToY: function uvToY(u, v) {
|
|
275
|
+
return 1;
|
|
276
|
+
},
|
|
277
|
+
uvToZ: function uvToZ(u, v) {
|
|
278
|
+
return v;
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
uvToX: function uvToX(u, v) {
|
|
283
|
+
return -u;
|
|
284
|
+
},
|
|
285
|
+
uvToY: function uvToY(u, v) {
|
|
286
|
+
return -v;
|
|
287
|
+
},
|
|
288
|
+
uvToZ: function uvToZ(u, v) {
|
|
289
|
+
return 1;
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
uvToX: function uvToX(u, v) {
|
|
294
|
+
return -1;
|
|
295
|
+
},
|
|
296
|
+
uvToY: function uvToY(u, v) {
|
|
297
|
+
return -v;
|
|
298
|
+
},
|
|
299
|
+
uvToZ: function uvToZ(u, v) {
|
|
300
|
+
return -u;
|
|
301
|
+
},
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
uvToX: function uvToX(u, v) {
|
|
305
|
+
return v;
|
|
306
|
+
},
|
|
307
|
+
uvToY: function uvToY(u, v) {
|
|
308
|
+
return -1;
|
|
309
|
+
},
|
|
310
|
+
uvToZ: function uvToZ(u, v) {
|
|
311
|
+
return -u;
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
uvToX: function uvToX(u, v) {
|
|
316
|
+
return v;
|
|
317
|
+
},
|
|
318
|
+
uvToY: function uvToY(u, v) {
|
|
319
|
+
return u;
|
|
320
|
+
},
|
|
321
|
+
uvToZ: function uvToZ(u, v) {
|
|
322
|
+
return -1;
|
|
323
|
+
},
|
|
324
|
+
}
|
|
325
|
+
];
|
|
326
|
+
/**
|
|
327
|
+
* The maximum value of an si- or ti-coordinate. The range of valid (si,ti) values is
|
|
328
|
+
* [0..MAX_SiTi].
|
|
329
|
+
*/
|
|
330
|
+
S2Projections.MAX_SITI = Long.fromInt(1).shiftLeft(S2Projections.MAX_LEVEL + 1);
|
|
152
331
|
//# sourceMappingURL=S2Projections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S2Projections.js","sourceRoot":"","sources":["../src/S2Projections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"S2Projections.js","sourceRoot":"","sources":["../src/S2Projections.ts"],"names":[],"mappings":"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"}
|
package/dist/S2Region.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Copyright 2005 Google Inc.
|
|
3
4
|
*
|
|
@@ -13,5 +14,5 @@
|
|
|
13
14
|
* See the License for the specific language governing permissions and
|
|
14
15
|
* limitations under the License.
|
|
15
16
|
*/
|
|
16
|
-
"
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
18
|
//# sourceMappingURL=S2Region.js.map
|
package/dist/S2Region.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S2Region.js","sourceRoot":"","sources":["../src/S2Region.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
1
|
+
{"version":3,"file":"S2Region.js","sourceRoot":"","sources":["../src/S2Region.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { S2Region } from "./S2Region";
|
|
2
2
|
import { S2CellId } from "./S2CellId";
|
|
3
3
|
import { S2CellUnion } from "./S2CellUnion";
|
|
4
|
+
import { S2Point } from "./S2Point";
|
|
4
5
|
/**
|
|
5
6
|
* An S2RegionCoverer is a class that allows arbitrary regions to be
|
|
6
7
|
* approximated as unions of cells (S2CellUnion). This is useful for
|
|
@@ -114,6 +115,10 @@ export declare class S2RegionCoverer {
|
|
|
114
115
|
* </pre>
|
|
115
116
|
*/
|
|
116
117
|
setMaxCells(maxCells: number): S2RegionCoverer;
|
|
118
|
+
getMinLevel(): number;
|
|
119
|
+
getMaxLevel(): number;
|
|
120
|
+
getMaxCells(): number;
|
|
121
|
+
getLevelMod(): number;
|
|
117
122
|
/**
|
|
118
123
|
* Computes a list of cell ids that covers the given region and satisfies the
|
|
119
124
|
* various restrictions specified above.
|
|
@@ -144,28 +149,38 @@ export declare class S2RegionCoverer {
|
|
|
144
149
|
* and satisfies the restrictions *EXCEPT* for min_level() and level_mod().
|
|
145
150
|
*/
|
|
146
151
|
getInteriorCoveringUnion(region: S2Region, covering?: S2CellUnion): S2CellUnion;
|
|
152
|
+
/**
|
|
153
|
+
* Given a connected region and a starting point, return a set of cells at the given level that
|
|
154
|
+
* cover the region.
|
|
155
|
+
*/
|
|
156
|
+
static getSimpleCovering(region: S2Region, start: S2Point, level: number): S2CellId[];
|
|
147
157
|
/**
|
|
148
158
|
* If the cell intersects the given region, return a new candidate with no
|
|
149
159
|
* children, otherwise return null. Also marks the candidate as "terminal" if
|
|
150
160
|
* it should not be expanded further.
|
|
151
161
|
*/
|
|
152
|
-
private newCandidate
|
|
162
|
+
private newCandidate;
|
|
153
163
|
/** Return the log base 2 of the maximum number of children of a candidate. */
|
|
154
|
-
private maxChildrenShift
|
|
164
|
+
private maxChildrenShift;
|
|
155
165
|
/**
|
|
156
166
|
* Process a candidate by either adding it to the result list or expanding its
|
|
157
167
|
* children and inserting it into the priority queue. Passing an argument of
|
|
158
168
|
* NULL does nothing.
|
|
159
169
|
*/
|
|
160
|
-
private addCandidate
|
|
170
|
+
private addCandidate;
|
|
161
171
|
/**
|
|
162
172
|
* Populate the children of "candidate" by expanding the given number of
|
|
163
173
|
* levels from the given cell. Returns the number of children that were marked
|
|
164
174
|
* "terminal".
|
|
165
175
|
*/
|
|
166
|
-
private expandChildren
|
|
176
|
+
private expandChildren;
|
|
167
177
|
/** Computes a set of initial candidates that cover the given region. */
|
|
168
|
-
private getInitialCandidates
|
|
178
|
+
private getInitialCandidates;
|
|
169
179
|
/** Generates a covering and stores it in result. */
|
|
170
|
-
private getCoveringInternal
|
|
180
|
+
private getCoveringInternal;
|
|
181
|
+
/**
|
|
182
|
+
* Given a region and a starting cell, return the set of all the edge-connected cells at the same
|
|
183
|
+
* level that intersect "region". The output cells are returned in arbitrary order.
|
|
184
|
+
*/
|
|
185
|
+
private static floodFill;
|
|
171
186
|
}
|