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.
Files changed (105) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.cjs +11 -0
  3. package/.github/workflows/lint.js.yml +22 -0
  4. package/.github/workflows/node.js.yml +22 -0
  5. package/.mocharc.js +7 -0
  6. package/README.md +22 -5
  7. package/dist/Interval.d.ts +7 -8
  8. package/dist/Interval.js +12 -12
  9. package/dist/Interval.js.map +1 -1
  10. package/dist/MutableInteger.js +5 -4
  11. package/dist/MutableInteger.js.map +1 -1
  12. package/dist/Platform.d.ts +15 -0
  13. package/dist/Platform.js +53 -0
  14. package/dist/Platform.js.map +1 -0
  15. package/dist/R1Interval.d.ts +8 -9
  16. package/dist/R1Interval.js +59 -78
  17. package/dist/R1Interval.js.map +1 -1
  18. package/dist/R2Vector.d.ts +12 -13
  19. package/dist/R2Vector.js +65 -85
  20. package/dist/R2Vector.js.map +1 -1
  21. package/dist/S1Angle.d.ts +38 -5
  22. package/dist/S1Angle.js +89 -37
  23. package/dist/S1Angle.js.map +1 -1
  24. package/dist/S1ChordAngle.d.ts +166 -0
  25. package/dist/S1ChordAngle.js +318 -0
  26. package/dist/S1ChordAngle.js.map +1 -0
  27. package/dist/S1Interval.d.ts +11 -12
  28. package/dist/S1Interval.js +134 -140
  29. package/dist/S1Interval.js.map +1 -1
  30. package/dist/S2.d.ts +8 -5
  31. package/dist/S2.js +91 -108
  32. package/dist/S2.js.map +1 -1
  33. package/dist/S2Cap.d.ts +33 -25
  34. package/dist/S2Cap.js +199 -203
  35. package/dist/S2Cap.js.map +1 -1
  36. package/dist/S2Cell.d.ts +15 -13
  37. package/dist/S2Cell.js +196 -206
  38. package/dist/S2Cell.js.map +1 -1
  39. package/dist/S2CellId.d.ts +37 -14
  40. package/dist/S2CellId.js +407 -359
  41. package/dist/S2CellId.js.map +1 -1
  42. package/dist/S2CellUnion.d.ts +1 -2
  43. package/dist/S2CellUnion.js +137 -133
  44. package/dist/S2CellUnion.js.map +1 -1
  45. package/dist/S2EdgeUtil.js +14 -17
  46. package/dist/S2EdgeUtil.js.map +1 -1
  47. package/dist/S2LatLng.d.ts +15 -11
  48. package/dist/S2LatLng.js +100 -114
  49. package/dist/S2LatLng.js.map +1 -1
  50. package/dist/S2LatLngRect.d.ts +8 -4
  51. package/dist/S2LatLngRect.js +215 -197
  52. package/dist/S2LatLngRect.js.map +1 -1
  53. package/dist/S2Metric.d.ts +4 -5
  54. package/dist/S2Metric.js +30 -27
  55. package/dist/S2Metric.js.map +1 -1
  56. package/dist/S2Point.d.ts +48 -14
  57. package/dist/S2Point.js +156 -109
  58. package/dist/S2Point.js.map +1 -1
  59. package/dist/S2Projections.d.ts +43 -9
  60. package/dist/S2Projections.js +226 -47
  61. package/dist/S2Projections.js.map +1 -1
  62. package/dist/S2Region.js +2 -1
  63. package/dist/S2Region.js.map +1 -1
  64. package/dist/S2RegionCoverer.d.ts +21 -6
  65. package/dist/S2RegionCoverer.js +144 -109
  66. package/dist/S2RegionCoverer.js.map +1 -1
  67. package/dist/export.d.ts +0 -1
  68. package/dist/export.js +42 -32
  69. package/dist/export.js.map +1 -1
  70. package/dist/utils/preconditions.d.ts +2 -0
  71. package/dist/utils/preconditions.js +16 -0
  72. package/dist/utils/preconditions.js.map +1 -0
  73. package/package.json +28 -34
  74. package/.npmignore +0 -8
  75. package/.nyc_output/1eb1f420a13c15f529aac41a40bcaa21.json +0 -1
  76. package/.nyc_output/5ff62256eb1c111254ba0b469fb547da.json +0 -1
  77. package/.nyc_output/949d6e8c2061067f3bdfd27dfff5ba83.json +0 -1
  78. package/coverage/Interval.ts.html +0 -203
  79. package/coverage/MutableInteger.ts.html +0 -77
  80. package/coverage/R1Interval.ts.html +0 -647
  81. package/coverage/R2Vector.ts.html +0 -587
  82. package/coverage/S1Angle.ts.html +0 -344
  83. package/coverage/S1Interval.ts.html +0 -1349
  84. package/coverage/S2.ts.html +0 -1178
  85. package/coverage/S2Cap.ts.html +0 -1433
  86. package/coverage/S2Cell.ts.html +0 -1415
  87. package/coverage/S2CellId.ts.html +0 -3329
  88. package/coverage/S2EdgeUtil.ts.html +0 -2534
  89. package/coverage/S2LatLng.ts.html +0 -848
  90. package/coverage/S2LatLngRect.ts.html +0 -2222
  91. package/coverage/S2Point.ts.html +0 -758
  92. package/coverage/S2Projections.ts.html +0 -518
  93. package/coverage/base.css +0 -212
  94. package/coverage/decimal.ts.html +0 -68
  95. package/coverage/index.html +0 -288
  96. package/coverage/prettify.css +0 -1
  97. package/coverage/prettify.js +0 -1
  98. package/coverage/sort-arrow-sprite.png +0 -0
  99. package/coverage/sorter.js +0 -158
  100. package/dist/decimal.d.ts +0 -3
  101. package/dist/decimal.js +0 -4
  102. package/dist/decimal.js.map +0 -1
  103. package/dist/decimal_augmentation.d.ts +0 -24
  104. package/dist/decimal_augmentation.js +0 -2
  105. package/dist/decimal_augmentation.js.map +0 -1
