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/S1Interval.js
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
__extends(S1Interval, _super);
|
|
11
|
-
function S1Interval(lo, hi, checked) {
|
|
12
|
-
if (checked === void 0) { checked = false; }
|
|
13
|
-
_super.call(this, lo, hi);
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.S1Interval = void 0;
|
|
4
|
+
const Interval_1 = require("./Interval");
|
|
5
|
+
const S2_1 = require("./S2");
|
|
6
|
+
const Platform_1 = require("./Platform");
|
|
7
|
+
class S1Interval extends Interval_1.Interval {
|
|
8
|
+
constructor(lo, hi, checked = false) {
|
|
9
|
+
super(lo, hi);
|
|
14
10
|
if (!checked) {
|
|
15
|
-
if (this.lo
|
|
16
|
-
this.lo =
|
|
11
|
+
if (this.lo == (-S2_1.S2.M_PI) && this.hi != (S2_1.S2.M_PI)) {
|
|
12
|
+
this.lo = (S2_1.S2.M_PI);
|
|
17
13
|
}
|
|
18
|
-
if (this.hi
|
|
19
|
-
this.hi =
|
|
14
|
+
if (this.hi == (-S2_1.S2.M_PI) && this.lo != (S2_1.S2.M_PI)) {
|
|
15
|
+
this.hi = (S2_1.S2.M_PI);
|
|
20
16
|
}
|
|
21
17
|
}
|
|
22
18
|
}
|
|
@@ -24,52 +20,52 @@ var S1Interval = (function (_super) {
|
|
|
24
20
|
* An interval is valid if neither bound exceeds Pi in absolute value, and the
|
|
25
21
|
* value -Pi appears only in the Empty() and Full() intervals.
|
|
26
22
|
*/
|
|
27
|
-
|
|
28
|
-
return this.lo
|
|
29
|
-
&& !(this.lo
|
|
30
|
-
&& !(this.hi
|
|
23
|
+
isValid() {
|
|
24
|
+
return Math.abs(this.lo) <= (S2_1.S2.M_PI) && Math.abs(this.hi) <= (S2_1.S2.M_PI)
|
|
25
|
+
&& !(this.lo == (-S2_1.S2.M_PI) && this.hi != (S2_1.S2.M_PI))
|
|
26
|
+
&& !(this.hi == (-S2_1.S2.M_PI) && this.lo != (S2_1.S2.M_PI));
|
|
31
27
|
// return (Math.abs(this.lo) <= S2.M_PI && Math.abs(this.hi) <= S2.M_PI
|
|
32
28
|
// && !(this.lo == -S2.M_PI && this.hi != S2.M_PI) && !(this.hi == -S2.M_PI && this.lo != S2.M_PI));
|
|
33
|
-
}
|
|
29
|
+
}
|
|
34
30
|
/** Return true if the interval contains all points on the unit circle. */
|
|
35
|
-
|
|
36
|
-
// console.log(this.hi
|
|
37
|
-
return this.hi
|
|
38
|
-
}
|
|
31
|
+
isFull() {
|
|
32
|
+
// console.log(this.hi - (this.lo) == (2 * S2.M_PI));
|
|
33
|
+
return this.hi - (this.lo) == (2 * S2_1.S2.M_PI);
|
|
34
|
+
}
|
|
39
35
|
/** Return true if the interval is empty, i.e. it contains no points. */
|
|
40
|
-
|
|
41
|
-
return this.lo
|
|
42
|
-
}
|
|
36
|
+
isEmpty() {
|
|
37
|
+
return this.lo - (this.hi) == (2 * S2_1.S2.M_PI);
|
|
38
|
+
}
|
|
43
39
|
/* Return true if this.lo > this.hi. (This is true for empty intervals.) */
|
|
44
|
-
|
|
45
|
-
return this.lo
|
|
46
|
-
}
|
|
40
|
+
isInverted() {
|
|
41
|
+
return this.lo > (this.hi);
|
|
42
|
+
}
|
|
47
43
|
/**
|
|
48
44
|
* Return the midpoint of the interval. For full and empty intervals, the
|
|
49
45
|
* result is arbitrary.
|
|
50
46
|
*/
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
getCenter() {
|
|
48
|
+
const center = (this.lo + this.hi) / 2;
|
|
53
49
|
// let center = 0.5 * (this.lo + this.hi);
|
|
54
50
|
if (!this.isInverted()) {
|
|
55
51
|
return center;
|
|
56
52
|
}
|
|
57
53
|
// Return the center in the range (-Pi, Pi].
|
|
58
|
-
return (center
|
|
59
|
-
}
|
|
54
|
+
return (center <= (0)) ? (center + (S2_1.S2.M_PI)) : (center - (S2_1.S2.M_PI));
|
|
55
|
+
}
|
|
60
56
|
/**
|
|
61
57
|
* Return the length of the interval. The length of an empty interval is
|
|
62
58
|
* negative.
|
|
63
59
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (length
|
|
60
|
+
getLength() {
|
|
61
|
+
let length = this.hi - (this.lo);
|
|
62
|
+
if (length >= (0)) {
|
|
67
63
|
return length;
|
|
68
64
|
}
|
|
69
|
-
length = length
|
|
65
|
+
length = length + (2 * S2_1.S2.M_PI);
|
|
70
66
|
// Empty intervals have a negative length.
|
|
71
|
-
return (length
|
|
72
|
-
}
|
|
67
|
+
return (length > (0)) ? length : (-1);
|
|
68
|
+
}
|
|
73
69
|
/**
|
|
74
70
|
* Return the complement of the interior of the interval. An interval and its
|
|
75
71
|
* complement have the same boundary but do not share any interior values. The
|
|
@@ -77,141 +73,141 @@ var S1Interval = (function (_super) {
|
|
|
77
73
|
* interval (containing a single value) is the same as the complement of an
|
|
78
74
|
* empty interval.
|
|
79
75
|
*/
|
|
80
|
-
|
|
81
|
-
if (this.lo
|
|
76
|
+
complement() {
|
|
77
|
+
if (this.lo == (this.hi)) {
|
|
82
78
|
return S1Interval.full(); // Singleton.
|
|
83
79
|
}
|
|
84
80
|
return new S1Interval(this.hi, this.lo, true); // Handles
|
|
85
81
|
// empty and
|
|
86
82
|
// full.
|
|
87
|
-
}
|
|
83
|
+
}
|
|
88
84
|
/** Return true if the interval (which is closed) contains the point 'p'. */
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
contains(_p) {
|
|
86
|
+
let p = (_p);
|
|
91
87
|
// Works for empty, full, and singleton intervals.
|
|
92
88
|
// assert (Math.abs(p) <= S2.M_PI);
|
|
93
|
-
if (p
|
|
94
|
-
p =
|
|
89
|
+
if (p == (-S2_1.S2.M_PI)) {
|
|
90
|
+
p = (S2_1.S2.M_PI);
|
|
95
91
|
}
|
|
96
92
|
return this.fastContains(p);
|
|
97
|
-
}
|
|
93
|
+
}
|
|
98
94
|
/**
|
|
99
95
|
* Return true if the interval (which is closed) contains the point 'p'. Skips
|
|
100
96
|
* the normalization of 'p' from -Pi to Pi.
|
|
101
97
|
*
|
|
102
98
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
fastContains(_p) {
|
|
100
|
+
const p = (_p);
|
|
105
101
|
if (this.isInverted()) {
|
|
106
|
-
return (p
|
|
102
|
+
return (p >= (this.lo) || p <= (this.hi)) && !this.isEmpty();
|
|
107
103
|
}
|
|
108
104
|
else {
|
|
109
|
-
return p
|
|
105
|
+
return p >= (this.lo) && p <= (this.hi);
|
|
110
106
|
}
|
|
111
|
-
}
|
|
107
|
+
}
|
|
112
108
|
/** Return true if the interior of the interval contains the point 'p'. */
|
|
113
|
-
|
|
109
|
+
interiorContains(_p) {
|
|
114
110
|
// Works for empty, full, and singleton intervals.
|
|
115
111
|
// assert (Math.abs(p) <= S2.M_PI);
|
|
116
|
-
|
|
117
|
-
if (p
|
|
118
|
-
p =
|
|
112
|
+
let p = (_p);
|
|
113
|
+
if (p == (-S2_1.S2.M_PI)) {
|
|
114
|
+
p = (S2_1.S2.M_PI);
|
|
119
115
|
}
|
|
120
116
|
if (this.isInverted()) {
|
|
121
|
-
return p
|
|
117
|
+
return p > (this.lo) || p < (this.hi);
|
|
122
118
|
}
|
|
123
119
|
else {
|
|
124
|
-
return (p
|
|
120
|
+
return (p > (this.lo) && p < (this.hi)) || this.isFull();
|
|
125
121
|
}
|
|
126
|
-
}
|
|
122
|
+
}
|
|
127
123
|
/**
|
|
128
124
|
* Return true if the interval contains the given interval 'y'. Works for
|
|
129
125
|
* empty, full, and singleton intervals.
|
|
130
126
|
*/
|
|
131
|
-
|
|
127
|
+
containsI(y) {
|
|
132
128
|
// It might be helpful to compare the structure of these tests to
|
|
133
129
|
// the simpler Contains(number) method above.
|
|
134
130
|
if (this.isInverted()) {
|
|
135
131
|
if (y.isInverted()) {
|
|
136
|
-
return y.lo
|
|
132
|
+
return y.lo >= (this.lo) && y.hi <= (this.hi);
|
|
137
133
|
}
|
|
138
|
-
return (y.lo
|
|
134
|
+
return (y.lo >= (this.lo) || y.hi <= (this.hi)) && !this.isEmpty();
|
|
139
135
|
}
|
|
140
136
|
else {
|
|
141
137
|
if (y.isInverted()) {
|
|
142
138
|
return this.isFull() || y.isEmpty();
|
|
143
139
|
}
|
|
144
|
-
return y.lo
|
|
140
|
+
return y.lo >= (this.lo) && y.hi <= (this.hi);
|
|
145
141
|
}
|
|
146
|
-
}
|
|
142
|
+
}
|
|
147
143
|
/**
|
|
148
144
|
* Returns true if the interior of this interval contains the entire interval
|
|
149
145
|
* 'y'. Note that x.InteriorContains(x) is true only when x is the empty or
|
|
150
146
|
* full interval, and x.InteriorContains(S1Interval(p,p)) is equivalent to
|
|
151
147
|
* x.InteriorContains(p).
|
|
152
148
|
*/
|
|
153
|
-
|
|
149
|
+
interiorContainsI(y) {
|
|
154
150
|
if (this.isInverted()) {
|
|
155
151
|
if (!y.isInverted()) {
|
|
156
|
-
return this.lo
|
|
152
|
+
return this.lo > (this.lo) || y.hi < (this.hi);
|
|
157
153
|
}
|
|
158
|
-
return (y.lo
|
|
154
|
+
return (y.lo > (this.lo) && y.hi < (this.hi)) || y.isEmpty();
|
|
159
155
|
}
|
|
160
156
|
else {
|
|
161
157
|
if (y.isInverted()) {
|
|
162
158
|
return this.isFull() || y.isEmpty();
|
|
163
159
|
}
|
|
164
|
-
return (y.lo
|
|
160
|
+
return (y.lo > (this.lo) && y.hi < (this.hi)) || this.isFull();
|
|
165
161
|
}
|
|
166
|
-
}
|
|
162
|
+
}
|
|
167
163
|
/**
|
|
168
164
|
* Return true if the two intervals contain any points in common. Note that
|
|
169
165
|
* the point +/-Pi has two representations, so the intervals [-Pi,-3] and
|
|
170
166
|
* [2,Pi] intersect, for example.
|
|
171
167
|
*/
|
|
172
|
-
|
|
168
|
+
intersects(y) {
|
|
173
169
|
if (this.isEmpty() || y.isEmpty()) {
|
|
174
170
|
return false;
|
|
175
171
|
}
|
|
176
172
|
if (this.isInverted()) {
|
|
177
173
|
// Every non-empty inverted interval contains Pi.
|
|
178
|
-
return y.isInverted() || y.lo
|
|
174
|
+
return y.isInverted() || y.lo <= (this.hi) || y.hi >= (this.lo);
|
|
179
175
|
}
|
|
180
176
|
else {
|
|
181
177
|
if (y.isInverted()) {
|
|
182
|
-
return y.lo
|
|
178
|
+
return y.lo <= (this.hi) || y.hi >= (this.lo);
|
|
183
179
|
}
|
|
184
|
-
return y.lo
|
|
180
|
+
return y.lo <= (this.hi) && y.hi >= (this.lo);
|
|
185
181
|
}
|
|
186
|
-
}
|
|
182
|
+
}
|
|
187
183
|
/**
|
|
188
184
|
* Return true if the interior of this interval contains any point of the
|
|
189
185
|
* interval 'y' (including its boundary). Works for empty, full, and singleton
|
|
190
186
|
* intervals.
|
|
191
187
|
*/
|
|
192
|
-
|
|
193
|
-
if (this.isEmpty() || y.isEmpty() || this.lo
|
|
188
|
+
interiorIntersects(y) {
|
|
189
|
+
if (this.isEmpty() || y.isEmpty() || this.lo == (this.hi)) {
|
|
194
190
|
return false;
|
|
195
191
|
}
|
|
196
192
|
if (this.isInverted()) {
|
|
197
|
-
return y.isInverted() || y.lo
|
|
193
|
+
return y.isInverted() || y.lo < (this.hi) || y.hi > (this.lo);
|
|
198
194
|
}
|
|
199
195
|
else {
|
|
200
196
|
if (y.isInverted()) {
|
|
201
|
-
return y.lo
|
|
197
|
+
return y.lo < (this.hi) || y.hi > (this.lo);
|
|
202
198
|
}
|
|
203
|
-
return (y.lo
|
|
199
|
+
return (y.lo < (this.hi) && y.hi > (this.lo)) || this.isFull();
|
|
204
200
|
}
|
|
205
|
-
}
|
|
201
|
+
}
|
|
206
202
|
/**
|
|
207
203
|
* Expand the interval by the minimum amount necessary so that it contains the
|
|
208
204
|
* given point "p" (an angle in the range [-Pi, Pi]).
|
|
209
205
|
*/
|
|
210
|
-
|
|
211
|
-
|
|
206
|
+
addPoint(_p) {
|
|
207
|
+
let p = (_p);
|
|
212
208
|
// assert (Math.abs(p) <= S2.M_PI);
|
|
213
|
-
if (p
|
|
214
|
-
p =
|
|
209
|
+
if (p == (-S2_1.S2.M_PI)) {
|
|
210
|
+
p = (S2_1.S2.M_PI);
|
|
215
211
|
}
|
|
216
212
|
if (this.fastContains(p)) {
|
|
217
213
|
return new S1Interval(this.lo, this.hi);
|
|
@@ -221,45 +217,45 @@ var S1Interval = (function (_super) {
|
|
|
221
217
|
}
|
|
222
218
|
else {
|
|
223
219
|
// Compute distance from p to each endpoint.
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
if (dlo
|
|
220
|
+
const dlo = S1Interval.positiveDistance(p, this.lo);
|
|
221
|
+
const dhi = S1Interval.positiveDistance(this.hi, p);
|
|
222
|
+
if (dlo < (dhi)) {
|
|
227
223
|
return new S1Interval(p, this.hi);
|
|
228
224
|
}
|
|
229
225
|
else {
|
|
230
226
|
return new S1Interval(this.lo, p);
|
|
231
227
|
}
|
|
228
|
+
// Adding a point can never turn a non-full interval into a full one.
|
|
232
229
|
}
|
|
233
|
-
}
|
|
230
|
+
}
|
|
234
231
|
/**
|
|
235
232
|
* Return an interval that contains all points within a distance "radius" of
|
|
236
233
|
* a point in this interval. Note that the expansion of an empty interval is
|
|
237
234
|
* always empty. The radius must be non-negative.
|
|
238
235
|
*/
|
|
239
|
-
|
|
240
|
-
var radius = S2_1.S2.toDecimal(_radius);
|
|
236
|
+
expanded(radius) {
|
|
241
237
|
// assert (radius >= 0);
|
|
242
238
|
if (this.isEmpty()) {
|
|
243
239
|
return this;
|
|
244
240
|
}
|
|
245
241
|
// Check whether this interval will be full after expansion, allowing
|
|
246
242
|
// for a 1-bit rounding error when computing each endpoint.
|
|
247
|
-
if (this.getLength()
|
|
243
|
+
if (this.getLength() + (radius * 2) >= (2 * S2_1.S2.M_PI - 1e-15)) {
|
|
248
244
|
return S1Interval.full();
|
|
249
245
|
}
|
|
250
246
|
// NOTE(dbeaumont): Should this remainder be 2 * M_PI or just M_PI ??
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
if (lo
|
|
254
|
-
lo =
|
|
247
|
+
let lo = Platform_1.Platform.IEEEremainder(this.lo - (radius), 2 * S2_1.S2.M_PI);
|
|
248
|
+
const hi = Platform_1.Platform.IEEEremainder(this.hi + (radius), 2 * S2_1.S2.M_PI);
|
|
249
|
+
if (lo == (-S2_1.S2.M_PI)) {
|
|
250
|
+
lo = (S2_1.S2.M_PI);
|
|
255
251
|
}
|
|
256
252
|
return new S1Interval(lo, hi);
|
|
257
|
-
}
|
|
253
|
+
}
|
|
258
254
|
/**
|
|
259
255
|
* Return the smallest interval that contains this interval and the given
|
|
260
256
|
* interval "y".
|
|
261
257
|
*/
|
|
262
|
-
|
|
258
|
+
union(y) {
|
|
263
259
|
// The y.is_full() case is handled correctly in all cases by the code
|
|
264
260
|
// below, but can follow three separate code paths depending on whether
|
|
265
261
|
// this interval is inverted, is non-inverted but contains Pi, or neither.
|
|
@@ -286,21 +282,21 @@ var S1Interval = (function (_super) {
|
|
|
286
282
|
return y;
|
|
287
283
|
}
|
|
288
284
|
// Check which pair of endpoints are closer together.
|
|
289
|
-
|
|
290
|
-
|
|
285
|
+
const dlo = S1Interval.positiveDistance(y.hi, this.lo);
|
|
286
|
+
const dhi = S1Interval.positiveDistance(this.hi, y.lo);
|
|
291
287
|
if (dlo < dhi) {
|
|
292
288
|
return new S1Interval(y.lo, this.hi, true);
|
|
293
289
|
}
|
|
294
290
|
else {
|
|
295
291
|
return new S1Interval(this.lo, y.hi, true);
|
|
296
292
|
}
|
|
297
|
-
}
|
|
293
|
+
}
|
|
298
294
|
/**
|
|
299
295
|
* Return the smallest interval that contains the intersection of this
|
|
300
296
|
* interval with "y". Note that the region of intersection may consist of two
|
|
301
297
|
* disjoint intervals.
|
|
302
298
|
*/
|
|
303
|
-
|
|
299
|
+
intersection(y) {
|
|
304
300
|
// The y.is_full() case is handled correctly in all cases by the code
|
|
305
301
|
// below, but can follow three separate code paths depending on whether
|
|
306
302
|
// this interval is inverted, is non-inverted but contains Pi, or neither.
|
|
@@ -312,7 +308,7 @@ var S1Interval = (function (_super) {
|
|
|
312
308
|
// Either this interval contains y, or the region of intersection
|
|
313
309
|
// consists of two disjoint subintervals. In either case, we want
|
|
314
310
|
// to return the shorter of the two original intervals.
|
|
315
|
-
if (y.getLength()
|
|
311
|
+
if (y.getLength() < (this.getLength())) {
|
|
316
312
|
return y; // is_full() code path
|
|
317
313
|
}
|
|
318
314
|
return this;
|
|
@@ -329,76 +325,74 @@ var S1Interval = (function (_super) {
|
|
|
329
325
|
}
|
|
330
326
|
// assert (!intersects(y));
|
|
331
327
|
return S1Interval.empty();
|
|
332
|
-
}
|
|
328
|
+
}
|
|
333
329
|
/**
|
|
334
330
|
* Return true if the length of the symmetric difference between the two
|
|
335
331
|
* intervals is at most the given tolerance.
|
|
336
332
|
*/
|
|
337
|
-
|
|
338
|
-
if (maxError === void 0) { maxError = 1e-9; }
|
|
333
|
+
approxEquals(y, maxError = 1e-9) {
|
|
339
334
|
if (this.isEmpty()) {
|
|
340
|
-
return y.getLength()
|
|
335
|
+
return y.getLength() <= (maxError);
|
|
341
336
|
}
|
|
342
337
|
if (y.isEmpty()) {
|
|
343
|
-
return this.getLength()
|
|
338
|
+
return this.getLength() <= (maxError);
|
|
344
339
|
}
|
|
345
|
-
return
|
|
346
|
-
.
|
|
347
|
-
|
|
348
|
-
}
|
|
349
|
-
|
|
340
|
+
return Math.abs(Platform_1.Platform.IEEEremainder(y.lo - (this.lo), 2 * S2_1.S2.M_PI))
|
|
341
|
+
+ (Math.abs(Platform_1.Platform.IEEEremainder(y.hi - (this.hi), 2 * S2_1.S2.M_PI)))
|
|
342
|
+
<= (maxError);
|
|
343
|
+
}
|
|
344
|
+
static empty() {
|
|
350
345
|
return new S1Interval(S2_1.S2.M_PI, -S2_1.S2.M_PI, true);
|
|
351
|
-
}
|
|
352
|
-
|
|
346
|
+
}
|
|
347
|
+
static full() {
|
|
353
348
|
return new S1Interval(-S2_1.S2.M_PI, S2_1.S2.M_PI, true);
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
if (p
|
|
358
|
-
p =
|
|
349
|
+
}
|
|
350
|
+
static fromPoint(_p) {
|
|
351
|
+
let p = (_p);
|
|
352
|
+
if (p == (-S2_1.S2.M_PI)) {
|
|
353
|
+
p = (S2_1.S2.M_PI);
|
|
359
354
|
}
|
|
360
355
|
return new S1Interval(p, p, true);
|
|
361
|
-
}
|
|
356
|
+
}
|
|
362
357
|
/**
|
|
363
358
|
* Convenience method to construct the minimal interval containing the two
|
|
364
359
|
* given points. This is equivalent to starting with an empty interval and
|
|
365
360
|
* calling AddPoint() twice, but it is more efficient.
|
|
366
361
|
*/
|
|
367
|
-
|
|
362
|
+
static fromPointPair(_p1, _p2) {
|
|
368
363
|
// assert (Math.abs(p1) <= S2.M_PI && Math.abs(p2) <= S2.M_PI);
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
if (p1
|
|
372
|
-
p1 =
|
|
364
|
+
let p1 = (_p1);
|
|
365
|
+
let p2 = (_p2);
|
|
366
|
+
if (p1 == (-S2_1.S2.M_PI)) {
|
|
367
|
+
p1 = (S2_1.S2.M_PI);
|
|
373
368
|
}
|
|
374
|
-
if (p2
|
|
375
|
-
p2 =
|
|
369
|
+
if (p2 == (-S2_1.S2.M_PI)) {
|
|
370
|
+
p2 = (S2_1.S2.M_PI);
|
|
376
371
|
}
|
|
377
|
-
if (S1Interval.positiveDistance(p1, p2)
|
|
372
|
+
if (S1Interval.positiveDistance(p1, p2) <= (S2_1.S2.M_PI)) {
|
|
378
373
|
return new S1Interval(p1, p2, true);
|
|
379
374
|
}
|
|
380
375
|
else {
|
|
381
376
|
return new S1Interval(p2, p1, true);
|
|
382
377
|
}
|
|
383
|
-
}
|
|
378
|
+
}
|
|
384
379
|
/**
|
|
385
380
|
* Compute the distance from "a" to "b" in the range [0, 2*Pi). This is
|
|
386
381
|
* equivalent to (drem(b - a - S2.M_PI, 2 * S2.M_PI) + S2.M_PI), except that
|
|
387
382
|
* it is more numerically stable (it does not lose precision for very small
|
|
388
383
|
* positive distances).
|
|
389
384
|
*/
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
if (d
|
|
385
|
+
static positiveDistance(_a, _b) {
|
|
386
|
+
const a = (_a);
|
|
387
|
+
const b = (_b);
|
|
388
|
+
const d = b - (a);
|
|
389
|
+
if (d >= (0)) {
|
|
395
390
|
return d;
|
|
396
391
|
}
|
|
397
392
|
// We want to ensure that if b == Pi and a == (-Pi + eps),
|
|
398
393
|
// the return result is approximately 2*Pi and not zero.
|
|
399
|
-
return b
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
}(Interval_1.Interval));
|
|
394
|
+
return b + (S2_1.S2.M_PI) - (a - (S2_1.S2.M_PI));
|
|
395
|
+
}
|
|
396
|
+
}
|
|
403
397
|
exports.S1Interval = S1Interval;
|
|
404
398
|
//# sourceMappingURL=S1Interval.js.map
|
package/dist/S1Interval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S1Interval.js","sourceRoot":"","sources":["../src/S1Interval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"S1Interval.js","sourceRoot":"","sources":["../src/S1Interval.ts"],"names":[],"mappings":"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"}
|
package/dist/S2.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="decimal.js" />
|
|
2
1
|
import { S2Point } from "./S2Point";
|
|
3
2
|
import { S2Metric } from "./S2Metric";
|
|
4
3
|
export declare class S2 {
|
|
@@ -14,9 +13,10 @@ export declare class S2 {
|
|
|
14
13
|
private static EXPONENT_MASK;
|
|
15
14
|
/** Mapping from cell orientation + Hilbert traversal to IJ-index. */
|
|
16
15
|
static POS_TO_ORIENTATION: number[];
|
|
16
|
+
static DBL_EPSILON: number;
|
|
17
17
|
static POS_TO_IJ: number[][];
|
|
18
18
|
static MAX_LEVEL: number;
|
|
19
|
-
static IEEEremainder(
|
|
19
|
+
static IEEEremainder(f1: number, f2: number): number;
|
|
20
20
|
/**
|
|
21
21
|
* Return true if the given point is approximately unit length (this is mainly
|
|
22
22
|
* useful for assertions).
|
|
@@ -57,14 +57,13 @@ export declare class S2 {
|
|
|
57
57
|
* becomes numerically unstable as the length of any edge approaches 180
|
|
58
58
|
* degrees.
|
|
59
59
|
*/
|
|
60
|
-
static area(a: S2Point, b: S2Point, c: S2Point):
|
|
60
|
+
static area(a: S2Point, b: S2Point, c: S2Point): number;
|
|
61
61
|
/**
|
|
62
62
|
* Return the area of the triangle computed using Girard's formula. This is
|
|
63
63
|
* slightly faster than the Area() method above is not accurate for very small
|
|
64
64
|
* triangles.
|
|
65
65
|
*/
|
|
66
|
-
static girardArea(a: S2Point, b: S2Point, c: S2Point):
|
|
67
|
-
static toDecimal(value: number | decimal.Decimal | string): decimal.Decimal;
|
|
66
|
+
static girardArea(a: S2Point, b: S2Point, c: S2Point): number;
|
|
68
67
|
/**
|
|
69
68
|
* Return true if the points A, B, C are strictly counterclockwise. Return
|
|
70
69
|
* false if the points are clockwise or colinear (i.e. if they are all
|
|
@@ -88,6 +87,10 @@ export declare class S2 {
|
|
|
88
87
|
* SimpleCrossing(c,d,a,b) == SimpleCrossing(a,b,c,d)
|
|
89
88
|
*/
|
|
90
89
|
static simpleCrossing(a: S2Point, b: S2Point, c: S2Point, d: S2Point): boolean;
|
|
90
|
+
static approxEqualsPointError(a: S2Point, b: S2Point, maxError: number): boolean;
|
|
91
|
+
static approxEqualsPoint(a: S2Point, b: S2Point): boolean;
|
|
92
|
+
static approxEqualsNumberError(a: number, b: number, maxError: number): boolean;
|
|
93
|
+
static approxEqualsNumber(a: number, b: number): boolean;
|
|
91
94
|
static Metric: typeof S2Metric;
|
|
92
95
|
}
|
|
93
96
|
export { S2Metric };
|