@equinor/videx-3d 1.0.3 → 1.1.1
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/dist/{chunk-BolRQZt9.js → chunk-BlPg4RjP.js} +3 -1
- package/dist/generators.js +1 -1
- package/dist/main.js +1993 -1817
- package/dist/sdk.js +490 -316
- package/dist/types/components/EventEmitter/EventEmitterContext.d.ts +2 -1
- package/dist/types/components/EventEmitter/index.d.ts +1 -0
- package/dist/types/components/EventEmitter/picking-helper.d.ts +3 -0
- package/dist/types/components/EventEmitter/picking-material.d.ts +8 -5
- package/dist/types/components/Wellbores/Casings/CasingEmitterMaterial.d.ts +16 -0
- package/dist/types/components/Wellbores/Casings/CasingSection.d.ts +3 -2
- package/dist/types/components/Wellbores/Casings/Casings.d.ts +3 -2
- package/dist/types/sdk/geometries/planar-geometry.d.ts +69 -0
- package/dist/types/sdk/index.d.ts +2 -0
- package/dist/types/sdk/utils/geojson.d.ts +15 -0
- package/package.json +1 -1
package/dist/sdk.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { wrap as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { wrap as Y } from "comlink";
|
|
2
|
+
import R from "p-limit";
|
|
3
|
+
import { d as K } from "./chunk-iY0wQ9Z6.js";
|
|
4
|
+
import { x as xt, D as bt, P as vt, b as Mt, a as Ct, c as Et, T as Bt, y as At, z as zt, A as Ft, B as It, p as St, E as Lt, F as Vt, G as Tt, H as Pt, I as Dt, J as Gt, K as qt, L as jt, M as kt, e as Nt, N as Ot, o as Qt, O as Ut, Q as Wt, R as Ht, i as Zt, S as $t, U as Jt, V as Kt, X as Xt, g as Yt, Y as Rt, Z as te, _ as ee, $ as se, h as ie, m as ne, a0 as re, a1 as ae, a2 as oe, n as le, a3 as he, f as ce, a4 as fe, a5 as ue, a6 as de, a7 as ge, a8 as me, a9 as pe, aa as ye, ab as _e, ac as we, ad as xe, ae as be, af as ve, ag as Me, s as Ce, ah as Ee, ai as Be, aj as Ae, u as ze, ak as Fe } from "./chunk-iY0wQ9Z6.js";
|
|
5
|
+
import { C as Se, T as Le, c as Ve, b as Te, a as Pe, d as De, e as Ge, g as qe, f as je, t as ke, h as Ne, w as Oe } from "./chunk-CnY6Tmof.js";
|
|
6
|
+
import { D as Ue, c as We, a as He, b as Ze, d as $e, m as Je, t as Ke, e as Xe, f as Ye } from "./chunk-BlPg4RjP.js";
|
|
7
|
+
import { Vector2 as N, Shape as tt, Path as et } from "three";
|
|
8
|
+
const st = 10, it = 25;
|
|
9
|
+
class lt {
|
|
8
10
|
store;
|
|
9
11
|
config;
|
|
10
12
|
cached = /* @__PURE__ */ new Map();
|
|
@@ -12,7 +14,7 @@ class Y {
|
|
|
12
14
|
_batchqueue = /* @__PURE__ */ new Map();
|
|
13
15
|
_flushScheduled = null;
|
|
14
16
|
constructor(t, e = {}) {
|
|
15
|
-
this.store = t, this.config = { ...e }, this.config.batched && (this.config.batchSize === void 0 && (this.config.batchSize =
|
|
17
|
+
this.store = t, this.config = { ...e }, this.config.batched && (this.config.batchSize === void 0 && (this.config.batchSize = st), this.config.batchMaxDelay === void 0 && (this.config.batchMaxDelay = it)), this._flushScheduled = null;
|
|
16
18
|
}
|
|
17
19
|
async init(...t) {
|
|
18
20
|
if (this.config.init)
|
|
@@ -40,30 +42,30 @@ class Y {
|
|
|
40
42
|
if (this._batchqueue.has(t))
|
|
41
43
|
return this._batchqueue.get(t).promise;
|
|
42
44
|
let e = null;
|
|
43
|
-
const
|
|
44
|
-
e =
|
|
45
|
-
}),
|
|
45
|
+
const s = new Promise((r) => {
|
|
46
|
+
e = r;
|
|
47
|
+
}), i = {
|
|
46
48
|
key: t,
|
|
47
|
-
promise:
|
|
49
|
+
promise: s,
|
|
48
50
|
_resolve: e
|
|
49
51
|
};
|
|
50
|
-
return this._batchqueue.set(t,
|
|
52
|
+
return this._batchqueue.set(t, i), this._flushScheduled || (this._flushScheduled = setTimeout(() => {
|
|
51
53
|
this._processBatchQueue();
|
|
52
|
-
}, this.config.batchMaxDelay)),
|
|
54
|
+
}, this.config.batchMaxDelay)), s;
|
|
53
55
|
}
|
|
54
56
|
async _processBatch(t) {
|
|
55
|
-
const e = t.map((
|
|
57
|
+
const e = t.map((s) => s.key);
|
|
56
58
|
if (!this.config.batchLoad) return null;
|
|
57
|
-
this.config.batchLoad(e).then((
|
|
58
|
-
Array.isArray(
|
|
59
|
-
this.set(
|
|
59
|
+
this.config.batchLoad(e).then((s) => {
|
|
60
|
+
Array.isArray(s) && s.forEach(([i, r]) => {
|
|
61
|
+
this.set(i, r);
|
|
60
62
|
});
|
|
61
|
-
}).catch((
|
|
62
|
-
console.warn("Batch load failed",
|
|
63
|
+
}).catch((s) => {
|
|
64
|
+
console.warn("Batch load failed", s);
|
|
63
65
|
}).finally(() => {
|
|
64
|
-
t.forEach((
|
|
65
|
-
const
|
|
66
|
-
|
|
66
|
+
t.forEach((s) => {
|
|
67
|
+
const i = this.cached.get(s.key) || null;
|
|
68
|
+
s._resolve(i);
|
|
67
69
|
});
|
|
68
70
|
});
|
|
69
71
|
}
|
|
@@ -80,21 +82,21 @@ class Y {
|
|
|
80
82
|
if (!this.config.batched && this.config.load) {
|
|
81
83
|
if (this.config.noCache)
|
|
82
84
|
return this.config.load(t, e);
|
|
83
|
-
let
|
|
84
|
-
if (!
|
|
85
|
+
let s = this._activeLoaders[t];
|
|
86
|
+
if (!s) {
|
|
85
87
|
if (e)
|
|
86
88
|
throw Error(
|
|
87
89
|
"DataLoader: A load function with additional args may not be cached. Set noCache to true in config."
|
|
88
90
|
);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}).catch((
|
|
92
|
-
console.warn("Load failed",
|
|
91
|
+
s = this.config.load(t).then((i) => {
|
|
92
|
+
i && this.cached.set(t, i);
|
|
93
|
+
}).catch((i) => {
|
|
94
|
+
console.warn("Load failed", i);
|
|
93
95
|
}).finally(() => {
|
|
94
96
|
delete this._activeLoaders[t];
|
|
95
|
-
}), this._activeLoaders[t] =
|
|
97
|
+
}), this._activeLoaders[t] = s;
|
|
96
98
|
}
|
|
97
|
-
return await
|
|
99
|
+
return await s, this.config.transform ? this.config.transform(this.cached.get(t)) : this.cached.get(t);
|
|
98
100
|
}
|
|
99
101
|
return this.config.batched && this.config.batchLoad ? this._enqueueRequest(t) : null;
|
|
100
102
|
}
|
|
@@ -105,7 +107,7 @@ class Y {
|
|
|
105
107
|
this.cached.clear();
|
|
106
108
|
}
|
|
107
109
|
}
|
|
108
|
-
class
|
|
110
|
+
class ht {
|
|
109
111
|
store = null;
|
|
110
112
|
config;
|
|
111
113
|
generators = /* @__PURE__ */ new Map();
|
|
@@ -117,17 +119,17 @@ class R {
|
|
|
117
119
|
}
|
|
118
120
|
setStore(t) {
|
|
119
121
|
if (t && this.config.concurrentStoreCalls) {
|
|
120
|
-
const e =
|
|
121
|
-
get: (r, n
|
|
122
|
-
all: (
|
|
123
|
-
query: (
|
|
122
|
+
const e = R(this.config.concurrentStoreCalls), s = {
|
|
123
|
+
get: (i, r, n) => e(() => t.get(i, r, n)),
|
|
124
|
+
all: (i) => e(() => t.all(i)),
|
|
125
|
+
query: (i, r) => e(() => t.query(i, r))
|
|
124
126
|
};
|
|
125
|
-
this.store =
|
|
127
|
+
this.store = s;
|
|
126
128
|
} else
|
|
127
129
|
this.store = t;
|
|
128
130
|
}
|
|
129
131
|
async connectRemoteStore(t) {
|
|
130
|
-
const e =
|
|
132
|
+
const e = Y(t);
|
|
131
133
|
this.setStore(e);
|
|
132
134
|
}
|
|
133
135
|
async invoke(t, ...e) {
|
|
@@ -137,96 +139,262 @@ class R {
|
|
|
137
139
|
return this.generators.get(t).bind(this.store)(...e);
|
|
138
140
|
}
|
|
139
141
|
}
|
|
140
|
-
|
|
142
|
+
class W {
|
|
143
|
+
type;
|
|
144
|
+
coordinates;
|
|
145
|
+
_min = null;
|
|
146
|
+
_max = null;
|
|
147
|
+
_size = null;
|
|
148
|
+
_offset = [0, 0];
|
|
149
|
+
constructor(t, e, s) {
|
|
150
|
+
this.type = t, this.coordinates = e, s && (this._offset[0] = s[0], this._offset[1] = s[1]);
|
|
151
|
+
}
|
|
152
|
+
static fromPointCoordinates(t, e) {
|
|
153
|
+
const s = e ? t.map(e) : t;
|
|
154
|
+
return new H(s);
|
|
155
|
+
}
|
|
156
|
+
static fromLineCoordinates(t, e) {
|
|
157
|
+
const s = e ? t.map((i) => i.map(e)) : t;
|
|
158
|
+
return new Z(s);
|
|
159
|
+
}
|
|
160
|
+
static fromPolygonCoordinates(t, e) {
|
|
161
|
+
const s = e ? t.map((i) => i.map((r) => r.map(e))) : t;
|
|
162
|
+
return new $(s);
|
|
163
|
+
}
|
|
164
|
+
_calculateBounds() {
|
|
165
|
+
const t = [1 / 0, 1 / 0], e = [-1 / 0, -1 / 0], s = (i) => {
|
|
166
|
+
i[0] < t[0] && (t[0] = i[0]), i[0] > e[0] && (e[0] = i[0]), i[1] < t[1] && (t[1] = i[1]), i[1] > e[1] && (e[1] = i[1]);
|
|
167
|
+
};
|
|
168
|
+
this.forEachCoordinate(s), this._min = t, this._max = e, this._size = [e[0] - t[0], e[1] - t[1]];
|
|
169
|
+
}
|
|
170
|
+
get min() {
|
|
171
|
+
return this._min || this._calculateBounds(), [...this._min];
|
|
172
|
+
}
|
|
173
|
+
get max() {
|
|
174
|
+
return this._max || this._calculateBounds(), [...this._max];
|
|
175
|
+
}
|
|
176
|
+
get center() {
|
|
177
|
+
return (!this._min || !this._max || !this._size) && this._calculateBounds(), [
|
|
178
|
+
this.min[0] + this.size[0] / 2,
|
|
179
|
+
this.min[1] + this.size[1] / 2
|
|
180
|
+
];
|
|
181
|
+
}
|
|
182
|
+
get size() {
|
|
183
|
+
return this._size || this._calculateBounds(), [...this._size];
|
|
184
|
+
}
|
|
185
|
+
get offset() {
|
|
186
|
+
return [...this._offset];
|
|
187
|
+
}
|
|
188
|
+
setOffset(t) {
|
|
189
|
+
this.forEachCoordinate((e) => {
|
|
190
|
+
e[0] -= t[0], e[1] -= t[1];
|
|
191
|
+
}), this._min && (this._min[0] -= t[0], this._min[1] -= t[1]), this._max && (this._max[0] -= t[0], this._max[1] -= t[1]), this._offset[0] += t[0], this._offset[1] += t[1];
|
|
192
|
+
}
|
|
193
|
+
removeOffset() {
|
|
194
|
+
(this._offset[0] !== 0 || this._offset[1] !== 0) && (this.forEachCoordinate((t) => {
|
|
195
|
+
t[0] += this._offset[0], t[1] += this._offset[1];
|
|
196
|
+
}), this._min = null, this._max = null, this._size = null, this._offset = [0, 0]);
|
|
197
|
+
}
|
|
198
|
+
centralize() {
|
|
199
|
+
this.setOffset(this.center);
|
|
200
|
+
}
|
|
201
|
+
normalize(t = [1, 1], e = [0, 0]) {
|
|
202
|
+
this.centralize();
|
|
203
|
+
const s = this.getBounds();
|
|
204
|
+
this.forEachCoordinate((i) => {
|
|
205
|
+
i[0] = K((i[0] - s.min[0]) / s.size[0]) * t[0] + e[0], i[1] = K((i[1] - s.min[1]) / s.size[1]) * t[1] + e[1];
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
transform(t) {
|
|
209
|
+
(this._offset[0] !== 0 || this._offset[1] !== 0) && this.removeOffset(), this.forEachCoordinate((e) => {
|
|
210
|
+
const s = t(e);
|
|
211
|
+
e[0] = s[0], e[1] = s[1];
|
|
212
|
+
}), this._min = null, this._max = null, this._size = null;
|
|
213
|
+
}
|
|
214
|
+
toObject() {
|
|
215
|
+
return {
|
|
216
|
+
type: this.type.toString(),
|
|
217
|
+
coordinates: structuredClone(this.coordinates),
|
|
218
|
+
offset: this.offset
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
getPointsFlattened() {
|
|
222
|
+
const t = [];
|
|
223
|
+
return this.forEachCoordinate((e) => {
|
|
224
|
+
t.push(new N(e[0], e[1]));
|
|
225
|
+
}), t;
|
|
226
|
+
}
|
|
227
|
+
getBounds() {
|
|
228
|
+
return {
|
|
229
|
+
min: this.min,
|
|
230
|
+
max: this.max,
|
|
231
|
+
size: this.size
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
class H extends W {
|
|
236
|
+
constructor(t, e) {
|
|
237
|
+
super("point2d", t, e);
|
|
238
|
+
}
|
|
239
|
+
forEachCoordinate(t) {
|
|
240
|
+
this.coordinates.forEach((s) => t(s));
|
|
241
|
+
}
|
|
242
|
+
getPoints() {
|
|
243
|
+
return this.coordinates.map((e) => [new N(e[0], e[1])]);
|
|
244
|
+
}
|
|
245
|
+
clone() {
|
|
246
|
+
return new H(
|
|
247
|
+
structuredClone(this.coordinates),
|
|
248
|
+
this.offset
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
class Z extends W {
|
|
253
|
+
constructor(t, e) {
|
|
254
|
+
super("line2d", t, e);
|
|
255
|
+
}
|
|
256
|
+
forEachCoordinate(t) {
|
|
257
|
+
this.coordinates.forEach((s) => s.forEach((i) => t(i)));
|
|
258
|
+
}
|
|
259
|
+
getPoints() {
|
|
260
|
+
return this.coordinates.map((e) => e.map((s) => new N(s[0], s[1])));
|
|
261
|
+
}
|
|
262
|
+
clone() {
|
|
263
|
+
return new Z(
|
|
264
|
+
structuredClone(this.coordinates),
|
|
265
|
+
this.offset
|
|
266
|
+
);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
class $ extends W {
|
|
270
|
+
constructor(t, e) {
|
|
271
|
+
super("polygon2d", t, e);
|
|
272
|
+
}
|
|
273
|
+
forEachCoordinate(t) {
|
|
274
|
+
this.coordinates.forEach((s) => s.forEach((i) => i.forEach((r) => t(r))));
|
|
275
|
+
}
|
|
276
|
+
getPoints() {
|
|
277
|
+
return this.coordinates.map(
|
|
278
|
+
(e) => e.reduce(
|
|
279
|
+
(s, i) => s.concat(i.map((r) => new N(r[0], r[1]))),
|
|
280
|
+
[]
|
|
281
|
+
)
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
clone() {
|
|
285
|
+
return new $(
|
|
286
|
+
structuredClone(this.coordinates),
|
|
287
|
+
this._offset
|
|
288
|
+
);
|
|
289
|
+
}
|
|
290
|
+
toShapes() {
|
|
291
|
+
const t = [], e = (i, r) => {
|
|
292
|
+
i.moveTo(r[0][0], r[0][1]);
|
|
293
|
+
for (let n = 1; n < r.length; n++)
|
|
294
|
+
i.lineTo(r[n][0], r[n][1]);
|
|
295
|
+
i.closePath();
|
|
296
|
+
};
|
|
297
|
+
return this.coordinates.forEach((i) => {
|
|
298
|
+
const r = new tt(), n = i[0];
|
|
299
|
+
e(r, n);
|
|
300
|
+
for (let a = 1; a < i.length; a++) {
|
|
301
|
+
const c = new et();
|
|
302
|
+
e(c, i[a]), r.holes.push(c);
|
|
303
|
+
}
|
|
304
|
+
t.push(r);
|
|
305
|
+
}), t;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
function ct(u, t, e = 1, s = 1, i = (r) => r) {
|
|
141
309
|
console.time("triangulate");
|
|
142
|
-
const
|
|
143
|
-
let
|
|
144
|
-
const
|
|
145
|
-
function j(
|
|
146
|
-
return
|
|
147
|
-
}
|
|
148
|
-
function
|
|
149
|
-
|
|
310
|
+
const r = [], n = [], a = [], c = [], h = u.length / t;
|
|
311
|
+
let o, l, d, g, b, y, _, v, C, A, x, z, M, E, B, G, f, O, V, T, P, m, w, Q, X = 0, U = 0, J = 0, I = new Array(t).fill(null), q = new Array(t).fill(null);
|
|
312
|
+
const p = new Array(t - 1).fill(null);
|
|
313
|
+
function j(F, L, D) {
|
|
314
|
+
return r.push({ x: F * e, y: D, z: L * s, edge: null }), a.push(F / (t - 1), 1 - L / (h - 1)), X++;
|
|
315
|
+
}
|
|
316
|
+
function S(F, L, D) {
|
|
317
|
+
V = {
|
|
150
318
|
index: U++,
|
|
151
|
-
tail:
|
|
152
|
-
head:
|
|
319
|
+
tail: F,
|
|
320
|
+
head: L,
|
|
153
321
|
twin: null,
|
|
154
322
|
prev: null,
|
|
155
323
|
next: null
|
|
156
|
-
},
|
|
324
|
+
}, T = {
|
|
157
325
|
index: U++,
|
|
158
|
-
tail:
|
|
159
|
-
head:
|
|
326
|
+
tail: L,
|
|
327
|
+
head: D,
|
|
160
328
|
twin: null,
|
|
161
329
|
prev: null,
|
|
162
330
|
next: null
|
|
163
|
-
},
|
|
331
|
+
}, P = {
|
|
164
332
|
index: U++,
|
|
165
|
-
tail:
|
|
166
|
-
head:
|
|
333
|
+
tail: D,
|
|
334
|
+
head: F,
|
|
167
335
|
twin: null,
|
|
168
336
|
prev: null,
|
|
169
337
|
next: null
|
|
170
|
-
},
|
|
338
|
+
}, V.next = T, T.next = P, P.next = V, V.prev = P, T.prev = V, P.prev = T, r[F].edge || (r[F].edge = V), r[L].edge || (r[L].edge = T), r[D].edge || (r[D].edge = P), n.push(V, T, P), c.push(F, L, D);
|
|
171
339
|
}
|
|
172
|
-
for (
|
|
340
|
+
for (G = 1; G < h - 1; G++) {
|
|
173
341
|
Q = !1;
|
|
174
|
-
const
|
|
175
|
-
for (
|
|
176
|
-
f =
|
|
342
|
+
const F = I;
|
|
343
|
+
for (I = q, q = F.fill(null), m = null, O = G - 1, J += t, B = 1; B < t - 1; B++)
|
|
344
|
+
f = B - 1, A = J + B, C = A - 1, v = A - t, _ = v - 1, x = i(u[_]), z = i(u[v]), M = i(u[C]), E = i(u[A]), x !== null && z !== null && M !== null && E !== null ? w = 1 : x !== null && z !== null && M !== null ? w = 2 : x !== null && z !== null && E !== null ? w = 3 : x !== null && M !== null && E !== null ? w = 4 : z !== null && M !== null && E !== null ? w = 5 : w = 0, d = null, g = null, w !== 0 ? (Q ? (o = I[f], d = q[f]) : (w !== 5 && (I[f] === null ? (o = j(f, O, x), I[f] = o) : o = I[f]), w !== 3 && (d = j(f, G, M)), q[f] = d), w !== 4 && (I[B] === null ? (l = j(B, O, z), I[B] = l) : l = I[B]), w !== 2 && (g = j(B, G, E)), w === 1 ? (b = Math.abs(r[o].y - r[g].y), y = Math.abs(r[l].y - r[d].y), b < y ? (S(o, d, g), m !== null && (n[n.length - 3].twin = m, m.twin = n[n.length - 3]), S(g, l, o), p[f] !== null && (n[n.length - 2].twin = p[f], p[f].twin = n[n.length - 2]), n[n.length - 4].twin = n[n.length - 1], n[n.length - 1].twin = n[n.length - 4], p[f] = n[n.length - 5], m = n[n.length - 3]) : (S(o, d, l), p[f] !== null && (n[n.length - 1].twin = p[f], p[f].twin = n[n.length - 1]), m !== null && (n[n.length - 3].twin = m, m.twin = n[n.length - 3]), S(l, d, g), n[n.length - 5].twin = n[n.length - 3], n[n.length - 3].twin = n[n.length - 5], p[f] = n[n.length - 2], m = n[n.length - 1])) : w === 2 ? (S(o, d, l), p[f] !== null && (n[n.length - 1].twin = p[f], p[f].twin = n[n.length - 1]), m !== null && (n[n.length - 3].twin = m, m.twin = n[n.length - 3]), p[f] = null, m = null) : w === 5 ? (S(l, d, g), p[f] = n[n.length - 2], m = n[n.length - 1]) : w === 3 ? (S(l, o, g), p[f] !== null && (n[n.length - 3].twin = p[f], p[f].twin = n[n.length - 3]), p[f] = null, m = n[n.length - 1]) : (S(o, d, g), m !== null && (n[n.length - 3].twin = m, m.twin = n[n.length - 3]), p[f] = n[n.length - 2], m = null)) : (p[f] = null, m = null), q[B] = g, Q = !!w;
|
|
177
345
|
}
|
|
178
|
-
return console.timeEnd("triangulate"), console.log(c.length / 3), { vertices:
|
|
346
|
+
return console.timeEnd("triangulate"), console.log(c.length / 3), { vertices: r, indices: c, uvs: a, edges: n };
|
|
179
347
|
}
|
|
180
|
-
const
|
|
181
|
-
function
|
|
348
|
+
const ft = (u) => `#${u.toString(16).padStart(6, "0")}`;
|
|
349
|
+
function ut() {
|
|
182
350
|
const u = "123456789ABCDEF";
|
|
183
351
|
let t = "#";
|
|
184
352
|
for (let e = 0; e < 6; e++)
|
|
185
353
|
t += u[Math.floor(Math.random() * 16)];
|
|
186
354
|
return t;
|
|
187
355
|
}
|
|
188
|
-
async function
|
|
189
|
-
const
|
|
190
|
-
ny:
|
|
191
|
-
xori:
|
|
192
|
-
xmax:
|
|
193
|
-
yori:
|
|
194
|
-
ymax:
|
|
195
|
-
xinc:
|
|
196
|
-
yinc:
|
|
197
|
-
nx:
|
|
198
|
-
rot:
|
|
199
|
-
},
|
|
200
|
-
let h,
|
|
201
|
-
for (; y <
|
|
202
|
-
|
|
203
|
-
for (let
|
|
204
|
-
h =
|
|
205
|
-
y +=
|
|
206
|
-
}
|
|
207
|
-
return { header:
|
|
356
|
+
async function dt(u, t = -1, e = null) {
|
|
357
|
+
const s = await u.arrayBuffer(), i = new DataView(s), r = {
|
|
358
|
+
ny: i.getInt32(8, !1),
|
|
359
|
+
xori: i.getFloat32(12, !1),
|
|
360
|
+
xmax: i.getFloat32(16, !1),
|
|
361
|
+
yori: i.getFloat32(20, !1),
|
|
362
|
+
ymax: i.getFloat32(24, !1),
|
|
363
|
+
xinc: i.getFloat32(28, !1),
|
|
364
|
+
yinc: i.getFloat32(32, !1),
|
|
365
|
+
nx: i.getInt32(44, !1),
|
|
366
|
+
rot: i.getFloat32(48, !1)
|
|
367
|
+
}, n = 1e30, a = 1e-30, c = new Float32Array(r.nx * r.ny);
|
|
368
|
+
let h, o, l, d, g, b = 0, y = 100;
|
|
369
|
+
for (; y < i.byteLength; ) {
|
|
370
|
+
o = i.getInt32(y), y += 4;
|
|
371
|
+
for (let _ = 0; _ < o; _ += 4)
|
|
372
|
+
h = i.getFloat32(y + _, !1), l = b % r.nx, d = r.ny - Math.floor(b / r.nx), g = (d - 1) * r.nx + l, c[g] = h < a || h > n ? t : e ? e - h : h, b++;
|
|
373
|
+
y += o + 4;
|
|
374
|
+
}
|
|
375
|
+
return { header: r, data: c };
|
|
208
376
|
}
|
|
209
|
-
function
|
|
377
|
+
function gt(u) {
|
|
210
378
|
return u.map((t) => -t);
|
|
211
379
|
}
|
|
212
|
-
function
|
|
380
|
+
function mt(u, t) {
|
|
213
381
|
return u.map((e) => e * t);
|
|
214
382
|
}
|
|
215
|
-
function
|
|
216
|
-
const
|
|
217
|
-
if (
|
|
218
|
-
return
|
|
219
|
-
if (
|
|
220
|
-
for (let
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
223
|
-
return
|
|
383
|
+
function pt(u, t, e) {
|
|
384
|
+
const s = (i) => {
|
|
385
|
+
if (i.userData[u] && i.userData[u] === t)
|
|
386
|
+
return i;
|
|
387
|
+
if (i.children && i.children.length)
|
|
388
|
+
for (let r = 0; r < i.children.length; r++) {
|
|
389
|
+
const n = s(i.children[r]);
|
|
390
|
+
if (n)
|
|
391
|
+
return n;
|
|
224
392
|
}
|
|
225
393
|
return null;
|
|
226
394
|
};
|
|
227
|
-
return
|
|
395
|
+
return s(e);
|
|
228
396
|
}
|
|
229
|
-
class
|
|
397
|
+
class k {
|
|
230
398
|
data;
|
|
231
399
|
columns;
|
|
232
400
|
rows;
|
|
@@ -234,45 +402,45 @@ class N {
|
|
|
234
402
|
_rowLength;
|
|
235
403
|
_lerpFn = [];
|
|
236
404
|
arrayConstructor;
|
|
237
|
-
constructor(t, e,
|
|
238
|
-
this.data = t, this.columns = e, this.stride =
|
|
239
|
-
|
|
405
|
+
constructor(t, e, s = 1) {
|
|
406
|
+
this.data = t, this.columns = e, this.stride = s, this._rowLength = e * s, this.rows = this.data.length / this._rowLength, this.arrayConstructor = (i) => new this.data.constructor(
|
|
407
|
+
i
|
|
240
408
|
);
|
|
241
409
|
}
|
|
242
|
-
static readWriteBlock(t, e, i, r, n,
|
|
243
|
-
if (!(t instanceof
|
|
410
|
+
static readWriteBlock(t, e, s, i, r, n, a, c, h, o, l = null) {
|
|
411
|
+
if (!(t instanceof k && n instanceof k))
|
|
244
412
|
throw Error("Source and target must be of type Typed2dArray");
|
|
245
|
-
if (a < 0 || a + h >
|
|
413
|
+
if (a < 0 || a + h > n.columns || c < 0 || c + o > n.rows)
|
|
246
414
|
throw Error("Invalid target block dimensions!");
|
|
247
|
-
if (e < 0 || e +
|
|
415
|
+
if (e < 0 || e + i > t.columns || s < 0 || s + r > t.rows)
|
|
248
416
|
throw Error("Invalid source block dimensions!");
|
|
249
|
-
const d = Math.max(1, h - 1), g = Math.max(1,
|
|
250
|
-
for (let
|
|
251
|
-
const
|
|
252
|
-
for (let
|
|
253
|
-
const
|
|
254
|
-
let M = t.valueAt(
|
|
255
|
-
if (
|
|
256
|
-
|
|
417
|
+
const d = Math.max(1, h - 1), g = Math.max(1, o - 1), b = Math.max(1, i - 1), y = Math.max(1, r - 1);
|
|
418
|
+
for (let _ = 0; _ < o; _++) {
|
|
419
|
+
const v = n.index(0, _ + c), C = _ / g * y + s;
|
|
420
|
+
for (let A = 0; A < h; A++) {
|
|
421
|
+
const x = v + (A + a) * n.stride, z = A / d * b + e;
|
|
422
|
+
let M = t.valueAt(z, C);
|
|
423
|
+
if (l && (M = l(M)), n.stride === 1)
|
|
424
|
+
n.data[x] = M;
|
|
257
425
|
else if (Array.isArray(M))
|
|
258
|
-
for (let
|
|
259
|
-
|
|
426
|
+
for (let E = 0; E < M.length; E++)
|
|
427
|
+
n.data[x + E] = M[E];
|
|
260
428
|
}
|
|
261
429
|
}
|
|
262
430
|
return this;
|
|
263
431
|
}
|
|
264
432
|
// built-in interpolation methods
|
|
265
|
-
static logInterp(t, e, i, r, n
|
|
266
|
-
const a = (e * e - t * t) *
|
|
267
|
-
return Math.sqrt((c - a) *
|
|
433
|
+
static logInterp(t, e, s, i, r, n) {
|
|
434
|
+
const a = (e * e - t * t) * r + t * t, c = (i * i - s * s) * r + s * s;
|
|
435
|
+
return Math.sqrt((c - a) * n + a);
|
|
268
436
|
}
|
|
269
|
-
static linearInterp(t, e, i, r, n
|
|
270
|
-
const a = (e - t) *
|
|
271
|
-
return ((
|
|
437
|
+
static linearInterp(t, e, s, i, r, n) {
|
|
438
|
+
const a = (e - t) * r + t;
|
|
439
|
+
return ((i - s) * r + s - a) * n + a;
|
|
272
440
|
}
|
|
273
|
-
static nearestInterp(t, e, i, r, n
|
|
274
|
-
const a =
|
|
275
|
-
return
|
|
441
|
+
static nearestInterp(t, e, s, i, r, n) {
|
|
442
|
+
const a = r <= 0.5 ? t : e, c = r <= 0.5 ? s : i;
|
|
443
|
+
return n <= 0.5 ? a : c;
|
|
276
444
|
}
|
|
277
445
|
// // create a new Typed2DArray instance using an existing data array
|
|
278
446
|
// static from<ArrayType>(source: ArrayType, columns: number, stride = 1, copyData = false) {
|
|
@@ -301,8 +469,8 @@ class N {
|
|
|
301
469
|
// get the column and row at the beginning of the item according to stride from an index into the data array
|
|
302
470
|
positionOf(t) {
|
|
303
471
|
if (t < 0 || t > this.data.length) return;
|
|
304
|
-
const e = t % this.stride,
|
|
305
|
-
return { row:
|
|
472
|
+
const e = t % this.stride, s = Math.floor((t - e) / this._rowLength), i = Math.floor((t - s * this._rowLength) / this.stride);
|
|
473
|
+
return { row: s, col: i };
|
|
306
474
|
}
|
|
307
475
|
// allow you to set a custom interpolation function per component, which are used when interpolating values
|
|
308
476
|
setInterpolator(...t) {
|
|
@@ -310,7 +478,7 @@ class N {
|
|
|
310
478
|
}
|
|
311
479
|
// get the configured interpolation function for the given component index
|
|
312
480
|
getInterpolator(t) {
|
|
313
|
-
return this._lerpFn.length > 0 ? this._lerpFn[Math.min(t, this._lerpFn.length - 1)] :
|
|
481
|
+
return this._lerpFn.length > 0 ? this._lerpFn[Math.min(t, this._lerpFn.length - 1)] : k.linearInterp;
|
|
314
482
|
}
|
|
315
483
|
// convenience function for reading an entire column
|
|
316
484
|
col(t, e) {
|
|
@@ -326,37 +494,37 @@ class N {
|
|
|
326
494
|
}
|
|
327
495
|
// convenience function for reading an entire row
|
|
328
496
|
row(t, e) {
|
|
329
|
-
const
|
|
497
|
+
const s = this.index(0, Math.floor(t));
|
|
330
498
|
if (e) {
|
|
331
|
-
for (let
|
|
332
|
-
e[
|
|
499
|
+
for (let i = 0; i < this._rowLength; i++)
|
|
500
|
+
e[i] = this.data[s + i];
|
|
333
501
|
return e;
|
|
334
502
|
}
|
|
335
|
-
return this.data.subarray(
|
|
503
|
+
return this.data.subarray(s, s + this._rowLength);
|
|
336
504
|
}
|
|
337
505
|
// set a single value into the provided column and row
|
|
338
|
-
setValue(t, e, ...
|
|
339
|
-
const
|
|
340
|
-
for (let
|
|
341
|
-
this.data[
|
|
506
|
+
setValue(t, e, ...s) {
|
|
507
|
+
const i = this.index(t, e);
|
|
508
|
+
for (let r = 0; r < Math.min(s.length, this.stride); r++)
|
|
509
|
+
this.data[i + r] = s[r];
|
|
342
510
|
return this;
|
|
343
511
|
}
|
|
344
512
|
// read all the values within the provided block dimension
|
|
345
|
-
readBlock(t, e, i, r, n,
|
|
346
|
-
if (t < 0 || t +
|
|
513
|
+
readBlock(t, e, s, i, r, n, a) {
|
|
514
|
+
if (t < 0 || t + s > this.columns || e < 0 || e + i > this.rows)
|
|
347
515
|
throw Error("Invalid block dimensions!");
|
|
348
|
-
|
|
349
|
-
const c = Math.max(1,
|
|
516
|
+
r = Number.isFinite(r) ? r : s, n = Number.isFinite(n) ? n : i, a = a || this.arrayConstructor(r * n * this.stride);
|
|
517
|
+
const c = Math.max(1, r - 1), h = Math.max(1, n - 1), o = Math.max(1, s - 1), l = Math.max(1, i - 1);
|
|
350
518
|
let d = 0;
|
|
351
|
-
for (let g = 0; g <
|
|
352
|
-
const
|
|
353
|
-
for (let y = 0; y <
|
|
354
|
-
const
|
|
519
|
+
for (let g = 0; g < n; g++) {
|
|
520
|
+
const b = g / h * l + e;
|
|
521
|
+
for (let y = 0; y < r; y++) {
|
|
522
|
+
const _ = y / c * o + t, v = this.valueAt(_, b);
|
|
355
523
|
if (this.stride === 1)
|
|
356
|
-
a[d++] =
|
|
357
|
-
else if (Array.isArray(
|
|
358
|
-
for (let
|
|
359
|
-
a[d++] =
|
|
524
|
+
a[d++] = v;
|
|
525
|
+
else if (Array.isArray(v))
|
|
526
|
+
for (let C = 0; C < v.length; C++)
|
|
527
|
+
a[d++] = v[C];
|
|
360
528
|
}
|
|
361
529
|
}
|
|
362
530
|
return a;
|
|
@@ -367,7 +535,7 @@ class N {
|
|
|
367
535
|
throw Error(
|
|
368
536
|
"New column and row size must be equal or bigger than the current sizes!"
|
|
369
537
|
);
|
|
370
|
-
const
|
|
538
|
+
const s = this.readBlock(
|
|
371
539
|
0,
|
|
372
540
|
0,
|
|
373
541
|
this.columns,
|
|
@@ -375,114 +543,114 @@ class N {
|
|
|
375
543
|
t,
|
|
376
544
|
e
|
|
377
545
|
);
|
|
378
|
-
return this.columns = t, this.rows = e, this._rowLength = t * this.stride, this.data =
|
|
546
|
+
return this.columns = t, this.rows = e, this._rowLength = t * this.stride, this.data = s, this;
|
|
379
547
|
}
|
|
380
548
|
// write values into a given block dimension
|
|
381
|
-
writeBlock(t, e, i, r
|
|
382
|
-
if (
|
|
549
|
+
writeBlock(t, e, s, i, r) {
|
|
550
|
+
if (r.length !== s * i * this.stride)
|
|
383
551
|
throw Error("Incorrect number of values");
|
|
384
|
-
if (t < 0 || t +
|
|
552
|
+
if (t < 0 || t + s > this.columns || e < 0 || e + i > this.rows)
|
|
385
553
|
throw Error("Invalid block dimensions!");
|
|
386
|
-
let
|
|
387
|
-
for (let a = e; a < e +
|
|
554
|
+
let n = 0;
|
|
555
|
+
for (let a = e; a < e + i; a++) {
|
|
388
556
|
const c = this.index(t, a);
|
|
389
|
-
for (let h = 0; h <
|
|
390
|
-
const
|
|
391
|
-
for (let
|
|
392
|
-
this.data[
|
|
557
|
+
for (let h = 0; h < s; h++) {
|
|
558
|
+
const o = c + h * this.stride;
|
|
559
|
+
for (let l = 0; l < this.stride; l++)
|
|
560
|
+
this.data[o + l] = r[n++];
|
|
393
561
|
}
|
|
394
562
|
}
|
|
395
563
|
return this;
|
|
396
564
|
}
|
|
397
565
|
// fills the block with a single value
|
|
398
|
-
fillBlock(t, e, i, r
|
|
399
|
-
if (t < 0 || t +
|
|
566
|
+
fillBlock(t, e, s, i, r) {
|
|
567
|
+
if (t < 0 || t + s > this.columns || e < 0 || e + i > this.rows)
|
|
400
568
|
throw Error("Invalid block dimensions!");
|
|
401
|
-
let
|
|
402
|
-
this.data[h] =
|
|
569
|
+
let n = (a, c, h) => {
|
|
570
|
+
this.data[h] = r;
|
|
403
571
|
};
|
|
404
|
-
typeof
|
|
405
|
-
const
|
|
406
|
-
if (Array.isArray(
|
|
407
|
-
for (let
|
|
408
|
-
this.data[h +
|
|
572
|
+
typeof r == "function" ? n = (a, c, h) => {
|
|
573
|
+
const o = r(a, c, h);
|
|
574
|
+
if (Array.isArray(o) && o.length && o.length > 0)
|
|
575
|
+
for (let l = 0; l < Math.min(o.length, this.stride); l++)
|
|
576
|
+
this.data[h + l] = o[l];
|
|
409
577
|
else
|
|
410
|
-
this.data[h] =
|
|
411
|
-
} : this.stride > 1 && Array.isArray(
|
|
412
|
-
for (let
|
|
413
|
-
this.data[h +
|
|
578
|
+
this.data[h] = o;
|
|
579
|
+
} : this.stride > 1 && Array.isArray(r) && (n = (a, c, h) => {
|
|
580
|
+
for (let o = 0; o < Math.min(r.length, this.stride); o++)
|
|
581
|
+
this.data[h + o] = r[o];
|
|
414
582
|
});
|
|
415
|
-
for (let a = e; a < e +
|
|
583
|
+
for (let a = e; a < e + i; a++) {
|
|
416
584
|
const c = this.index(t, a);
|
|
417
|
-
for (let h = 0; h <
|
|
418
|
-
const
|
|
419
|
-
|
|
585
|
+
for (let h = 0; h < s; h++) {
|
|
586
|
+
const o = c + h * this.stride;
|
|
587
|
+
n(h, a, o);
|
|
420
588
|
}
|
|
421
589
|
}
|
|
422
590
|
return this;
|
|
423
591
|
}
|
|
424
592
|
// get the value corresponding to the specified index according to stride
|
|
425
593
|
valueOf(t, e) {
|
|
426
|
-
const { stride:
|
|
427
|
-
if (
|
|
428
|
-
t = t %
|
|
429
|
-
for (let
|
|
430
|
-
e[
|
|
594
|
+
const { stride: s, data: i } = this;
|
|
595
|
+
if (s > 1) {
|
|
596
|
+
t = t % s, e = e || this.arrayConstructor(s);
|
|
597
|
+
for (let r = 0; r < s; r++)
|
|
598
|
+
e[r] = i[t + r];
|
|
431
599
|
return e;
|
|
432
600
|
}
|
|
433
|
-
return
|
|
601
|
+
return i[t];
|
|
434
602
|
}
|
|
435
603
|
// get the calue at the requested column and row, which may be given as fractions, which in case
|
|
436
604
|
// bilinear filtering will be applied to interpolate values (for each component) in between columns and rows
|
|
437
|
-
valueAt(t, e,
|
|
438
|
-
const { columns:
|
|
605
|
+
valueAt(t, e, s) {
|
|
606
|
+
const { columns: i, rows: r, stride: n, data: a } = this, c = t % 1, h = e % 1;
|
|
439
607
|
if (c > 0 || h > 0) {
|
|
440
|
-
const
|
|
441
|
-
let y = this.index(
|
|
442
|
-
if (
|
|
443
|
-
|
|
444
|
-
for (let
|
|
445
|
-
const
|
|
446
|
-
|
|
608
|
+
const l = (t < 0 ? 0 : t >= i ? i - 1 : t) | 0, d = (e < 0 ? 0 : e >= r ? r - 1 : e) | 0, g = l === i - 1 ? l : l + 1, b = d === r - 1 ? d : d + 1;
|
|
609
|
+
let y = this.index(l, d), _ = this.index(g, d), v = this.index(l, b), C = this.index(g, b);
|
|
610
|
+
if (n > 1) {
|
|
611
|
+
s = s || this.arrayConstructor(n);
|
|
612
|
+
for (let x = 0; x < n; x++) {
|
|
613
|
+
const z = this.getInterpolator(x);
|
|
614
|
+
s[x] = z(a[y++], a[_++], a[v++], a[C++], c, h);
|
|
447
615
|
}
|
|
448
|
-
return
|
|
616
|
+
return s;
|
|
449
617
|
}
|
|
450
|
-
return this.getInterpolator(0)(a[y], a[
|
|
618
|
+
return this.getInterpolator(0)(a[y], a[_], a[v], a[C], c, h);
|
|
451
619
|
}
|
|
452
|
-
const
|
|
453
|
-
if (
|
|
454
|
-
|
|
455
|
-
for (let
|
|
456
|
-
|
|
457
|
-
return
|
|
620
|
+
const o = this.index(t, e);
|
|
621
|
+
if (n > 1) {
|
|
622
|
+
s = s || this.arrayConstructor(n);
|
|
623
|
+
for (let l = 0; l < n; l++)
|
|
624
|
+
s[l] = a[o + l];
|
|
625
|
+
return s;
|
|
458
626
|
}
|
|
459
|
-
return a[
|
|
627
|
+
return a[o];
|
|
460
628
|
}
|
|
461
629
|
// swap all values from one row with all values from another row
|
|
462
|
-
swapRows(t, e,
|
|
463
|
-
|
|
464
|
-
const
|
|
465
|
-
for (let
|
|
466
|
-
this.data[
|
|
630
|
+
swapRows(t, e, s) {
|
|
631
|
+
s = s || this.arrayConstructor(this._rowLength), this.row(t, s);
|
|
632
|
+
const i = this.index(0, t), r = this.index(0, e);
|
|
633
|
+
for (let n = 0; n < this._rowLength; n++)
|
|
634
|
+
this.data[i + n] = this.data[r + n], this.data[r + n] = s[n];
|
|
467
635
|
return this;
|
|
468
636
|
}
|
|
469
637
|
// invert all rows (top-bottom to bottom-top)
|
|
470
638
|
invertRows() {
|
|
471
639
|
const t = Math.floor(this.rows / 2), e = this.arrayConstructor(this._rowLength);
|
|
472
|
-
for (let
|
|
473
|
-
this.swapRows(
|
|
640
|
+
for (let s = this.rows - 1, i = 0; s > t; s--, i++)
|
|
641
|
+
this.swapRows(s, i, e);
|
|
474
642
|
return this;
|
|
475
643
|
}
|
|
476
|
-
copyInto(t, e = 0,
|
|
477
|
-
if (t.length !==
|
|
644
|
+
copyInto(t, e = 0, s = 0, i = this.columns - e, r = this.rows - s) {
|
|
645
|
+
if (t.length !== i * r * this.stride)
|
|
478
646
|
throw Error("Target is not of the correct size!");
|
|
479
|
-
let
|
|
480
|
-
for (let a =
|
|
647
|
+
let n = 0;
|
|
648
|
+
for (let a = s; a < s + r; a++) {
|
|
481
649
|
const c = this.index(0, a);
|
|
482
|
-
for (let h = e; h < e +
|
|
483
|
-
const
|
|
484
|
-
for (let
|
|
485
|
-
t[
|
|
650
|
+
for (let h = e; h < e + i; h++) {
|
|
651
|
+
const o = c + h * this.stride;
|
|
652
|
+
for (let l = 0; l < this.stride; l++)
|
|
653
|
+
t[n++] = this.data[o + l];
|
|
486
654
|
}
|
|
487
655
|
}
|
|
488
656
|
return this;
|
|
@@ -491,121 +659,127 @@ class N {
|
|
|
491
659
|
toJsArray() {
|
|
492
660
|
const t = new Array(this.rows);
|
|
493
661
|
for (let e = 0; e < this.rows; e++) {
|
|
494
|
-
const
|
|
662
|
+
const s = this.index(0, e);
|
|
495
663
|
t[e] = new Array(this.columns);
|
|
496
|
-
for (let
|
|
664
|
+
for (let i = 0; i < this.columns; i++)
|
|
497
665
|
if (this.stride > 1) {
|
|
498
|
-
t[e][
|
|
499
|
-
for (let
|
|
500
|
-
t[e][
|
|
666
|
+
t[e][i] = new Array(this.stride);
|
|
667
|
+
for (let r = 0; r < this.stride; r++)
|
|
668
|
+
t[e][i][r] = this.data[s + i * this.stride + r];
|
|
501
669
|
} else
|
|
502
|
-
t[e][
|
|
670
|
+
t[e][i] = this.data[s + i * this.stride];
|
|
503
671
|
}
|
|
504
672
|
return t;
|
|
505
673
|
}
|
|
506
674
|
}
|
|
507
|
-
function
|
|
675
|
+
function yt(u) {
|
|
508
676
|
const t = new Float32Array(u.length * 3);
|
|
509
677
|
for (let e = 0; e < u.length; e++) {
|
|
510
|
-
const
|
|
511
|
-
t[
|
|
678
|
+
const s = e * 3;
|
|
679
|
+
t[s + 0] = u[e][0], t[s + 1] = u[e][1], t[s + 2] = u[e][2];
|
|
512
680
|
}
|
|
513
681
|
return t;
|
|
514
682
|
}
|
|
515
683
|
export {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
Vt as
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
Ee as
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
684
|
+
Se as CRS,
|
|
685
|
+
xt as CameraManager,
|
|
686
|
+
lt as DataLoader,
|
|
687
|
+
Ue as Delatin,
|
|
688
|
+
bt as DepthReadMaterial,
|
|
689
|
+
ht as GeneratorRegistry,
|
|
690
|
+
vt as PI,
|
|
691
|
+
Mt as PI2,
|
|
692
|
+
Ct as PI4,
|
|
693
|
+
Et as PI8,
|
|
694
|
+
W as PlanarGeometry,
|
|
695
|
+
Z as PlanarLineGeometry,
|
|
696
|
+
H as PlanarPointGeometry,
|
|
697
|
+
$ as PlanarPolygonGeometry,
|
|
698
|
+
Bt as TAU,
|
|
699
|
+
Le as TubeMaterial,
|
|
700
|
+
k as Typed2DArray,
|
|
701
|
+
At as WellboreManager,
|
|
702
|
+
zt as addVec2,
|
|
703
|
+
Ft as addVec3,
|
|
704
|
+
It as angleVec3,
|
|
705
|
+
St as calculateFrenetFrames,
|
|
706
|
+
We as calculateHashValue,
|
|
707
|
+
Ve as calculateWellSegments,
|
|
708
|
+
K as clamp,
|
|
709
|
+
Lt as copyVec3,
|
|
710
|
+
Te as createConfig,
|
|
711
|
+
Pe as createElevationTexture,
|
|
712
|
+
He as createFenceGeometry,
|
|
713
|
+
De as createNormalTexture,
|
|
714
|
+
Ze as createTubeGeometries,
|
|
715
|
+
$e as createTubeGeometry,
|
|
716
|
+
Vt as crossVec3,
|
|
717
|
+
Tt as degreesToRadians,
|
|
718
|
+
Pt as directionVec2,
|
|
719
|
+
Dt as directionVec3,
|
|
720
|
+
Gt as distanceVec2,
|
|
721
|
+
qt as distanceVec3,
|
|
722
|
+
jt as dotVec2,
|
|
723
|
+
kt as dotVec3,
|
|
724
|
+
Nt as edgeOfRectangle,
|
|
725
|
+
Ge as elevationMapNormalsToRGBA,
|
|
726
|
+
Ot as feetToMeters,
|
|
727
|
+
Qt as getCurvePositions,
|
|
728
|
+
Ut as getFormationMarkers,
|
|
729
|
+
pt as getObjectByCustomProperty,
|
|
730
|
+
Wt as getProjectedTrajectory,
|
|
731
|
+
qe as getProjectionDefFromUtmZone,
|
|
732
|
+
Ht as getSplineCurve,
|
|
733
|
+
Zt as getTrajectory,
|
|
734
|
+
$t as getTypedArrayFromBuffer,
|
|
735
|
+
Jt as getTypedArrayType,
|
|
736
|
+
je as getUtmZoneFromLatLng,
|
|
737
|
+
Kt as getVec2,
|
|
738
|
+
Xt as getVec3,
|
|
739
|
+
Yt as getWellboreFormations,
|
|
740
|
+
ft as idToHexColor,
|
|
741
|
+
Rt as inverseLerp,
|
|
742
|
+
te as lengthVec2,
|
|
743
|
+
ee as lengthVec3,
|
|
744
|
+
se as lerp,
|
|
745
|
+
ie as mergeFormationIntervals,
|
|
746
|
+
Je as mergeGeometries,
|
|
747
|
+
ne as mixVec2,
|
|
748
|
+
re as mixVec3,
|
|
749
|
+
mt as multiply,
|
|
750
|
+
gt as negate,
|
|
751
|
+
ae as negateVec2,
|
|
752
|
+
oe as negateVec3,
|
|
753
|
+
le as normalizeVec2,
|
|
754
|
+
he as normalizeVec3,
|
|
755
|
+
ce as normalizedDeviceToScreen,
|
|
756
|
+
fe as packAttribute,
|
|
757
|
+
ue as packBufferGeometries,
|
|
758
|
+
de as packBufferGeometry,
|
|
759
|
+
ge as packBufferGeometryLike,
|
|
760
|
+
dt as parseIrapbin,
|
|
761
|
+
ut as randomColor,
|
|
762
|
+
me as readDepth,
|
|
763
|
+
pe as remap,
|
|
764
|
+
ye as rotateVec3,
|
|
765
|
+
_e as scaleVec2,
|
|
766
|
+
we as scaleVec3,
|
|
767
|
+
xe as screenToNormalizedDevice,
|
|
768
|
+
be as setVec2,
|
|
769
|
+
ve as setVec3,
|
|
770
|
+
Me as simplifyCurve2D,
|
|
771
|
+
Ce as subVec2,
|
|
772
|
+
Ee as subVec3,
|
|
773
|
+
Ke as titleCase,
|
|
774
|
+
Xe as toBufferGeometry,
|
|
775
|
+
yt as toFloat32Array,
|
|
776
|
+
Be as toRGB,
|
|
777
|
+
ke as toSegments,
|
|
778
|
+
Ne as triangleNormal,
|
|
779
|
+
ct as triangulateGrid,
|
|
780
|
+
Ye as triangulateGridDelaunay,
|
|
781
|
+
Ae as unpackBufferGeometries,
|
|
782
|
+
ze as unpackBufferGeometry,
|
|
783
|
+
Fe as uvMaterial,
|
|
784
|
+
Oe as wgs84Def
|
|
611
785
|
};
|