package/dist/S2Point.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Copyright 2006 Google Inc.
3
4
  *
@@ -13,10 +14,9 @@
13
14
  * See the License for the specific language governing permissions and
14
15
  * limitations under the License.
15
16
  */
16
- "use strict";
17
- var R2Vector_1 = require("./R2Vector");
18
- var Decimal = require('decimal.js');
19
- var S2_1 = require("./S2");
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.S2Point = void 0;
19
+ const R2Vector_1 = require("./R2Vector");
20
20
  ///re
21
21
  /**
22
22
  * An S2Point represents a point on the unit sphere as a 3D vector. Usually
@@ -24,51 +24,77 @@ var S2_1 = require("./S2");
24
24
  * this.
25
25
  *
26
26
  */
27
- var S2Point = (function () {
28
- function S2Point(x, y, z) {
29
- this.x = new Decimal(x);
30
- this.y = new Decimal(y);
31
- this.z = new Decimal(z);
32
- // this.y = typeof(y) === 'number'?new decimal.Decimal(y):y as decimal.Decimal;
33
- // this.z = typeof(z) === 'number'?new decimal.Decimal(z):z as decimal.Decimal;
34
- }
35
- S2Point.minus = function (p1, p2) {
27
+ class S2Point {
28
+ constructor(x, y, z) {
29
+ this.x = (x);
30
+ this.y = (y);
31
+ this.z = (z);
32
+ // this.y = typeof(y) === 'number'?new Decimal(y):y as Decimal;
33
+ // this.z = typeof(z) === 'number'?new Decimal(z):z as Decimal;
34
+ }
35
+ static minus(p1, p2) {
36
36
  return S2Point.sub(p1, p2);
37
- };
38
- S2Point.neg = function (p) {
39
- return new S2Point(p.x.negated(), p.y.negated(), p.z.negated());
40
- };
41
- S2Point.prototype.norm2 = function () {
42
- return this.x.pow(2).plus(this.y.pow(2)).plus(this.z.pow(2));
43
- };
44
- S2Point.prototype.norm = function () {
45
- return this.norm2().sqrt();
46
- };
47
- S2Point.crossProd = function (p1, p2) {
48
- return new S2Point(p1.y.times(p2.z).minus(p1.z.times(p2.y)), p1.z.times(p2.x).minus(p1.x.times(p2.z)),
37
+ }
38
+ static neg(p) {
39
+ return new S2Point(p.x * -1, p.y * -1, p.z * -1);
40
+ }
41
+ norm2() {
42
+ return Math.pow(this.x, 2) + Math.pow(this.y, 2) + Math.pow(this.z, 2);
43
+ }
44
+ norm() {
45
+ return Math.sqrt(this.norm2());
46
+ }
47
+ static crossProd(p1, p2) {
48
+ return new S2Point(p1.y * (p2.z) - (p1.z * (p2.y)), p1.z * (p2.x) - (p1.x * (p2.z)),
49
49
  // p1.z * p2.x - p1.x * p2.z,
50
- p1.x.times(p2.y).minus(p1.y.times(p2.x)));
51
- };
52
- S2Point.add = function (p1, p2) {
53
- return new S2Point(p1.x.add(p2.x), p1.y.add(p2.y), p1.z.add(p2.z));
54
- };
55
- S2Point.sub = function (p1, p2) {
56
- return new S2Point(p1.x.sub(p2.x), p1.y.sub(p2.y), p1.z.sub(p2.z));
57
- };
58
- S2Point.prototype.dotProd = function (that) {
59
- return this.x.times(that.x).plus(this.y.times(that.y)).plus(this.z.times(that.z));
60
- };
61
- S2Point.mul = function (p, m) {
62
- var mD = new Decimal(m);
63
- return new S2Point(mD.times(p.x), mD.times(p.y), mD.times(p.z));
64
- };
65
- S2Point.div = function (p, m) {
66
- return new S2Point(p.x.div(m), p.y.div(m), p.z.div(m));
67
- };
50
+ p1.x * (p2.y) - (p1.y * (p2.x))
51
+ // p1.x * p2.y - p1.y * p2.x
52
+ );
53
+ }
54
+ static add(p1, p2) {
55
+ return new S2Point(p1.x + p2.x, p1.y + p2.y, p1.z + p2.z);
56
+ }
57
+ static sub(p1, p2) {
58
+ return new S2Point(p1.x - p2.x, p1.y - p2.y, p1.z - p2.z);
59
+ }
60
+ dotProd(that) {
61
+ return this.x * (that.x) + (this.y * that.y) + (this.z * (that.z));
62
+ }
63
+ static mul(p, m) {
64
+ return new S2Point(m * (p.x), m * (p.y), m * (p.z));
65
+ }
66
+ static div(p, m) {
67
+ return new S2Point(p.x / (m), p.y / (m), p.z / (m));
68
+ }
69
+ /**
70
+ * Returns the distance in 3D coordinates from this to that.
71
+ *
72
+ * <p>Equivalent to {@code a.sub(b).norm()}, but significantly faster.
73
+ *
74
+ * <p>If ordering points by angle, this is faster than {@link #norm}, and much faster than {@link
75
+ * #angle}, but consider using {@link S1ChordAngle}.
76
+ */
77
+ getDistance(that) {
78
+ return Math.sqrt(this.getDistance2(that));
79
+ }
80
+ /**
81
+ * Returns the square of the distance in 3D coordinates from this to that.
82
+ *
83
+ * <p>Equivalent to {@code getDistance(that)<sup>2</sup>}, but significantly faster.
84
+ *
85
+ * <p>If ordering points by angle, this is much faster than {@link #angle}, but consider using
86
+ * {@link S1ChordAngle}.
87
+ */
88
+ getDistance2(that) {
89
+ const dx = this.x - that.x;
90
+ const dy = this.y - that.y;
91
+ const dz = this.z - that.z;
92
+ return dx * dx + dy * dy + dz * dz;
93
+ }
68
94
  /** return a vector orthogonal to this one */
69
- S2Point.prototype.ortho = function () {
70
- var k = this.largestAbsComponent();
71
- var temp;
95
+ ortho() {
96
+ const k = this.largestAbsComponent();
97
+ let temp;
72
98
  if (k == 1) {
73
99
  temp = new S2Point(1, 0, 0);
74
100
  }
@@ -79,12 +105,17 @@ var S2Point = (function () {
79
105
  temp = new S2Point(0, 0, 1);
80
106
  }
81
107
  return S2Point.normalize(S2Point.crossProd(this, temp));
82
- };
108
+ }
83
109
  /** Return the index of the largest component fabs */
84
- S2Point.prototype.largestAbsComponent = function () {
85
- var temp = S2Point.fabs(this);
86
- if (temp.x.greaterThan(temp.y)) {
87
- if (temp.x.greaterThan(temp.z)) {
110
+ largestAbsComponent() {
111
+ return S2Point.largestAbsComponent(this.x, this.y, this.z);
112
+ }
113
+ static largestAbsComponent(x, y, z) {
114
+ const absX = Math.abs(x);
115
+ const absY = Math.abs(y);
116
+ const absZ = Math.abs(z);
117
+ if (absX > absY) {
118
+ if (absX > absZ) {
88
119
  return 0;
89
120
  }
90
121
  else {
@@ -92,112 +123,128 @@ var S2Point = (function () {
92
123
  }
93
124
  }
94
125
  else {
95
- if (temp.y.greaterThan(temp.z)) {
126
+ if (absY > absZ) {
96
127
  return 1;
97
128
  }
98
129
  else {
99
130
  return 2;
100
131
  }
101
132
  }
102
- };
103
- S2Point.fabs = function (p) {
104
- return new S2Point(p.x.abs(), p.y.abs(), p.z.abs());
105
- };
106
- S2Point.normalize = function (p) {
107
- var norm = p.norm();
108
- if (!norm.eq(0)) {
109
- norm = S2_1.S2.toDecimal(1).dividedBy(norm);
133
+ }
134
+ get(axis) {
135
+ return (axis == 0) ? this.x : (axis == 1) ? this.y : this.z;
136
+ }
137
+ static fabs(p) {
138
+ return new S2Point(Math.abs(p.x), Math.abs(p.y), Math.abs(p.z));
139
+ }
140
+ /** Returns a copy of 'p' rescaled to be unit-length. */
141
+ static normalize(p) {
142
+ let norm = p.norm();
143
+ if (norm != 0) {
144
+ norm = 1 / norm;
110
145
  }
111
146
  return S2Point.mul(p, norm);
112
- };
113
- S2Point.prototype.axis = function (axis) {
147
+ }
148
+ axis(axis) {
114
149
  return (axis == 0) ? this.x : (axis == 1) ? this.y : this.z;
115
- };
150
+ }
116
151
  /** Return the angle between two vectors in radians */
117
- S2Point.prototype.angle = function (va) {
118
- return Decimal.atan2(S2Point.crossProd(this, va).norm(), this.dotProd(va));
119
- };
152
+ angle(va) {
153
+ return Math.atan2(S2Point.crossProd(this, va).norm(), this.dotProd(va));
154
+ }
120
155
  /**
121
156
  * Compare two vectors, return true if all their components are within a
122
157
  * difference of margin.
123
158
  */
124
- S2Point.prototype.aequal = function (that, margin) {
125
- return this.x.minus(that.x).abs().lessThan(margin) &&
126
- this.y.minus(that.y).abs().lessThan(margin) &&
127
- this.z.minus(that.z).abs().lessThan(margin);
128
- };
129
- S2Point.prototype.equals = function (that) {
159
+ aequal(that, margin) {
160
+ return this.x - Math.abs(that.x) < (margin) &&
161
+ this.y - Math.abs(that.y) < (margin) &&
162
+ this.z - Math.abs(that.z) < (margin);
163
+ }
164
+ equals(that) {
130
165
  if (!(that instanceof S2Point)) {
131
166
  return false;
132
167
  }
133
- return this.x.eq(that.x) && this.y.eq(that.y) && this.z.eq(that.z);
134
- };
135
- S2Point.prototype.lessThan = function (vb) {
136
- if (this.x.lt(vb.x)) {
168
+ return this.x == (that.x) && this.y == (that.y) && this.z == (that.z);
169
+ }
170
+ lessThan(vb) {
171
+ if (this.x < (vb.x)) {
137
172
  return true;
138
173
  }
139
- if (vb.x.lt(this.x)) {
174
+ if (vb.x < (this.x)) {
140
175
  return false;
141
176
  }
142
- if (this.y.lt(vb.y)) {
177
+ if (this.y < (vb.y)) {
143
178
  return true;
144
179
  }
145
- if (vb.y.lt(this.y)) {
180
+ if (vb.y < (this.y)) {
146
181
  return false;
147
182
  }
148
- if (this.z.lt(vb.z)) {
183
+ if (this.z < (vb.z)) {
149
184
  return true;
150
185
  }
151
186
  return false;
152
- };
153
- S2Point.prototype.compareTo = function (other) {
187
+ }
188
+ compareTo(other) {
154
189
  return (this.lessThan(other) ? -1 : (this.equals(other) ? 0 : 1));
155
- };
156
- S2Point.prototype.toFace = function () {
157
- var face = this.largestAbsComponent();
158
- if (this.axis(face).lt(0)) {
190
+ }
191
+ toFace() {
192
+ let face = this.largestAbsComponent();
193
+ if (this.axis(face) < (0)) {
159
194
  face += 3;
160
195
  }
161
196
  return face;
162
- };
163
- S2Point.prototype.toR2Vector = function (face) {
164
- if (face === void 0) { face = this.toFace(); }
165
- var u;
166
- var v;
197
+ }
198
+ toR2Vector(face = this.toFace()) {
199
+ let u;
200
+ let v;
167
201
  switch (face) {
168
202
  case 0:
169
- u = this.y.div(this.x);
170
- v = this.z.div(this.x);
203
+ u = this.y / (this.x);
204
+ v = this.z / (this.x);
171
205
  break;
172
206
  case 1:
173
- u = this.x.neg().div(this.y);
174
- v = this.z.div(this.y);
207
+ u = (this.x * -1) / (this.y);
208
+ v = this.z / (this.y);
175
209
  break;
176
210
  case 2:
177
- u = this.x.neg().div(this.z);
178
- v = this.y.neg().div(this.z);
211
+ u = (this.x * -1) / (this.z);
212
+ v = (this.y * -1) / (this.z);
179
213
  break;
180
214
  case 3:
181
- u = this.z.div(this.x);
182
- v = this.y.div(this.x);
215
+ u = this.z / (this.x);
216
+ v = this.y / (this.x);
183
217
  break;
184
218
  case 4:
185
- u = this.z.div(this.y);
186
- v = this.x.neg().div(this.y);
219
+ u = this.z / (this.y);
220
+ v = (this.x * -1) / (this.y);
187
221
  break;
188
222
  case 5:
189
- u = this.y.neg().div(this.z);
190
- v = this.x.neg().div(this.z);
223
+ u = (this.y * -1) / (this.z);
224
+ v = (this.x * -1) / (this.z);
191
225
  break;
192
226
  default:
193
227
  throw new Error('Invalid face');
194
228
  }
195
229
  return new R2Vector_1.R2Vector(u, v);
196
- };
197
- S2Point.prototype.toString = function () {
198
- return "Point(" + this.x.toNumber() + ", " + this.y.toNumber() + ", " + this.z.toNumber() + ")";
199
- };
200
- return S2Point;
201
- }());
230
+ }
231
+ toString() {
232
+ return `Point(${this.x}, ${this.y}, ${this.z})`;
233
+ }
234
+ }
202
235
  exports.S2Point = S2Point;
236
+ /** Origin of the coordinate system, [0,0,0]. */
237
+ S2Point.ORIGIN = new S2Point(0, 0, 0);
238
+ /** Direction of the x-axis. */
239
+ S2Point.X_POS = new S2Point(1, 0, 0);
240
+ /** Opposite direction of the x-axis. */
241
+ S2Point.X_NEG = new S2Point(-1, 0, 0);
242
+ /** Direction of the y-axis. */
243
+ S2Point.Y_POS = new S2Point(0, 1, 0);
244
+ /** Opposite direction of the y-axis. */
245
+ S2Point.Y_NEG = new S2Point(0, -1, 0);
246
+ /** Direction of the z-axis. */
247
+ S2Point.Z_POS = new S2Point(0, 0, 1);
248
+ /** Opposite direction of the z-axis. */
249
+ S2Point.Z_NEG = new S2Point(0, 0, -1);
203
250
  //# sourceMappingURL=S2Point.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"S2Point.js","sourceRoot":"","sources":["../src/S2Point.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"S2Point.js","sourceRoot":"","sources":["../src/S2Point.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAAoC;AAEpC,KAAK;AACL;;;;;GAKG;AACH,MAAa,OAAO;IA0BlB,YAAY,CAAQ,EAAE,CAAQ,EAAE,CAAQ;QACtC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACb,+DAA+D;QAC/D,+DAA+D;IACjE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAU,EAAE,EAAU;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,CAAU;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IAGD,MAAM,CAAC,SAAS,CAAC,EAAU,EAAE,EAAU;QACrC,OAAO,IAAI,OAAO,CACd,EAAE,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC7B,EAAE,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,6BAA6B;QAC7B,EAAE,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7B,4BAA4B;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,EAAU;QAC/B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,EAAU;QAC/B,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,OAAO,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAS;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAQ;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;MAOE;IACK,WAAW,CAAC,IAAa;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACI,YAAY,CAAC,IAAa;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrC,CAAC;IAED,6CAA6C;IACtC,KAAK;QACV,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;SAC3B;aAAM,IAAI,CAAC,IAAI,CAAC,EAAE;YACjB,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;SAC3B;aAAM;YACL,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;SAC3B;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,qDAAqD;IAC9C,mBAAmB;QACxB,OAAO,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,GAAG,IAAI,EAAE;YACf,IAAI,IAAI,GAAG,IAAI,EAAE;gBACf,OAAO,CAAC,CAAC;aACV;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;SACF;aAAM;YACL,IAAI,IAAI,GAAG,IAAI,EAAE;gBACf,OAAO,CAAC,CAAC;aACV;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;SACF;IACH,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,CAAS;QAC1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,SAAS,CAAC,CAAS;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,IAAI,IAAI,CAAC,EAAE;YACb,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;SACjB;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,IAAW;QACd,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,sDAAsD;IAC/C,KAAK,CAAC,EAAE;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAY,EAAE,MAAa;QAChC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,CAAC,IAAI,YAAY,OAAO,CAAC,EAAE;YAC9B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,QAAQ,CAAC,EAAU;QACxB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAGD,MAAM;QACJ,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,IAAI,IAAI,CAAC,CAAC;SACX;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,OAAc,IAAI,CAAC,MAAM,EAAE;QACpC,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;QACN,QAAQ,IAAI,EAAE;YACZ,KAAK,CAAC;gBACJ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,mBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAGD,QAAQ;QACN,OAAO,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;IAClD,CAAC;;AAnQH,0BAoQC;AAlQC,gDAAgD;AAClC,cAAM,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5C,+BAA+B;AACjB,aAAK,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3C,wCAAwC;AAC1B,aAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5C,+BAA+B;AACjB,aAAK,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3C,wCAAwC;AAC1B,aAAK,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5C,+BAA+B;AACjB,aAAK,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3C,wCAAwC;AAC1B,aAAK,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="decimal.js" />
2
1
  /**
3
2
  * This class specifies the details of how the cube faces are projected onto the
4
3
  * unit sphere. This includes getting the face ordering and orientation correct
@@ -52,17 +51,52 @@
52
51
  */
53
52
  import { S2Metric } from "./S2";
54
53
  import { S2Point } from "./S2Point";
55
- export declare enum Projections {
56
- S2_LINEAR_PROJECTION = 0,
57
- S2_TAN_PROJECTION = 1,
58
- S2_QUADRATIC_PROJECTION = 2,
59
- }
54
+ import { R2Vector } from "./R2Vector";
55
+ import Long = require("long");
56
+ export declare type UvTransformFunction = (x: number, y: number, z: number) => number;
57
+ export declare type XyzTransformFunction = (u: number, v: number) => number;
58
+ export declare type UvTransform = {
59
+ xyzToU: UvTransformFunction;
60
+ xyzToV: UvTransformFunction;
61
+ };
62
+ export declare type XyzTransform = {
63
+ uvToX: XyzTransformFunction;
64
+ uvToY: XyzTransformFunction;
65
+ uvToZ: XyzTransformFunction;
66
+ };
60
67
  export declare class S2Projections {
61
68
  static MIN_WIDTH: S2Metric;
62
69
  static AVG_AREA: S2Metric;
63
- static getUNorm(face: number, u: decimal.Decimal): S2Point;
64
- static getVNorm(face: number, v: decimal.Decimal): S2Point;
70
+ static MAX_LEVEL: number;
71
+ private static FACE_UVW_AXES;
72
+ private static UV_TRANSFORMS;
73
+ private static XYZ_TRANSFORMS;
74
+ /**
75
+ * The maximum value of an si- or ti-coordinate. The range of valid (si,ti) values is
76
+ * [0..MAX_SiTi].
77
+ */
78
+ static MAX_SITI: Long.Long;
79
+ static getUNorm(face: number, u: number): S2Point;
80
+ static getVNorm(face: number, v: number): S2Point;
65
81
  static getUAxis(face: number): S2Point;
66
82
  static getVAxis(face: number): S2Point;
67
- static faceUvToXyz(face: number, u: number | decimal.Decimal, v: number | decimal.Decimal): S2Point;
83
+ static getNorm(face: number): S2Point;
84
+ /** Returns the given axis of the given face (u=0, v=1, w=2). */
85
+ static getUVWAxis(face: number, axis: number): S2Point;
86
+ /**
87
+ * Convert (face, si, ti) coordinates (see s2.h) to a direction vector (not
88
+ * necessarily unit length).
89
+ */
90
+ static faceSiTiToXYZ(face: number, si: number, ti: number): S2Point;
91
+ static faceUvToXyz(face: number, u: number, v: number): S2Point;
92
+ static faceXyzToUv(face: number, p: S2Point): R2Vector;
93
+ static validFaceXyzToUv(face: number, p: S2Point): R2Vector;
94
+ static ijToStMin(i: number): number;
95
+ static stToIj(s: number): number;
96
+ static siTiToSt(si: number): number;
97
+ static ijToUV(ij: number, cellSize: number): number;
98
+ static xyzToFaceP(p: S2Point): number;
99
+ static xyzToFace(x: number, y: number, z: number): number;
100
+ static faceToUvTransform(face: number): UvTransform;
101
+ static faceToXyzTransform(face: number): XyzTransform;
68
102
  }