@takram/three-geospatial 0.3.0 → 0.5.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/CHANGELOG.md +28 -1
- package/build/index.cjs +1 -1
- package/build/index.cjs.map +1 -1
- package/build/index.js +1109 -2108
- package/build/index.js.map +1 -1
- package/build/r3f.cjs +1 -1
- package/build/r3f.cjs.map +1 -1
- package/build/r3f.js +1 -1
- package/build/r3f.js.map +1 -1
- package/build/shaders.cjs +4 -4
- package/build/shaders.js +7 -7
- package/build/shared.cjs +1 -1
- package/build/shared.cjs.map +1 -1
- package/build/shared.js +8 -206
- package/build/shared.js.map +1 -1
- package/build/shared2.cjs +2 -0
- package/build/shared2.cjs.map +1 -0
- package/build/shared2.js +224 -0
- package/build/shared2.js.map +1 -0
- package/build/shared3.cjs +2 -0
- package/build/shared3.cjs.map +1 -0
- package/build/shared3.js +13 -0
- package/build/shared3.js.map +1 -0
- package/build/webgpu.cjs +2 -0
- package/build/webgpu.cjs.map +1 -0
- package/build/webgpu.js +1336 -0
- package/build/webgpu.js.map +1 -0
- package/package.json +14 -9
- package/src/Ellipsoid.ts +25 -0
- package/src/EllipsoidGeometry.ts +2 -2
- package/src/QuadGeometry.ts +14 -0
- package/src/bufferGeometry.ts +1 -1
- package/src/capabilities.ts +12 -3
- package/src/decorators.ts +11 -6
- package/src/index.ts +2 -2
- package/src/shaders/depth.glsl +3 -3
- package/src/types.ts +2 -0
- package/src/unrollLoops.ts +1 -1
- package/src/webgpu/DownsampleThresholdNode.ts +40 -0
- package/src/webgpu/DualMipmapFilterNode.ts +130 -0
- package/src/webgpu/FilterNode.ts +93 -0
- package/src/webgpu/FnLayout.ts +86 -0
- package/src/webgpu/FnVar.ts +26 -0
- package/src/webgpu/GaussianBlurNode.ts +129 -0
- package/src/webgpu/HighpVelocityNode.ts +115 -0
- package/src/webgpu/KawaseBlurNode.ts +76 -0
- package/src/webgpu/LensFlareNode.ts +128 -0
- package/src/webgpu/LensGhostNode.ts +62 -0
- package/src/webgpu/LensGlareNode.ts +318 -0
- package/src/webgpu/LensHaloNode.ts +99 -0
- package/src/webgpu/MipmapBlurNode.ts +113 -0
- package/src/webgpu/MipmapSurfaceBlurNode.ts +140 -0
- package/src/webgpu/OutputTexture3DNode.ts +34 -0
- package/src/webgpu/OutputTextureNode.ts +33 -0
- package/src/webgpu/RTTextureNode.ts +132 -0
- package/src/webgpu/SeparableFilterNode.ts +98 -0
- package/src/webgpu/SingleFilterNode.ts +80 -0
- package/src/webgpu/TemporalAntialiasNode.ts +571 -0
- package/src/webgpu/accessors.ts +67 -0
- package/src/webgpu/debug.ts +86 -0
- package/src/webgpu/generators.ts +40 -0
- package/src/webgpu/index.ts +21 -0
- package/src/webgpu/internals.ts +37 -0
- package/src/webgpu/math.ts +81 -0
- package/src/webgpu/node.ts +100 -0
- package/src/webgpu/sampling.ts +103 -0
- package/src/webgpu/transformations.ts +106 -0
- package/src/webgpu/utils.ts +13 -0
- package/types/Ellipsoid.d.ts +4 -0
- package/types/QuadGeometry.d.ts +4 -0
- package/types/bufferGeometry.d.ts +2 -2
- package/types/capabilities.d.ts +2 -1
- package/types/decorators.d.ts +8 -5
- package/types/index.d.ts +2 -2
- package/types/types.d.ts +1 -0
- package/types/webgpu/DownsampleThresholdNode.d.ts +11 -0
- package/types/webgpu/DualMipmapFilterNode.d.ts +21 -0
- package/types/webgpu/FilterNode.d.ts +17 -0
- package/types/webgpu/FnLayout.d.ts +21 -0
- package/types/webgpu/FnVar.d.ts +6 -0
- package/types/webgpu/GaussianBlurNode.d.ts +10 -0
- package/types/webgpu/HighpVelocityNode.d.ts +18 -0
- package/types/webgpu/KawaseBlurNode.d.ts +10 -0
- package/types/webgpu/LensFlareNode.d.ts +25 -0
- package/types/webgpu/LensGhostNode.d.ts +8 -0
- package/types/webgpu/LensGlareNode.d.ts +32 -0
- package/types/webgpu/LensHaloNode.d.ts +11 -0
- package/types/webgpu/MipmapBlurNode.d.ts +12 -0
- package/types/webgpu/MipmapSurfaceBlurNode.d.ts +11 -0
- package/types/webgpu/OutputTexture3DNode.d.ts +11 -0
- package/types/webgpu/OutputTextureNode.d.ts +11 -0
- package/types/webgpu/RTTextureNode.d.ts +23 -0
- package/types/webgpu/SeparableFilterNode.d.ts +20 -0
- package/types/webgpu/SingleFilterNode.d.ts +17 -0
- package/types/webgpu/TemporalAntialiasNode.d.ts +56 -0
- package/types/webgpu/accessors.d.ts +10 -0
- package/types/webgpu/debug.d.ts +7 -0
- package/types/webgpu/generators.d.ts +4 -0
- package/types/webgpu/index.d.ts +21 -0
- package/types/webgpu/internals.d.ts +3 -0
- package/types/webgpu/math.d.ts +4 -0
- package/types/webgpu/node.d.ts +33 -0
- package/types/webgpu/sampling.d.ts +2 -0
- package/types/webgpu/transformations.d.ts +12 -0
- package/types/webgpu/utils.d.ts +3 -0
- package/src/assertions.ts +0 -1
- package/types/assertions.d.ts +0 -1
package/build/shared.js
CHANGED
|
@@ -1,211 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
throw new Error(i);
|
|
1
|
+
var a = "production" === "production", n = "Invariant failed";
|
|
2
|
+
function c(i, r) {
|
|
3
|
+
if (!i) {
|
|
4
|
+
if (a)
|
|
5
|
+
throw new Error(n);
|
|
6
|
+
var o = typeof r == "function" ? r() : r, t = o ? "".concat(n, ": ").concat(o) : n;
|
|
7
|
+
throw new Error(t);
|
|
9
8
|
}
|
|
10
9
|
}
|
|
11
|
-
const Q = /* @__PURE__ */ new o();
|
|
12
|
-
function C(f, t, i = new o(), r) {
|
|
13
|
-
const { x: s, y: n, z: e } = f, c = t.x, h = t.y, u = t.z, d = s * s * c, y = n * n * h, a = e * e * u, l = d + y + a, p = Math.sqrt(1 / l);
|
|
14
|
-
if (!Number.isFinite(p))
|
|
15
|
-
return;
|
|
16
|
-
const M = Q.copy(f).multiplyScalar(p);
|
|
17
|
-
if (l < ((r == null ? void 0 : r.centerTolerance) ?? 0.1))
|
|
18
|
-
return i.copy(M);
|
|
19
|
-
const v = M.multiply(t).multiplyScalar(2);
|
|
20
|
-
let m = (1 - p) * f.length() / (v.length() / 2), I = 0, x, w, z, E;
|
|
21
|
-
do {
|
|
22
|
-
m -= I, x = 1 / (1 + m * c), w = 1 / (1 + m * h), z = 1 / (1 + m * u);
|
|
23
|
-
const V = x * x, F = w * w, L = z * z, G = V * x, j = F * w, B = L * z;
|
|
24
|
-
E = d * V + y * F + a * L - 1, I = E / ((d * G * c + y * j * h + a * B * u) * -2);
|
|
25
|
-
} while (Math.abs(E) > 1e-12);
|
|
26
|
-
return i.set(s * x, n * w, e * z);
|
|
27
|
-
}
|
|
28
|
-
const A = /* @__PURE__ */ new o(), U = /* @__PURE__ */ new o(), R = /* @__PURE__ */ new o(), q = class q {
|
|
29
|
-
constructor(t, i, r) {
|
|
30
|
-
this.radii = new o(t, i, r);
|
|
31
|
-
}
|
|
32
|
-
get minimumRadius() {
|
|
33
|
-
return Math.min(this.radii.x, this.radii.y, this.radii.z);
|
|
34
|
-
}
|
|
35
|
-
get maximumRadius() {
|
|
36
|
-
return Math.max(this.radii.x, this.radii.y, this.radii.z);
|
|
37
|
-
}
|
|
38
|
-
reciprocalRadii(t = new o()) {
|
|
39
|
-
const { x: i, y: r, z: s } = this.radii;
|
|
40
|
-
return t.set(1 / i, 1 / r, 1 / s);
|
|
41
|
-
}
|
|
42
|
-
reciprocalRadiiSquared(t = new o()) {
|
|
43
|
-
const { x: i, y: r, z: s } = this.radii;
|
|
44
|
-
return t.set(1 / i ** 2, 1 / r ** 2, 1 / s ** 2);
|
|
45
|
-
}
|
|
46
|
-
projectOnSurface(t, i = new o(), r) {
|
|
47
|
-
return C(
|
|
48
|
-
t,
|
|
49
|
-
this.reciprocalRadiiSquared(),
|
|
50
|
-
i,
|
|
51
|
-
r
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
getSurfaceNormal(t, i = new o()) {
|
|
55
|
-
return i.multiplyVectors(this.reciprocalRadiiSquared(A), t).normalize();
|
|
56
|
-
}
|
|
57
|
-
getEastNorthUpVectors(t, i = new o(), r = new o(), s = new o()) {
|
|
58
|
-
this.getSurfaceNormal(t, s), i.set(-t.y, t.x, 0).normalize(), r.crossVectors(s, i).normalize();
|
|
59
|
-
}
|
|
60
|
-
getEastNorthUpFrame(t, i = new W()) {
|
|
61
|
-
const r = A, s = U, n = R;
|
|
62
|
-
return this.getEastNorthUpVectors(t, r, s, n), i.makeBasis(r, s, n).setPosition(t);
|
|
63
|
-
}
|
|
64
|
-
getIntersection(t, i = new o()) {
|
|
65
|
-
const r = this.reciprocalRadii(A), s = U.copy(r).multiply(t.origin), n = R.copy(r).multiply(t.direction), e = s.lengthSq(), c = n.lengthSq(), h = s.dot(n), u = h ** 2 - c * (e - 1);
|
|
66
|
-
if (e === 1)
|
|
67
|
-
return i.copy(t.origin);
|
|
68
|
-
if (e > 1) {
|
|
69
|
-
if (h >= 0 || u < 0)
|
|
70
|
-
return;
|
|
71
|
-
const d = Math.sqrt(u), y = (-h - d) / c, a = (-h + d) / c;
|
|
72
|
-
return t.at(Math.min(y, a), i);
|
|
73
|
-
}
|
|
74
|
-
if (e < 1) {
|
|
75
|
-
const d = h ** 2 - c * (e - 1), y = Math.sqrt(d), a = (-h + y) / c;
|
|
76
|
-
return t.at(a, i);
|
|
77
|
-
}
|
|
78
|
-
if (h < 0)
|
|
79
|
-
return t.at(-h / c, i);
|
|
80
|
-
}
|
|
81
|
-
getOsculatingSphereCenter(t, i, r = new o()) {
|
|
82
|
-
T(this.radii.x === this.radii.y);
|
|
83
|
-
const s = this.radii.x ** 2, n = this.radii.z ** 2, e = A.set(
|
|
84
|
-
t.x / s,
|
|
85
|
-
t.y / s,
|
|
86
|
-
t.z / n
|
|
87
|
-
).normalize();
|
|
88
|
-
return r.copy(e.multiplyScalar(-i).add(t));
|
|
89
|
-
}
|
|
90
|
-
getNormalAtHorizon(t, i, r = new o()) {
|
|
91
|
-
T(this.radii.x === this.radii.y);
|
|
92
|
-
const s = this.radii.x ** 2, n = this.radii.z ** 2, e = t, c = i;
|
|
93
|
-
let h = (e.x * c.x + e.y * c.y) / s + e.z * c.z / n;
|
|
94
|
-
h /= (e.x ** 2 + e.y ** 2) / s + e.z ** 2 / n;
|
|
95
|
-
const u = A.copy(c).multiplyScalar(-h).add(t);
|
|
96
|
-
return r.set(u.x / s, u.y / s, u.z / n).normalize();
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
q.WGS84 = /* @__PURE__ */ new q(
|
|
100
|
-
6378137,
|
|
101
|
-
6378137,
|
|
102
|
-
6356752314245179e-9
|
|
103
|
-
);
|
|
104
|
-
let b = q;
|
|
105
|
-
class k extends $ {
|
|
106
|
-
constructor(t = new o(1, 1, 1), i = 32, r = 16) {
|
|
107
|
-
super(), this.type = "EllipsoidGeometry", this.parameters = {
|
|
108
|
-
radii: t,
|
|
109
|
-
longitudeSegments: i,
|
|
110
|
-
latitudeSegments: r
|
|
111
|
-
}, i = Math.max(3, Math.floor(i)), r = Math.max(2, Math.floor(r));
|
|
112
|
-
const s = (i + 1) * (r + 1), n = new o(), e = new o(), c = new Float32Array(s * 3), h = new Float32Array(s * 3), u = new Float32Array(s * 2), d = [], y = [];
|
|
113
|
-
for (let a = 0, l = 0, p = 0, M = 0; a <= r; ++a) {
|
|
114
|
-
const v = [], m = a / r, I = m * Math.PI;
|
|
115
|
-
let x = 0;
|
|
116
|
-
a === 0 ? x = 0.5 / i : a === r && (x = -0.5 / i);
|
|
117
|
-
for (let w = 0; w <= i; ++w, l += 3, p += 2, ++M) {
|
|
118
|
-
const z = w / i, E = z * Math.PI * 2;
|
|
119
|
-
n.x = t.x * Math.cos(E) * Math.sin(I), n.y = t.y * Math.sin(E) * Math.sin(I), n.z = t.z * Math.cos(I), c[l] = n.x, c[l + 1] = n.y, c[l + 2] = n.z, e.copy(n).normalize(), h[l] = e.x, h[l + 1] = e.y, h[l + 2] = e.z, u[p] = z + x, u[p + 1] = 1 - m, v.push(M);
|
|
120
|
-
}
|
|
121
|
-
d.push(v);
|
|
122
|
-
}
|
|
123
|
-
for (let a = 0; a < r; ++a)
|
|
124
|
-
for (let l = 0; l < i; ++l) {
|
|
125
|
-
const p = d[a][l + 1], M = d[a][l], v = d[a + 1][l], m = d[a + 1][l + 1];
|
|
126
|
-
a !== 0 && y.push(p, M, m), a !== r - 1 && y.push(M, v, m);
|
|
127
|
-
}
|
|
128
|
-
this.setIndex(y), this.setAttribute("position", new S(c, 3)), this.setAttribute("normal", new S(h, 3)), this.setAttribute("uv", new S(u, 2));
|
|
129
|
-
}
|
|
130
|
-
copy(t) {
|
|
131
|
-
return super.copy(t), this.parameters = { ...t.parameters }, this;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
const N = /* @__PURE__ */ new o(), D = /* @__PURE__ */ new o(), g = class g {
|
|
135
|
-
constructor(t = 0, i = 0, r = 0) {
|
|
136
|
-
this.longitude = t, this.latitude = i, this.height = r;
|
|
137
|
-
}
|
|
138
|
-
set(t, i, r) {
|
|
139
|
-
return this.longitude = t, this.latitude = i, r != null && (this.height = r), this;
|
|
140
|
-
}
|
|
141
|
-
clone() {
|
|
142
|
-
return new g(this.longitude, this.latitude, this.height);
|
|
143
|
-
}
|
|
144
|
-
copy(t) {
|
|
145
|
-
return this.longitude = t.longitude, this.latitude = t.latitude, this.height = t.height, this;
|
|
146
|
-
}
|
|
147
|
-
equals(t) {
|
|
148
|
-
return t.longitude === this.longitude && t.latitude === this.latitude && t.height === this.height;
|
|
149
|
-
}
|
|
150
|
-
setLongitude(t) {
|
|
151
|
-
return this.longitude = t, this;
|
|
152
|
-
}
|
|
153
|
-
setLatitude(t) {
|
|
154
|
-
return this.latitude = t, this;
|
|
155
|
-
}
|
|
156
|
-
setHeight(t) {
|
|
157
|
-
return this.height = t, this;
|
|
158
|
-
}
|
|
159
|
-
normalize() {
|
|
160
|
-
return this.longitude < g.MIN_LONGITUDE && (this.longitude += Math.PI * 2), this;
|
|
161
|
-
}
|
|
162
|
-
// See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
|
|
163
|
-
// Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Geodetic.js#L119
|
|
164
|
-
setFromECEF(t, i) {
|
|
165
|
-
const s = ((i == null ? void 0 : i.ellipsoid) ?? b.WGS84).reciprocalRadiiSquared(N), n = C(
|
|
166
|
-
t,
|
|
167
|
-
s,
|
|
168
|
-
D,
|
|
169
|
-
i
|
|
170
|
-
);
|
|
171
|
-
if (n == null)
|
|
172
|
-
throw new Error(
|
|
173
|
-
`Could not project position to ellipsoid surface: ${t.toArray()}`
|
|
174
|
-
);
|
|
175
|
-
const e = N.multiplyVectors(n, s).normalize();
|
|
176
|
-
this.longitude = Math.atan2(e.y, e.x), this.latitude = Math.asin(e.z);
|
|
177
|
-
const c = N.subVectors(t, n);
|
|
178
|
-
return this.height = Math.sign(c.dot(t)) * c.length(), this;
|
|
179
|
-
}
|
|
180
|
-
// See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
|
|
181
|
-
// Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Cartesian3.js#L916
|
|
182
|
-
toECEF(t = new o(), i) {
|
|
183
|
-
const r = (i == null ? void 0 : i.ellipsoid) ?? b.WGS84, s = N.multiplyVectors(
|
|
184
|
-
r.radii,
|
|
185
|
-
r.radii
|
|
186
|
-
), n = Math.cos(this.latitude), e = D.set(
|
|
187
|
-
n * Math.cos(this.longitude),
|
|
188
|
-
n * Math.sin(this.longitude),
|
|
189
|
-
Math.sin(this.latitude)
|
|
190
|
-
).normalize();
|
|
191
|
-
return t.multiplyVectors(s, e), t.divideScalar(Math.sqrt(e.dot(t))).add(e.multiplyScalar(this.height));
|
|
192
|
-
}
|
|
193
|
-
fromArray(t, i = 0) {
|
|
194
|
-
return this.longitude = t[i], this.latitude = t[i + 1], this.height = t[i + 2], this;
|
|
195
|
-
}
|
|
196
|
-
toArray(t = [], i = 0) {
|
|
197
|
-
return t[i] = this.longitude, t[i + 1] = this.latitude, t[i + 2] = this.height, t;
|
|
198
|
-
}
|
|
199
|
-
*[Symbol.iterator]() {
|
|
200
|
-
yield this.longitude, yield this.latitude, yield this.height;
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
g.MIN_LONGITUDE = -Math.PI, g.MAX_LONGITUDE = Math.PI, g.MIN_LATITUDE = -Math.PI / 2, g.MAX_LATITUDE = Math.PI / 2;
|
|
204
|
-
let P = g;
|
|
205
10
|
export {
|
|
206
|
-
|
|
207
|
-
P as G,
|
|
208
|
-
k as a,
|
|
209
|
-
T as i
|
|
11
|
+
c as i
|
|
210
12
|
};
|
|
211
13
|
//# sourceMappingURL=shared.js.map
|
package/build/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sources":["../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["isProduction","prefix","invariant","condition","message","value","vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","_Ellipsoid","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","a2","b2","normal","direction","v","q","Ellipsoid","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","_Geodetic","longitude","latitude","height","other","projection","ellipsoid","radiiSquared","cosLatitude","array","offset","Geodetic"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"shared.js","sources":["../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js"],"sourcesContent":null,"names":["isProduction","prefix","invariant","condition","message","provided","value"],"mappings":"AAAA,CAAA,CAAA,CAAA,CAAIA,CAAAA,CAAAA,CAAAA,CAAe,YAAY,CAAA,CAAA,CAAA,CAAA,CAAa,cACxCC,CAAAA,CAAAA,CAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAUC,GAAWC,CAAAA,CAAAA,CAAS;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAAD,CAAAA,CAAAA,CAGJ;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAIH,CAAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,MAAMC,CAAM,CAAA;AAE1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAII,IAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOD,CAAAA,CAAAA,CAAAA,CAAAA,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAaA,CAAAA,CAAO,IAAKA,CAAAA,CAAAA,CACvDE,CAAAA,CAAAA,CAAAA,CAAQD,CAAAA,CAAAA,CAAAA,CAAW,CAAA,CAAA,CAAG,OAAOJ,CAAAA,CAAAA,CAAQ,CAAA,CAAA,CAAA,CAAI,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOI,CAAQ,CAAA,CAAA,CAAA,CAAIJ,CAAAA;AAClE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAI,MAAMK,CAAK,CAAA;AAAA,CAAA,CAAA;AACzB;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const o=require("three"),U=require("./shared.cjs"),P=new o.Vector3;function L(v,t,i=new o.Vector3,e){const{x:r,y:s,z:n}=v,c=t.x,h=t.y,u=t.z,d=r*r*c,m=s*s*h,a=n*n*u,l=d+m+a,p=Math.sqrt(1/l);if(!Number.isFinite(p))return;const w=P.copy(v).multiplyScalar(p);if(l<(e?.centerTolerance??.1))return i.copy(w);const z=w.multiply(t).multiplyScalar(2);let y=(1-p)*v.length()/(z.length()/2),V=0,x,M,g,f;do{y-=V,x=1/(1+y*c),M=1/(1+y*h),g=1/(1+y*u);const S=x*x,R=M*M,G=g*g,T=S*x,O=R*M,B=G*g;f=d*S+m*R+a*G-1,V=f/((d*T*c+m*O*h+a*B*u)*-2)}while(Math.abs(f)>1e-12);return i.set(r*x,s*M,n*g)}const I=new o.Vector3,b=new o.Vector3,N=new o.Vector3;class E{static WGS84=new E(6378137,6378137,6356752314245179e-9);radii;constructor(t,i,e){this.radii=new o.Vector3(t,i,e)}get minimumRadius(){return Math.min(this.radii.x,this.radii.y,this.radii.z)}get maximumRadius(){return Math.max(this.radii.x,this.radii.y,this.radii.z)}get flattening(){return 1-this.minimumRadius/this.maximumRadius}get eccentricity(){return Math.sqrt(this.eccentricitySquared)}get eccentricitySquared(){const t=this.maximumRadius**2,i=this.minimumRadius**2;return(t-i)/t}reciprocalRadii(t=new o.Vector3){const{x:i,y:e,z:r}=this.radii;return t.set(1/i,1/e,1/r)}reciprocalRadiiSquared(t=new o.Vector3){const{x:i,y:e,z:r}=this.radii;return t.set(1/i**2,1/e**2,1/r**2)}projectOnSurface(t,i=new o.Vector3,e){return L(t,this.reciprocalRadiiSquared(),i,e)}getSurfaceNormal(t,i=new o.Vector3){return i.multiplyVectors(this.reciprocalRadiiSquared(I),t).normalize()}getEastNorthUpVectors(t,i=new o.Vector3,e=new o.Vector3,r=new o.Vector3){this.getSurfaceNormal(t,r),i.set(-t.y,t.x,0).normalize(),e.crossVectors(r,i).normalize()}getEastNorthUpFrame(t,i=new o.Matrix4){const e=I,r=b,s=N;return this.getEastNorthUpVectors(t,e,r,s),i.makeBasis(e,r,s).setPosition(t)}getNorthUpEastFrame(t,i=new o.Matrix4){const e=I,r=b,s=N;return this.getEastNorthUpVectors(t,e,r,s),i.makeBasis(r,s,e).setPosition(t)}getIntersection(t,i=new o.Vector3){const e=this.reciprocalRadii(I),r=b.copy(e).multiply(t.origin),s=N.copy(e).multiply(t.direction),n=r.lengthSq(),c=s.lengthSq(),h=r.dot(s),u=h**2-c*(n-1);if(n===1)return i.copy(t.origin);if(n>1){if(h>=0||u<0)return;const d=Math.sqrt(u),m=(-h-d)/c,a=(-h+d)/c;return t.at(Math.min(m,a),i)}if(n<1){const d=h**2-c*(n-1),m=Math.sqrt(d),a=(-h+m)/c;return t.at(a,i)}if(h<0)return t.at(-h/c,i)}getOsculatingSphereCenter(t,i,e=new o.Vector3){U.invariant(this.radii.x===this.radii.y);const r=this.radii.x**2,s=this.radii.z**2,n=I.set(t.x/r,t.y/r,t.z/s).normalize();return e.copy(n.multiplyScalar(-i).add(t))}getNormalAtHorizon(t,i,e=new o.Vector3){U.invariant(this.radii.x===this.radii.y);const r=this.radii.x**2,s=this.radii.z**2,n=t,c=i;let h=(n.x*c.x+n.y*c.y)/r+n.z*c.z/s;h/=(n.x**2+n.y**2)/r+n.z**2/s;const u=I.copy(c).multiplyScalar(-h).add(t);return e.set(u.x/r,u.y/r,u.z/s).normalize()}}class C extends o.BufferGeometry{type="EllipsoidGeometry";parameters;constructor(t=new o.Vector3(1,1,1),i=32,e=16){super(),this.parameters={radii:t,longitudeSegments:i,latitudeSegments:e},i=Math.max(3,Math.floor(i)),e=Math.max(2,Math.floor(e));const r=(i+1)*(e+1),s=new o.Vector3,n=new o.Vector3,c=new Float32Array(r*3),h=new Float32Array(r*3),u=new Float32Array(r*2),d=[],m=[];for(let a=0,l=0,p=0,w=0;a<=e;++a){const z=[],y=a/e,V=y*Math.PI;let x=0;a===0?x=.5/i:a===e&&(x=-.5/i);for(let M=0;M<=i;++M,l+=3,p+=2,++w){const g=M/i,f=g*Math.PI*2;s.x=t.x*Math.cos(f)*Math.sin(V),s.y=t.y*Math.sin(f)*Math.sin(V),s.z=t.z*Math.cos(V),c[l]=s.x,c[l+1]=s.y,c[l+2]=s.z,n.copy(s).normalize(),h[l]=n.x,h[l+1]=n.y,h[l+2]=n.z,u[p]=g+x,u[p+1]=1-y,z.push(w)}d.push(z)}for(let a=0;a<e;++a)for(let l=0;l<i;++l){const p=d[a][l+1],w=d[a][l],z=d[a+1][l],y=d[a+1][l+1];a!==0&&m.push(p,w,y),a!==e-1&&m.push(w,z,y)}this.setIndex(m),this.setAttribute("position",new o.BufferAttribute(c,3)),this.setAttribute("normal",new o.BufferAttribute(h,3)),this.setAttribute("uv",new o.BufferAttribute(u,2))}copy(t){return super.copy(t),this.parameters={...t.parameters},this}}const q=new o.Vector3,F=new o.Vector3;class A{constructor(t=0,i=0,e=0){this.longitude=t,this.latitude=i,this.height=e}static MIN_LONGITUDE=-Math.PI;static MAX_LONGITUDE=Math.PI;static MIN_LATITUDE=-Math.PI/2;static MAX_LATITUDE=Math.PI/2;set(t,i,e){return this.longitude=t,this.latitude=i,e!=null&&(this.height=e),this}clone(){return new A(this.longitude,this.latitude,this.height)}copy(t){return this.longitude=t.longitude,this.latitude=t.latitude,this.height=t.height,this}equals(t){return t.longitude===this.longitude&&t.latitude===this.latitude&&t.height===this.height}setLongitude(t){return this.longitude=t,this}setLatitude(t){return this.latitude=t,this}setHeight(t){return this.height=t,this}normalize(){return this.longitude<A.MIN_LONGITUDE&&(this.longitude+=Math.PI*2),this}setFromECEF(t,i){const r=(i?.ellipsoid??E.WGS84).reciprocalRadiiSquared(q),s=L(t,r,F,i);if(s==null)throw new Error(`Could not project position to ellipsoid surface: ${t.toArray()}`);const n=q.multiplyVectors(s,r).normalize();this.longitude=Math.atan2(n.y,n.x),this.latitude=Math.asin(n.z);const c=q.subVectors(t,s);return this.height=Math.sign(c.dot(t))*c.length(),this}toECEF(t=new o.Vector3,i){const e=i?.ellipsoid??E.WGS84,r=q.multiplyVectors(e.radii,e.radii),s=Math.cos(this.latitude),n=F.set(s*Math.cos(this.longitude),s*Math.sin(this.longitude),Math.sin(this.latitude)).normalize();return t.multiplyVectors(r,n),t.divideScalar(Math.sqrt(n.dot(t))).add(n.multiplyScalar(this.height))}fromArray(t,i=0){return this.longitude=t[i],this.latitude=t[i+1],this.height=t[i+2],this}toArray(t=[],i=0){return t[i]=this.longitude,t[i+1]=this.latitude,t[i+2]=this.height,t}*[Symbol.iterator](){yield this.longitude,yield this.latitude,yield this.height}}exports.Ellipsoid=E;exports.EllipsoidGeometry=C;exports.Geodetic=A;
|
|
2
|
+
//# sourceMappingURL=shared2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared2.cjs","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","Ellipsoid","a2","b2","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","invariant","normal","direction","v","q","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset"],"mappings":"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"}
|
package/build/shared2.js
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { Vector3 as a, Matrix4 as G, BufferGeometry as j, BufferAttribute as N } from "three";
|
|
2
|
+
import { i as L } from "./shared.js";
|
|
3
|
+
const B = /* @__PURE__ */ new a();
|
|
4
|
+
function O(v, t, i = new a(), s) {
|
|
5
|
+
const { x: r, y: e, z: n } = v, o = t.x, h = t.y, u = t.z, d = r * r * o, m = e * e * h, c = n * n * u, l = d + m + c, y = Math.sqrt(1 / l);
|
|
6
|
+
if (!Number.isFinite(y))
|
|
7
|
+
return;
|
|
8
|
+
const w = B.copy(v).multiplyScalar(y);
|
|
9
|
+
if (l < (s?.centerTolerance ?? 0.1))
|
|
10
|
+
return i.copy(w);
|
|
11
|
+
const z = w.multiply(t).multiplyScalar(2);
|
|
12
|
+
let p = (1 - y) * v.length() / (z.length() / 2), f = 0, x, M, g, I;
|
|
13
|
+
do {
|
|
14
|
+
p -= f, x = 1 / (1 + p * o), M = 1 / (1 + p * h), g = 1 / (1 + p * u);
|
|
15
|
+
const U = x * x, V = M * M, F = g * g, P = U * x, C = V * M, D = F * g;
|
|
16
|
+
I = d * U + m * V + c * F - 1, f = I / ((d * P * o + m * C * h + c * D * u) * -2);
|
|
17
|
+
} while (Math.abs(I) > 1e-12);
|
|
18
|
+
return i.set(r * x, e * M, n * g);
|
|
19
|
+
}
|
|
20
|
+
const E = /* @__PURE__ */ new a(), b = /* @__PURE__ */ new a(), S = /* @__PURE__ */ new a();
|
|
21
|
+
class A {
|
|
22
|
+
static WGS84 = /* @__PURE__ */ new A(
|
|
23
|
+
6378137,
|
|
24
|
+
6378137,
|
|
25
|
+
6356752314245179e-9
|
|
26
|
+
);
|
|
27
|
+
radii;
|
|
28
|
+
constructor(t, i, s) {
|
|
29
|
+
this.radii = new a(t, i, s);
|
|
30
|
+
}
|
|
31
|
+
// TODO: Rename to semiMinorAxis
|
|
32
|
+
get minimumRadius() {
|
|
33
|
+
return Math.min(this.radii.x, this.radii.y, this.radii.z);
|
|
34
|
+
}
|
|
35
|
+
// TODO: Rename to semiMajorAxis
|
|
36
|
+
get maximumRadius() {
|
|
37
|
+
return Math.max(this.radii.x, this.radii.y, this.radii.z);
|
|
38
|
+
}
|
|
39
|
+
get flattening() {
|
|
40
|
+
return 1 - this.minimumRadius / this.maximumRadius;
|
|
41
|
+
}
|
|
42
|
+
get eccentricity() {
|
|
43
|
+
return Math.sqrt(this.eccentricitySquared);
|
|
44
|
+
}
|
|
45
|
+
get eccentricitySquared() {
|
|
46
|
+
const t = this.maximumRadius ** 2, i = this.minimumRadius ** 2;
|
|
47
|
+
return (t - i) / t;
|
|
48
|
+
}
|
|
49
|
+
reciprocalRadii(t = new a()) {
|
|
50
|
+
const { x: i, y: s, z: r } = this.radii;
|
|
51
|
+
return t.set(1 / i, 1 / s, 1 / r);
|
|
52
|
+
}
|
|
53
|
+
reciprocalRadiiSquared(t = new a()) {
|
|
54
|
+
const { x: i, y: s, z: r } = this.radii;
|
|
55
|
+
return t.set(1 / i ** 2, 1 / s ** 2, 1 / r ** 2);
|
|
56
|
+
}
|
|
57
|
+
projectOnSurface(t, i = new a(), s) {
|
|
58
|
+
return O(
|
|
59
|
+
t,
|
|
60
|
+
this.reciprocalRadiiSquared(),
|
|
61
|
+
i,
|
|
62
|
+
s
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
getSurfaceNormal(t, i = new a()) {
|
|
66
|
+
return i.multiplyVectors(this.reciprocalRadiiSquared(E), t).normalize();
|
|
67
|
+
}
|
|
68
|
+
getEastNorthUpVectors(t, i = new a(), s = new a(), r = new a()) {
|
|
69
|
+
this.getSurfaceNormal(t, r), i.set(-t.y, t.x, 0).normalize(), s.crossVectors(r, i).normalize();
|
|
70
|
+
}
|
|
71
|
+
getEastNorthUpFrame(t, i = new G()) {
|
|
72
|
+
const s = E, r = b, e = S;
|
|
73
|
+
return this.getEastNorthUpVectors(t, s, r, e), i.makeBasis(s, r, e).setPosition(t);
|
|
74
|
+
}
|
|
75
|
+
getNorthUpEastFrame(t, i = new G()) {
|
|
76
|
+
const s = E, r = b, e = S;
|
|
77
|
+
return this.getEastNorthUpVectors(t, s, r, e), i.makeBasis(r, e, s).setPosition(t);
|
|
78
|
+
}
|
|
79
|
+
getIntersection(t, i = new a()) {
|
|
80
|
+
const s = this.reciprocalRadii(E), r = b.copy(s).multiply(t.origin), e = S.copy(s).multiply(t.direction), n = r.lengthSq(), o = e.lengthSq(), h = r.dot(e), u = h ** 2 - o * (n - 1);
|
|
81
|
+
if (n === 1)
|
|
82
|
+
return i.copy(t.origin);
|
|
83
|
+
if (n > 1) {
|
|
84
|
+
if (h >= 0 || u < 0)
|
|
85
|
+
return;
|
|
86
|
+
const d = Math.sqrt(u), m = (-h - d) / o, c = (-h + d) / o;
|
|
87
|
+
return t.at(Math.min(m, c), i);
|
|
88
|
+
}
|
|
89
|
+
if (n < 1) {
|
|
90
|
+
const d = h ** 2 - o * (n - 1), m = Math.sqrt(d), c = (-h + m) / o;
|
|
91
|
+
return t.at(c, i);
|
|
92
|
+
}
|
|
93
|
+
if (h < 0)
|
|
94
|
+
return t.at(-h / o, i);
|
|
95
|
+
}
|
|
96
|
+
getOsculatingSphereCenter(t, i, s = new a()) {
|
|
97
|
+
L(this.radii.x === this.radii.y);
|
|
98
|
+
const r = this.radii.x ** 2, e = this.radii.z ** 2, n = E.set(
|
|
99
|
+
t.x / r,
|
|
100
|
+
t.y / r,
|
|
101
|
+
t.z / e
|
|
102
|
+
).normalize();
|
|
103
|
+
return s.copy(n.multiplyScalar(-i).add(t));
|
|
104
|
+
}
|
|
105
|
+
getNormalAtHorizon(t, i, s = new a()) {
|
|
106
|
+
L(this.radii.x === this.radii.y);
|
|
107
|
+
const r = this.radii.x ** 2, e = this.radii.z ** 2, n = t, o = i;
|
|
108
|
+
let h = (n.x * o.x + n.y * o.y) / r + n.z * o.z / e;
|
|
109
|
+
h /= (n.x ** 2 + n.y ** 2) / r + n.z ** 2 / e;
|
|
110
|
+
const u = E.copy(o).multiplyScalar(-h).add(t);
|
|
111
|
+
return s.set(u.x / r, u.y / r, u.z / e).normalize();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
class k extends j {
|
|
115
|
+
type = "EllipsoidGeometry";
|
|
116
|
+
parameters;
|
|
117
|
+
constructor(t = new a(1, 1, 1), i = 32, s = 16) {
|
|
118
|
+
super(), this.parameters = {
|
|
119
|
+
radii: t,
|
|
120
|
+
longitudeSegments: i,
|
|
121
|
+
latitudeSegments: s
|
|
122
|
+
}, i = Math.max(3, Math.floor(i)), s = Math.max(2, Math.floor(s));
|
|
123
|
+
const r = (i + 1) * (s + 1), e = new a(), n = new a(), o = new Float32Array(r * 3), h = new Float32Array(r * 3), u = new Float32Array(r * 2), d = [], m = [];
|
|
124
|
+
for (let c = 0, l = 0, y = 0, w = 0; c <= s; ++c) {
|
|
125
|
+
const z = [], p = c / s, f = p * Math.PI;
|
|
126
|
+
let x = 0;
|
|
127
|
+
c === 0 ? x = 0.5 / i : c === s && (x = -0.5 / i);
|
|
128
|
+
for (let M = 0; M <= i; ++M, l += 3, y += 2, ++w) {
|
|
129
|
+
const g = M / i, I = g * Math.PI * 2;
|
|
130
|
+
e.x = t.x * Math.cos(I) * Math.sin(f), e.y = t.y * Math.sin(I) * Math.sin(f), e.z = t.z * Math.cos(f), o[l] = e.x, o[l + 1] = e.y, o[l + 2] = e.z, n.copy(e).normalize(), h[l] = n.x, h[l + 1] = n.y, h[l + 2] = n.z, u[y] = g + x, u[y + 1] = 1 - p, z.push(w);
|
|
131
|
+
}
|
|
132
|
+
d.push(z);
|
|
133
|
+
}
|
|
134
|
+
for (let c = 0; c < s; ++c)
|
|
135
|
+
for (let l = 0; l < i; ++l) {
|
|
136
|
+
const y = d[c][l + 1], w = d[c][l], z = d[c + 1][l], p = d[c + 1][l + 1];
|
|
137
|
+
c !== 0 && m.push(y, w, p), c !== s - 1 && m.push(w, z, p);
|
|
138
|
+
}
|
|
139
|
+
this.setIndex(m), this.setAttribute("position", new N(o, 3)), this.setAttribute("normal", new N(h, 3)), this.setAttribute("uv", new N(u, 2));
|
|
140
|
+
}
|
|
141
|
+
copy(t) {
|
|
142
|
+
return super.copy(t), this.parameters = { ...t.parameters }, this;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const q = /* @__PURE__ */ new a(), T = /* @__PURE__ */ new a();
|
|
146
|
+
class R {
|
|
147
|
+
constructor(t = 0, i = 0, s = 0) {
|
|
148
|
+
this.longitude = t, this.latitude = i, this.height = s;
|
|
149
|
+
}
|
|
150
|
+
static MIN_LONGITUDE = -Math.PI;
|
|
151
|
+
static MAX_LONGITUDE = Math.PI;
|
|
152
|
+
static MIN_LATITUDE = -Math.PI / 2;
|
|
153
|
+
static MAX_LATITUDE = Math.PI / 2;
|
|
154
|
+
set(t, i, s) {
|
|
155
|
+
return this.longitude = t, this.latitude = i, s != null && (this.height = s), this;
|
|
156
|
+
}
|
|
157
|
+
clone() {
|
|
158
|
+
return new R(this.longitude, this.latitude, this.height);
|
|
159
|
+
}
|
|
160
|
+
copy(t) {
|
|
161
|
+
return this.longitude = t.longitude, this.latitude = t.latitude, this.height = t.height, this;
|
|
162
|
+
}
|
|
163
|
+
equals(t) {
|
|
164
|
+
return t.longitude === this.longitude && t.latitude === this.latitude && t.height === this.height;
|
|
165
|
+
}
|
|
166
|
+
setLongitude(t) {
|
|
167
|
+
return this.longitude = t, this;
|
|
168
|
+
}
|
|
169
|
+
setLatitude(t) {
|
|
170
|
+
return this.latitude = t, this;
|
|
171
|
+
}
|
|
172
|
+
setHeight(t) {
|
|
173
|
+
return this.height = t, this;
|
|
174
|
+
}
|
|
175
|
+
normalize() {
|
|
176
|
+
return this.longitude < R.MIN_LONGITUDE && (this.longitude += Math.PI * 2), this;
|
|
177
|
+
}
|
|
178
|
+
// See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
|
|
179
|
+
// Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Geodetic.js#L119
|
|
180
|
+
setFromECEF(t, i) {
|
|
181
|
+
const r = (i?.ellipsoid ?? A.WGS84).reciprocalRadiiSquared(q), e = O(
|
|
182
|
+
t,
|
|
183
|
+
r,
|
|
184
|
+
T,
|
|
185
|
+
i
|
|
186
|
+
);
|
|
187
|
+
if (e == null)
|
|
188
|
+
throw new Error(
|
|
189
|
+
`Could not project position to ellipsoid surface: ${t.toArray()}`
|
|
190
|
+
);
|
|
191
|
+
const n = q.multiplyVectors(e, r).normalize();
|
|
192
|
+
this.longitude = Math.atan2(n.y, n.x), this.latitude = Math.asin(n.z);
|
|
193
|
+
const o = q.subVectors(t, e);
|
|
194
|
+
return this.height = Math.sign(o.dot(t)) * o.length(), this;
|
|
195
|
+
}
|
|
196
|
+
// See: https://en.wikipedia.org/wiki/Geographic_coordinate_conversion
|
|
197
|
+
// Reference: https://github.com/CesiumGS/cesium/blob/1.122/packages/engine/Source/Core/Cartesian3.js#L916
|
|
198
|
+
toECEF(t = new a(), i) {
|
|
199
|
+
const s = i?.ellipsoid ?? A.WGS84, r = q.multiplyVectors(
|
|
200
|
+
s.radii,
|
|
201
|
+
s.radii
|
|
202
|
+
), e = Math.cos(this.latitude), n = T.set(
|
|
203
|
+
e * Math.cos(this.longitude),
|
|
204
|
+
e * Math.sin(this.longitude),
|
|
205
|
+
Math.sin(this.latitude)
|
|
206
|
+
).normalize();
|
|
207
|
+
return t.multiplyVectors(r, n), t.divideScalar(Math.sqrt(n.dot(t))).add(n.multiplyScalar(this.height));
|
|
208
|
+
}
|
|
209
|
+
fromArray(t, i = 0) {
|
|
210
|
+
return this.longitude = t[i], this.latitude = t[i + 1], this.height = t[i + 2], this;
|
|
211
|
+
}
|
|
212
|
+
toArray(t = [], i = 0) {
|
|
213
|
+
return t[i] = this.longitude, t[i + 1] = this.latitude, t[i + 2] = this.height, t;
|
|
214
|
+
}
|
|
215
|
+
*[Symbol.iterator]() {
|
|
216
|
+
yield this.longitude, yield this.latitude, yield this.height;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
export {
|
|
220
|
+
A as E,
|
|
221
|
+
R as G,
|
|
222
|
+
k as a
|
|
223
|
+
};
|
|
224
|
+
//# sourceMappingURL=shared2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared2.js","sources":["../src/helpers/projectOnEllipsoidSurface.ts","../src/Ellipsoid.ts","../src/EllipsoidGeometry.ts","../src/Geodetic.ts"],"sourcesContent":null,"names":["vectorScratch","Vector3","projectOnEllipsoidSurface","position","reciprocalRadiiSquared","result","options","x","y","z","rx","ry","rz","x2","y2","z2","normSquared","ratio","intersection","gradient","lambda","correction","sx","sy","sz","error","sx2","sy2","sz2","sx3","sy3","sz3","vectorScratch1","vectorScratch2","vectorScratch3","Ellipsoid","a2","b2","east","north","up","Matrix4","ray","reciprocalRadii","p","d","p2","d2","pd","discriminant","Q","t1","t2","t","surfacePosition","radius","invariant","normal","direction","v","q","EllipsoidGeometry","BufferGeometry","radii","longitudeSegments","latitudeSegments","elementCount","vertex","vertices","normals","uvs","grid","indices","vertexIndex","uvIndex","rowIndex","rowIndices","phi","uOffset","u","theta","a","b","c","BufferAttribute","source","Geodetic","longitude","latitude","height","other","value","projection","ellipsoid","radiiSquared","cosLatitude","array","offset"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("three");class t extends e.BufferGeometry{constructor(){super(),this.boundingSphere=new e.Sphere,this.boundingSphere.set(new e.Vector3,1/0),this.setAttribute("position",new e.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new e.Float32BufferAttribute([0,-1,0,1,2,1],2))}}exports.QuadGeometry=t;
|
|
2
|
+
//# sourceMappingURL=shared3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared3.cjs","sources":["../src/QuadGeometry.ts"],"sourcesContent":null,"names":["QuadGeometry","BufferGeometry","Sphere","Vector3","Float32BufferAttribute"],"mappings":"sCAEO,MAAMA,UAAqBC,EAAAA,cAAe,CAC/C,aAAc,CACZ,MAAA,EACA,KAAK,eAAiB,IAAIC,SAC1B,KAAK,eAAe,IAAI,IAAIC,EAAAA,QAAW,GAAQ,EAC/C,KAAK,aACH,WACA,IAAIC,yBAAuB,CAAC,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,CAAC,EAAG,CAAC,CAAA,EAE/D,KAAK,aAAa,KAAM,IAAIA,EAAAA,uBAAuB,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,CAAC,CAC5E,CACF"}
|
package/build/shared3.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BufferGeometry as t, Sphere as r, Vector3 as i, Float32BufferAttribute as e } from "three";
|
|
2
|
+
class o extends t {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(), this.boundingSphere = new r(), this.boundingSphere.set(new i(), 1 / 0), this.setAttribute(
|
|
5
|
+
"position",
|
|
6
|
+
new e([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)
|
|
7
|
+
), this.setAttribute("uv", new e([0, -1, 0, 1, 2, 1], 2));
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
o as Q
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=shared3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared3.js","sources":["../src/QuadGeometry.ts"],"sourcesContent":null,"names":["QuadGeometry","BufferGeometry","Sphere","Vector3","Float32BufferAttribute"],"mappings":";AAEO,MAAMA,UAAqBC,EAAe;AAAA,EAC/C,cAAc;AACZ,UAAA,GACA,KAAK,iBAAiB,IAAIC,EAAA,GAC1B,KAAK,eAAe,IAAI,IAAIC,EAAA,GAAW,KAAQ,GAC/C,KAAK;AAAA,MACH;AAAA,MACA,IAAIC,EAAuB,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AAAA,IAAA,GAE/D,KAAK,aAAa,MAAM,IAAIA,EAAuB,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAAA,EAC5E;AACF;"}
|