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
|
@@ -1,587 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for R2Vector.ts</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="index.html">All files</a> R2Vector.ts
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">69.84% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>44/63</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">54.55% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>12/22</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">47.37% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>9/19</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">69.35% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>43/62</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div class='status-line medium'></div>
|
|
45
|
-
<pre><table class="coverage">
|
|
46
|
-
<tr><td class="line-count quiet">1
|
|
47
|
-
2
|
|
48
|
-
3
|
|
49
|
-
4
|
|
50
|
-
5
|
|
51
|
-
6
|
|
52
|
-
7
|
|
53
|
-
8
|
|
54
|
-
9
|
|
55
|
-
10
|
|
56
|
-
11
|
|
57
|
-
12
|
|
58
|
-
13
|
|
59
|
-
14
|
|
60
|
-
15
|
|
61
|
-
16
|
|
62
|
-
17
|
|
63
|
-
18
|
|
64
|
-
19
|
|
65
|
-
20
|
|
66
|
-
21
|
|
67
|
-
22
|
|
68
|
-
23
|
|
69
|
-
24
|
|
70
|
-
25
|
|
71
|
-
26
|
|
72
|
-
27
|
|
73
|
-
28
|
|
74
|
-
29
|
|
75
|
-
30
|
|
76
|
-
31
|
|
77
|
-
32
|
|
78
|
-
33
|
|
79
|
-
34
|
|
80
|
-
35
|
|
81
|
-
36
|
|
82
|
-
37
|
|
83
|
-
38
|
|
84
|
-
39
|
|
85
|
-
40
|
|
86
|
-
41
|
|
87
|
-
42
|
|
88
|
-
43
|
|
89
|
-
44
|
|
90
|
-
45
|
|
91
|
-
46
|
|
92
|
-
47
|
|
93
|
-
48
|
|
94
|
-
49
|
|
95
|
-
50
|
|
96
|
-
51
|
|
97
|
-
52
|
|
98
|
-
53
|
|
99
|
-
54
|
|
100
|
-
55
|
|
101
|
-
56
|
|
102
|
-
57
|
|
103
|
-
58
|
|
104
|
-
59
|
|
105
|
-
60
|
|
106
|
-
61
|
|
107
|
-
62
|
|
108
|
-
63
|
|
109
|
-
64
|
|
110
|
-
65
|
|
111
|
-
66
|
|
112
|
-
67
|
|
113
|
-
68
|
|
114
|
-
69
|
|
115
|
-
70
|
|
116
|
-
71
|
|
117
|
-
72
|
|
118
|
-
73
|
|
119
|
-
74
|
|
120
|
-
75
|
|
121
|
-
76
|
|
122
|
-
77
|
|
123
|
-
78
|
|
124
|
-
79
|
|
125
|
-
80
|
|
126
|
-
81
|
|
127
|
-
82
|
|
128
|
-
83
|
|
129
|
-
84
|
|
130
|
-
85
|
|
131
|
-
86
|
|
132
|
-
87
|
|
133
|
-
88
|
|
134
|
-
89
|
|
135
|
-
90
|
|
136
|
-
91
|
|
137
|
-
92
|
|
138
|
-
93
|
|
139
|
-
94
|
|
140
|
-
95
|
|
141
|
-
96
|
|
142
|
-
97
|
|
143
|
-
98
|
|
144
|
-
99
|
|
145
|
-
100
|
|
146
|
-
101
|
|
147
|
-
102
|
|
148
|
-
103
|
|
149
|
-
104
|
|
150
|
-
105
|
|
151
|
-
106
|
|
152
|
-
107
|
|
153
|
-
108
|
|
154
|
-
109
|
|
155
|
-
110
|
|
156
|
-
111
|
|
157
|
-
112
|
|
158
|
-
113
|
|
159
|
-
114
|
|
160
|
-
115
|
|
161
|
-
116
|
|
162
|
-
117
|
|
163
|
-
118
|
|
164
|
-
119
|
|
165
|
-
120
|
|
166
|
-
121
|
|
167
|
-
122
|
|
168
|
-
123
|
|
169
|
-
124
|
|
170
|
-
125
|
|
171
|
-
126
|
|
172
|
-
127
|
|
173
|
-
128
|
|
174
|
-
129
|
|
175
|
-
130
|
|
176
|
-
131
|
|
177
|
-
132
|
|
178
|
-
133
|
|
179
|
-
134
|
|
180
|
-
135
|
|
181
|
-
136
|
|
182
|
-
137
|
|
183
|
-
138
|
|
184
|
-
139
|
|
185
|
-
140
|
|
186
|
-
141
|
|
187
|
-
142
|
|
188
|
-
143
|
|
189
|
-
144
|
|
190
|
-
145
|
|
191
|
-
146
|
|
192
|
-
147
|
|
193
|
-
148
|
|
194
|
-
149
|
|
195
|
-
150
|
|
196
|
-
151
|
|
197
|
-
152
|
|
198
|
-
153
|
|
199
|
-
154
|
|
200
|
-
155
|
|
201
|
-
156
|
|
202
|
-
157
|
|
203
|
-
158
|
|
204
|
-
159
|
|
205
|
-
160
|
|
206
|
-
161
|
|
207
|
-
162
|
|
208
|
-
163
|
|
209
|
-
164
|
|
210
|
-
165
|
|
211
|
-
166
|
|
212
|
-
167
|
|
213
|
-
168
|
|
214
|
-
169
|
|
215
|
-
170
|
|
216
|
-
171
|
|
217
|
-
172
|
|
218
|
-
173
|
|
219
|
-
174
|
|
220
|
-
175</td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
221
|
-
<span class="cline-any cline-yes">1x</span>
|
|
222
|
-
<span class="cline-any cline-yes">1x</span>
|
|
223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-yes">1x</span>
|
|
231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-yes">4335x</span>
|
|
235
|
-
<span class="cline-any cline-yes">4335x</span>
|
|
236
|
-
<span class="cline-any cline-neutral"> </span>
|
|
237
|
-
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-yes">1x</span>
|
|
241
|
-
<span class="cline-any cline-yes">4335x</span>
|
|
242
|
-
<span class="cline-any cline-neutral"> </span>
|
|
243
|
-
<span class="cline-any cline-neutral"> </span>
|
|
244
|
-
<span class="cline-any cline-yes">1x</span>
|
|
245
|
-
<span class="cline-any cline-yes">4335x</span>
|
|
246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-neutral"> </span>
|
|
249
|
-
<span class="cline-any cline-yes">1x</span>
|
|
250
|
-
<span class="cline-any cline-no"> </span>
|
|
251
|
-
<span class="cline-any cline-no"> </span>
|
|
252
|
-
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-no"> </span>
|
|
254
|
-
<span class="cline-any cline-neutral"> </span>
|
|
255
|
-
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-yes">1x</span>
|
|
257
|
-
<span class="cline-any cline-no"> </span>
|
|
258
|
-
<span class="cline-any cline-neutral"> </span>
|
|
259
|
-
<span class="cline-any cline-yes">1x</span>
|
|
260
|
-
<span class="cline-any cline-no"> </span>
|
|
261
|
-
<span class="cline-any cline-neutral"> </span>
|
|
262
|
-
<span class="cline-any cline-neutral"> </span>
|
|
263
|
-
<span class="cline-any cline-yes">1x</span>
|
|
264
|
-
<span class="cline-any cline-no"> </span>
|
|
265
|
-
<span class="cline-any cline-no"> </span>
|
|
266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-neutral"> </span>
|
|
268
|
-
<span class="cline-any cline-yes">1x</span>
|
|
269
|
-
<span class="cline-any cline-no"> </span>
|
|
270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-yes">1x</span>
|
|
273
|
-
<span class="cline-any cline-no"> </span>
|
|
274
|
-
<span class="cline-any cline-neutral"> </span>
|
|
275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-yes">1x</span>
|
|
277
|
-
<span class="cline-any cline-no"> </span>
|
|
278
|
-
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-yes">1x</span>
|
|
281
|
-
<span class="cline-any cline-no"> </span>
|
|
282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
284
|
-
<span class="cline-any cline-yes">1x</span>
|
|
285
|
-
<span class="cline-any cline-no"> </span>
|
|
286
|
-
<span class="cline-any cline-no"> </span>
|
|
287
|
-
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
-
<span class="cline-any cline-no"> </span>
|
|
290
|
-
<span class="cline-any cline-neutral"> </span>
|
|
291
|
-
<span class="cline-any cline-no"> </span>
|
|
292
|
-
<span class="cline-any cline-no"> </span>
|
|
293
|
-
<span class="cline-any cline-neutral"> </span>
|
|
294
|
-
<span class="cline-any cline-no"> </span>
|
|
295
|
-
<span class="cline-any cline-neutral"> </span>
|
|
296
|
-
<span class="cline-any cline-neutral"> </span>
|
|
297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-neutral"> </span>
|
|
299
|
-
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-neutral"> </span>
|
|
309
|
-
<span class="cline-any cline-neutral"> </span>
|
|
310
|
-
<span class="cline-any cline-neutral"> </span>
|
|
311
|
-
<span class="cline-any cline-neutral"> </span>
|
|
312
|
-
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-neutral"> </span>
|
|
315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-neutral"> </span>
|
|
318
|
-
<span class="cline-any cline-neutral"> </span>
|
|
319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-yes">1x</span>
|
|
321
|
-
<span class="cline-any cline-yes">845x</span>
|
|
322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
329
|
-
<span class="cline-any cline-yes">1x</span>
|
|
330
|
-
<span class="cline-any cline-yes">3042x</span>
|
|
331
|
-
<span class="cline-any cline-yes">3042x</span>
|
|
332
|
-
<span class="cline-any cline-yes">1638x</span>
|
|
333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-neutral"> </span>
|
|
335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-yes">1404x</span>
|
|
340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-yes">1x</span>
|
|
351
|
-
<span class="cline-any cline-yes">1014x</span>
|
|
352
|
-
<span class="cline-any cline-yes">1014x</span>
|
|
353
|
-
<span class="cline-any cline-yes">546x</span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-yes">468x</span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-neutral"> </span>
|
|
369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-yes">1x</span>
|
|
371
|
-
<span class="cline-any cline-yes">3097x</span>
|
|
372
|
-
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-yes">321x</span>
|
|
374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-yes">321x</span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-yes">841x</span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
379
|
-
<span class="cline-any cline-yes">452x</span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-yes">321x</span>
|
|
382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-yes">841x</span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-yes">1x</span>
|
|
388
|
-
<span class="cline-any cline-yes">338x</span>
|
|
389
|
-
<span class="cline-any cline-neutral"> </span>
|
|
390
|
-
<span class="cline-any cline-yes">1x</span>
|
|
391
|
-
<span class="cline-any cline-no"> </span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-yes">1x</span></td><td class="text"><pre class="prettyprint lang-js">import {S2Point} from "./S2Point";
|
|
395
|
-
import {Decimal} from './decimal';
|
|
396
|
-
import {S2} from "./S2";
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* R2Vector represents a vector in the two-dimensional space. It defines the
|
|
400
|
-
* basic geometrical operations for 2D vectors, e.g. cross product, addition,
|
|
401
|
-
* norm, comparison etc.
|
|
402
|
-
*
|
|
403
|
-
*/
|
|
404
|
-
export class R2Vector {
|
|
405
|
-
private _x: decimal.Decimal;
|
|
406
|
-
private _y: decimal.Decimal;
|
|
407
|
-
constructor(_x:number|decimal.Decimal, _y:number|decimal.Decimal) {
|
|
408
|
-
this._x = new Decimal(_x) as decimal.Decimal;
|
|
409
|
-
this._y = new Decimal(_y) as decimal.Decimal;
|
|
410
|
-
// this._x = new Decimal(_x) as decimal.Decimal;
|
|
411
|
-
// this._y = new Decimal(_y) as decimal.Decimal;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
get x() {
|
|
415
|
-
return this._x;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
get y() {
|
|
419
|
-
return this._y;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
<span class="fstat-no" title="function not covered" > public get(</span>index:number):decimal.Decimal{
|
|
424
|
-
<span class="cstat-no" title="statement not covered" > if (index > 1) {</span>
|
|
425
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Index out fo bounds error ${index}`);</span>
|
|
426
|
-
}
|
|
427
|
-
<span class="cstat-no" title="statement not covered" > return index == 0 ? this._x : this._y;</span>
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
<span class="fstat-no" title="function not covered" > static fromPointFace(</span>p:S2Point, face:number): R2Vector {
|
|
431
|
-
<span class="cstat-no" title="statement not covered" > return p.toR2Vector(face);</span>
|
|
432
|
-
}
|
|
433
|
-
<span class="fstat-no" title="function not covered" > public static add(</span>p1:R2Vector, p2:R2Vector):R2Vector {
|
|
434
|
-
<span class="cstat-no" title="statement not covered" > return new R2Vector(p1._x.plus(p2._x), p1._y.plus(p2._y));</span>
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
<span class="fstat-no" title="function not covered" > public static mul(</span>p:R2Vector, _m:number|decimal.Decimal):R2Vector {
|
|
438
|
-
const m:decimal.Decimal = <span class="cstat-no" title="statement not covered" >new Decimal(_m) as decimal.Decimal;</span>
|
|
439
|
-
<span class="cstat-no" title="statement not covered" > return new R2Vector(m.times(p._x), m.times(p._y));</span>
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
<span class="fstat-no" title="function not covered" > public norm2():decimal.Decimal {</span>
|
|
443
|
-
<span class="cstat-no" title="statement not covered" > return this.x.pow(2).plus(this.y.pow(2));</span>
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
<span class="fstat-no" title="function not covered" > public static dotProd(</span>p1:R2Vector, p2:R2Vector):decimal.Decimal {
|
|
447
|
-
<span class="cstat-no" title="statement not covered" > return p1.x.times(p2.x).plus(p1.y.times(p2.y));</span>
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
<span class="fstat-no" title="function not covered" > public dotProd(</span>that:R2Vector):decimal.Decimal {
|
|
451
|
-
<span class="cstat-no" title="statement not covered" > return R2Vector.dotProd(this, that);</span>
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
<span class="fstat-no" title="function not covered" > public crossProd(</span>that:R2Vector):decimal.Decimal {
|
|
455
|
-
<span class="cstat-no" title="statement not covered" > return this.x.times(that.y).minus(this.y.times(that.x));</span>
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
<span class="fstat-no" title="function not covered" > public lessThan(</span>vb:R2Vector):boolean {
|
|
459
|
-
<span class="cstat-no" title="statement not covered" > if (this.x.lt(vb.x)) {</span>
|
|
460
|
-
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
461
|
-
}
|
|
462
|
-
<span class="cstat-no" title="statement not covered" > if (vb.x.lt(this.x)) {</span>
|
|
463
|
-
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
464
|
-
}
|
|
465
|
-
<span class="cstat-no" title="statement not covered" > if (this.y.lt(vb.y)) {</span>
|
|
466
|
-
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
467
|
-
}
|
|
468
|
-
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
//
|
|
472
|
-
// @Override
|
|
473
|
-
// public boolean equals(Object that) {
|
|
474
|
-
// if (!(that instanceof R2Vector)) {
|
|
475
|
-
// return false;
|
|
476
|
-
// }
|
|
477
|
-
// R2Vector thatPoint = (R2Vector) that;
|
|
478
|
-
// return this.x == thatPoint.x && this.y == thatPoint.y;
|
|
479
|
-
// }
|
|
480
|
-
|
|
481
|
-
// /**
|
|
482
|
-
// * Calcualates hashcode based on stored coordinates. Since we want +0.0 and
|
|
483
|
-
// * -0.0 to be treated the same, we ignore the sign of the coordinates.
|
|
484
|
-
// */
|
|
485
|
-
// @Override
|
|
486
|
-
// public int hashCode() {
|
|
487
|
-
// long value = 17;
|
|
488
|
-
// value += 37 * value + Double.doubleToLongBits(Math.abs(x));
|
|
489
|
-
// value += 37 * value + Double.doubleToLongBits(Math.abs(y));
|
|
490
|
-
// return (int) (value ^ (value >>> 32));
|
|
491
|
-
// }
|
|
492
|
-
//
|
|
493
|
-
|
|
494
|
-
public static fromSTVector(stVector: R2Vector):R2Vector{
|
|
495
|
-
return new R2Vector(
|
|
496
|
-
R2Vector.singleStTOUV(stVector.x),
|
|
497
|
-
R2Vector.singleStTOUV(stVector.y)
|
|
498
|
-
);
|
|
499
|
-
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
// from S2Projections.stToUV (QUADRATIC)
|
|
503
|
-
public static singleStTOUV(_s:number|decimal.Decimal):decimal.Decimal {
|
|
504
|
-
const s = S2.toDecimal(_s);
|
|
505
|
-
if (s.gte(0)) {
|
|
506
|
-
return S2.toDecimal(1)
|
|
507
|
-
.dividedBy(3)
|
|
508
|
-
.times(
|
|
509
|
-
s.plus(1).pow(2).minus(1)
|
|
510
|
-
);
|
|
511
|
-
// return (1 / 3.) * ((1 + s) * (1 + s) - 1);
|
|
512
|
-
} else {
|
|
513
|
-
return S2.toDecimal(1)
|
|
514
|
-
.dividedBy(3)
|
|
515
|
-
.times(
|
|
516
|
-
S2.toDecimal(1)
|
|
517
|
-
.minus(S2.toDecimal(1).minus(s).pow(2)
|
|
518
|
-
)
|
|
519
|
-
);
|
|
520
|
-
// return (1 / 3.) * (1 - (1 - s) * (1 - s));
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
}
|
|
524
|
-
public static singleUVToST(_x:number|decimal.Decimal) {
|
|
525
|
-
const x = S2.toDecimal(_x);
|
|
526
|
-
if (x.gte(0)) {
|
|
527
|
-
return Decimal.sqrt(x.times(3).plus(1)).minus(1);
|
|
528
|
-
} else {
|
|
529
|
-
return S2.toDecimal(1)
|
|
530
|
-
.minus(
|
|
531
|
-
Decimal.sqrt(
|
|
532
|
-
S2.toDecimal(1).minus(x.times(3)
|
|
533
|
-
)
|
|
534
|
-
)
|
|
535
|
-
)
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
/**
|
|
540
|
-
* To be used only if this vector is representing uv.
|
|
541
|
-
* @param face
|
|
542
|
-
* @returns {S2Point}
|
|
543
|
-
*/
|
|
544
|
-
public toPoint(face:number) {
|
|
545
|
-
switch (face) {
|
|
546
|
-
case 0:
|
|
547
|
-
return new S2Point(1, this.x, this.y);
|
|
548
|
-
case 1:
|
|
549
|
-
return new S2Point(this.x.neg(), 1, this.y);
|
|
550
|
-
case 2:
|
|
551
|
-
return new S2Point(this.x.neg(), this.y.neg(), 1);
|
|
552
|
-
case 3:
|
|
553
|
-
return new S2Point(-1, this.y.neg(), this.x.neg());
|
|
554
|
-
case 4:
|
|
555
|
-
return new S2Point(this.y, -1, this.x.neg());
|
|
556
|
-
default:
|
|
557
|
-
return new S2Point(this.y, this.x, -1);
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
public toSt(which) {
|
|
562
|
-
return which == 0?R2Vector.singleUVToST(this.x): R2Vector.singleUVToST(this.y);
|
|
563
|
-
}
|
|
564
|
-
<span class="fstat-no" title="function not covered" > public toString():string {</span>
|
|
565
|
-
<span class="cstat-no" title="statement not covered" > return "(" + this.x.toString() + ", " + this.y.toString() + ")";</span>
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
}</pre></td></tr>
|
|
569
|
-
</table></pre>
|
|
570
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
571
|
-
</div><!-- /wrapper -->
|
|
572
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
573
|
-
Code coverage
|
|
574
|
-
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Sep 28 2016 14:48:27 GMT+0200 (CEST)
|
|
575
|
-
</div>
|
|
576
|
-
</div>
|
|
577
|
-
<script src="prettify.js"></script>
|
|
578
|
-
<script>
|
|
579
|
-
window.onload = function () {
|
|
580
|
-
if (typeof prettyPrint === 'function') {
|
|
581
|
-
prettyPrint();
|
|
582
|
-
}
|
|
583
|
-
};
|
|
584
|
-
</script>
|
|
585
|
-
<script src="sorter.js"></script>
|
|
586
|
-
</body>
|
|
587
|
-
</html>
|