@thatopen/components 2.3.0 → 2.3.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/core/Components/index.d.ts +1 -1
- package/dist/core/ConfigManager/index.d.ts +2 -2
- package/dist/core/ConfigManager/src/configurator.d.ts +2 -1
- package/dist/index.cjs +26 -26
- package/dist/index.mjs +548 -532
- package/dist/namespace.d.ts +3080 -3079
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -2,15 +2,15 @@ var Ao = Object.defineProperty;
|
|
|
2
2
|
var Fo = (c, i, t) => i in c ? Ao(c, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[i] = t;
|
|
3
3
|
var C = (c, i, t) => (Fo(c, typeof i != "symbol" ? i + "" : i, t), t);
|
|
4
4
|
import * as D from "three";
|
|
5
|
-
import { BufferAttribute as Zr, Vector3 as Q, Vector2 as
|
|
5
|
+
import { BufferAttribute as Zr, Vector3 as Q, Vector2 as oi, Plane as Dn, Line3 as Ee, Triangle as ei, Sphere as So, Matrix4 as pe, Box3 as ae, BackSide as Oo, DoubleSide as jr, FrontSide as Xn, Mesh as rt, Ray as No, Raycaster as yo, Quaternion as de, Object3D as In, Euler as Lo, MeshBasicMaterial as qr, LineBasicMaterial as _o, CylinderGeometry as Vt, BoxGeometry as Ut, BufferGeometry as $n, Float32BufferAttribute as Zn, OctahedronGeometry as Yi, Line as Ae, SphereGeometry as Po, TorusGeometry as fi, PlaneGeometry as wo } from "three";
|
|
6
6
|
import * as Qt from "@thatopen/fragments";
|
|
7
7
|
import { FragmentsGroup as Mo, Serializer as Do } from "@thatopen/fragments";
|
|
8
8
|
import * as z from "web-ifc";
|
|
9
|
-
const Qr = 0, bo = 1, vo = 2, jn = 2, Ws = 1.25, qn = 1,
|
|
9
|
+
const Qr = 0, bo = 1, vo = 2, jn = 2, Ws = 1.25, qn = 1, fs = 6 * 4 + 4 + 4, Ys = 65535, Uo = Math.pow(2, -24), Xs = Symbol("SKIP_GENERATION");
|
|
10
10
|
function xo(c) {
|
|
11
11
|
return c.index ? c.index.count : c.attributes.position.count;
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function ci(c) {
|
|
14
14
|
return xo(c) / 3;
|
|
15
15
|
}
|
|
16
16
|
function Bo(c, i = ArrayBuffer) {
|
|
@@ -25,7 +25,7 @@ function Vo(c, i) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
function Kr(c) {
|
|
28
|
-
const i =
|
|
28
|
+
const i = ci(c), t = c.drawRange, e = t.start / 3, s = (t.start + t.count) / 3, n = Math.max(0, e), r = Math.min(i, s) - n;
|
|
29
29
|
return [{
|
|
30
30
|
offset: Math.floor(n),
|
|
31
31
|
count: Math.floor(r)
|
|
@@ -52,7 +52,7 @@ function Jr(c) {
|
|
|
52
52
|
function Yo(c) {
|
|
53
53
|
if (c.groups.length === 0)
|
|
54
54
|
return !1;
|
|
55
|
-
const i =
|
|
55
|
+
const i = ci(c), t = Jr(c).sort((n, r) => n.offset - r.offset), e = t[t.length - 1];
|
|
56
56
|
e.count = Math.min(i - e.offset, e.count);
|
|
57
57
|
let s = 0;
|
|
58
58
|
return t.forEach(({ count: n }) => s += n), i !== s;
|
|
@@ -81,13 +81,13 @@ function Jn(c, i, t) {
|
|
|
81
81
|
e = c[n], s = i[n], t[n] = e < s ? e : s, e = c[r], s = i[r], t[r] = e > s ? e : s;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
function
|
|
84
|
+
function Gi(c, i, t) {
|
|
85
85
|
for (let e = 0; e < 3; e++) {
|
|
86
86
|
const s = i[c + 2 * e], n = i[c + 2 * e + 1], r = s - n, o = s + n;
|
|
87
87
|
r < t[e] && (t[e] = r), o > t[e + 3] && (t[e + 3] = o);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
function
|
|
90
|
+
function Ii(c) {
|
|
91
91
|
const i = c[3] - c[0], t = c[4] - c[1], e = c[5] - c[2];
|
|
92
92
|
return 2 * (i * t + t * e + e * i);
|
|
93
93
|
}
|
|
@@ -118,7 +118,7 @@ function zo(c, i, t, e) {
|
|
|
118
118
|
}
|
|
119
119
|
function ko(c, i) {
|
|
120
120
|
Go(i);
|
|
121
|
-
const t = c.attributes.position, e = c.index ? c.index.array : null, s =
|
|
121
|
+
const t = c.attributes.position, e = c.index ? c.index.array : null, s = ci(c), n = new Float32Array(s * 6), r = t.normalized, o = t.array, a = t.offset || 0;
|
|
122
122
|
let l = 3;
|
|
123
123
|
t.isInterleavedBufferAttribute && (l = t.data.stride);
|
|
124
124
|
const h = ["getX", "getY", "getZ"];
|
|
@@ -139,13 +139,13 @@ function ko(c, i) {
|
|
|
139
139
|
}
|
|
140
140
|
return n;
|
|
141
141
|
}
|
|
142
|
-
const
|
|
142
|
+
const Te = 32, Ho = (c, i) => c.candidate - i.candidate, Fe = new Array(Te).fill().map(() => ({
|
|
143
143
|
count: 0,
|
|
144
144
|
bounds: new Float32Array(6),
|
|
145
145
|
rightCacheBounds: new Float32Array(6),
|
|
146
146
|
leftCacheBounds: new Float32Array(6),
|
|
147
147
|
candidate: 0
|
|
148
|
-
})),
|
|
148
|
+
})), zi = new Float32Array(6);
|
|
149
149
|
function Wo(c, i, t, e, s, n) {
|
|
150
150
|
let r = -1, o = 0;
|
|
151
151
|
if (n === Qr)
|
|
@@ -153,13 +153,13 @@ function Wo(c, i, t, e, s, n) {
|
|
|
153
153
|
else if (n === bo)
|
|
154
154
|
r = Qn(c), r !== -1 && (o = Xo(t, e, s, r));
|
|
155
155
|
else if (n === vo) {
|
|
156
|
-
const a =
|
|
156
|
+
const a = Ii(c);
|
|
157
157
|
let l = Ws * s;
|
|
158
158
|
const h = e * 6, f = (e + s) * 6;
|
|
159
159
|
for (let I = 0; I < 3; I++) {
|
|
160
|
-
const u = i[I], T = (i[I + 3] - u) /
|
|
161
|
-
if (s <
|
|
162
|
-
const p = [...
|
|
160
|
+
const u = i[I], T = (i[I + 3] - u) / Te;
|
|
161
|
+
if (s < Te / 4) {
|
|
162
|
+
const p = [...Fe];
|
|
163
163
|
p.length = s;
|
|
164
164
|
let m = 0;
|
|
165
165
|
for (let R = h; R < f; R += 6, m++) {
|
|
@@ -172,7 +172,7 @@ function Wo(c, i, t, e, s, n) {
|
|
|
172
172
|
} = S;
|
|
173
173
|
for (let L = 0; L < 3; L++)
|
|
174
174
|
M[L] = 1 / 0, M[L + 3] = -1 / 0, y[L] = 1 / 0, y[L + 3] = -1 / 0, N[L] = 1 / 0, N[L + 3] = -1 / 0;
|
|
175
|
-
|
|
175
|
+
Gi(R, t, N);
|
|
176
176
|
}
|
|
177
177
|
p.sort(Ho);
|
|
178
178
|
let F = s;
|
|
@@ -185,21 +185,21 @@ function Wo(c, i, t, e, s, n) {
|
|
|
185
185
|
const S = t[R + 2 * I];
|
|
186
186
|
for (let N = 0; N < F; N++) {
|
|
187
187
|
const y = p[N];
|
|
188
|
-
S >= y.candidate ?
|
|
188
|
+
S >= y.candidate ? Gi(R, t, y.rightCacheBounds) : (Gi(R, t, y.leftCacheBounds), y.count++);
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
for (let R = 0; R < F; R++) {
|
|
192
192
|
const S = p[R], N = S.count, y = s - S.count, M = S.leftCacheBounds, L = S.rightCacheBounds;
|
|
193
193
|
let b = 0;
|
|
194
|
-
N !== 0 && (b =
|
|
194
|
+
N !== 0 && (b = Ii(M) / a);
|
|
195
195
|
let G = 0;
|
|
196
|
-
y !== 0 && (G =
|
|
196
|
+
y !== 0 && (G = Ii(L) / a);
|
|
197
197
|
const O = qn + Ws * (b * N + G * y);
|
|
198
198
|
O < l && (r = I, l = O, o = S.candidate);
|
|
199
199
|
}
|
|
200
200
|
} else {
|
|
201
|
-
for (let F = 0; F <
|
|
202
|
-
const R =
|
|
201
|
+
for (let F = 0; F < Te; F++) {
|
|
202
|
+
const R = Fe[F];
|
|
203
203
|
R.count = 0, R.candidate = u + T + F * T;
|
|
204
204
|
const S = R.bounds;
|
|
205
205
|
for (let N = 0; N < 3; N++)
|
|
@@ -207,24 +207,24 @@ function Wo(c, i, t, e, s, n) {
|
|
|
207
207
|
}
|
|
208
208
|
for (let F = h; F < f; F += 6) {
|
|
209
209
|
let N = ~~((t[F + 2 * I] - u) / T);
|
|
210
|
-
N >=
|
|
211
|
-
const y =
|
|
212
|
-
y.count++,
|
|
210
|
+
N >= Te && (N = Te - 1);
|
|
211
|
+
const y = Fe[N];
|
|
212
|
+
y.count++, Gi(F, t, y.bounds);
|
|
213
213
|
}
|
|
214
|
-
const p =
|
|
214
|
+
const p = Fe[Te - 1];
|
|
215
215
|
Kn(p.bounds, p.rightCacheBounds);
|
|
216
|
-
for (let F =
|
|
217
|
-
const R =
|
|
216
|
+
for (let F = Te - 2; F >= 0; F--) {
|
|
217
|
+
const R = Fe[F], S = Fe[F + 1];
|
|
218
218
|
Jn(R.bounds, S.rightCacheBounds, R.rightCacheBounds);
|
|
219
219
|
}
|
|
220
220
|
let m = 0;
|
|
221
|
-
for (let F = 0; F <
|
|
222
|
-
const R =
|
|
223
|
-
S !== 0 && (m === 0 ? Kn(N,
|
|
221
|
+
for (let F = 0; F < Te - 1; F++) {
|
|
222
|
+
const R = Fe[F], S = R.count, N = R.bounds, M = Fe[F + 1].rightCacheBounds;
|
|
223
|
+
S !== 0 && (m === 0 ? Kn(N, zi) : Jn(N, zi, zi)), m += S;
|
|
224
224
|
let L = 0, b = 0;
|
|
225
|
-
m !== 0 && (L =
|
|
225
|
+
m !== 0 && (L = Ii(zi) / a);
|
|
226
226
|
const G = s - m;
|
|
227
|
-
G !== 0 && (b =
|
|
227
|
+
G !== 0 && (b = Ii(M) / a);
|
|
228
228
|
const O = qn + Ws * (L * m + b * G);
|
|
229
229
|
O < l && (r = I, l = O, o = R.candidate);
|
|
230
230
|
}
|
|
@@ -240,7 +240,7 @@ function Xo(c, i, t, e) {
|
|
|
240
240
|
s += c[n * 6 + e * 2];
|
|
241
241
|
return s / t;
|
|
242
242
|
}
|
|
243
|
-
class
|
|
243
|
+
class ki {
|
|
244
244
|
constructor() {
|
|
245
245
|
}
|
|
246
246
|
}
|
|
@@ -293,15 +293,15 @@ function jo(c, i) {
|
|
|
293
293
|
return r;
|
|
294
294
|
}
|
|
295
295
|
function qo(c, i) {
|
|
296
|
-
const t = c.geometry, e = t.index ? t.index.array : null, s = i.maxDepth, n = i.verbose, r = i.maxLeafTris, o = i.strategy, a = i.onProgress, l =
|
|
296
|
+
const t = c.geometry, e = t.index ? t.index.array : null, s = i.maxDepth, n = i.verbose, r = i.maxLeafTris, o = i.strategy, a = i.onProgress, l = ci(t), h = c._indirectBuffer;
|
|
297
297
|
let f = !1;
|
|
298
298
|
const I = new Float32Array(6), u = new Float32Array(6), d = ko(t, I), E = i.indirect ? Zo : $o, T = [], p = i.indirect ? Kr(t) : Jr(t);
|
|
299
299
|
if (p.length === 1) {
|
|
300
|
-
const R = p[0], S = new
|
|
300
|
+
const R = p[0], S = new ki();
|
|
301
301
|
S.boundingData = I, zo(d, R.offset, R.count, u), F(S, R.offset, R.count, u), T.push(S);
|
|
302
302
|
} else
|
|
303
303
|
for (let R of p) {
|
|
304
|
-
const S = new
|
|
304
|
+
const S = new ki();
|
|
305
305
|
S.boundingData = new Float32Array(6), $s(d, R.offset, R.count, S.boundingData, u), F(S, R.offset, R.count, u), T.push(S);
|
|
306
306
|
}
|
|
307
307
|
return T;
|
|
@@ -319,9 +319,9 @@ function qo(c, i) {
|
|
|
319
319
|
m(S + N), R.offset = S, R.count = N;
|
|
320
320
|
else {
|
|
321
321
|
R.splitAxis = L.axis;
|
|
322
|
-
const G = new
|
|
322
|
+
const G = new ki(), O = S, w = b - S;
|
|
323
323
|
R.left = G, G.boundingData = new Float32Array(6), $s(d, O, w, G.boundingData, u), F(G, O, w, u, M + 1);
|
|
324
|
-
const g = new
|
|
324
|
+
const g = new ki(), v = b, j = N - w;
|
|
325
325
|
R.right = g, g.boundingData = new Float32Array(6), $s(d, v, j, g.boundingData, u), F(g, v, j, u, M + 1);
|
|
326
326
|
}
|
|
327
327
|
return R;
|
|
@@ -338,7 +338,7 @@ function Qo(c, i) {
|
|
|
338
338
|
for (let f = 0; f < e.length; f++) {
|
|
339
339
|
const I = e[f];
|
|
340
340
|
let u = l(I);
|
|
341
|
-
const d = new a(
|
|
341
|
+
const d = new a(fs * u);
|
|
342
342
|
s = new Float32Array(d), n = new Uint32Array(d), r = new Uint16Array(d), h(0, I), o.push(d);
|
|
343
343
|
}
|
|
344
344
|
c._roots = o;
|
|
@@ -352,17 +352,17 @@ function Qo(c, i) {
|
|
|
352
352
|
s[u + p] = T[p];
|
|
353
353
|
if (E) {
|
|
354
354
|
const p = I.offset, m = I.count;
|
|
355
|
-
return n[u + 6] = p, r[d + 14] = m, r[d + 15] = Ys, f +
|
|
355
|
+
return n[u + 6] = p, r[d + 14] = m, r[d + 15] = Ys, f + fs;
|
|
356
356
|
} else {
|
|
357
357
|
const p = I.left, m = I.right, F = I.splitAxis;
|
|
358
358
|
let R;
|
|
359
|
-
if (R = h(f +
|
|
359
|
+
if (R = h(f + fs, p), R / 4 > Math.pow(2, 32))
|
|
360
360
|
throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");
|
|
361
361
|
return n[u + 6] = R / 4, R = h(R, m), n[u + 7] = F, R;
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
class
|
|
365
|
+
class ge {
|
|
366
366
|
constructor() {
|
|
367
367
|
this.min = 1 / 0, this.max = -1 / 0;
|
|
368
368
|
}
|
|
@@ -386,7 +386,7 @@ class Fe {
|
|
|
386
386
|
return this.min > i.max || i.min > this.max;
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
|
-
|
|
389
|
+
ge.prototype.setFromBox = function() {
|
|
390
390
|
const c = new Q();
|
|
391
391
|
return function(t, e) {
|
|
392
392
|
const s = e.min, n = e.max;
|
|
@@ -411,7 +411,7 @@ const Ko = function() {
|
|
|
411
411
|
T !== 0 ? p = (f * I - d * u) / T : p = 0, m = (f + p * I) / u, r.x = p, r.y = m;
|
|
412
412
|
};
|
|
413
413
|
}(), bn = function() {
|
|
414
|
-
const c = new
|
|
414
|
+
const c = new oi(), i = new Q(), t = new Q();
|
|
415
415
|
return function(s, n, r, o) {
|
|
416
416
|
Ko(s, n, c);
|
|
417
417
|
let a = c.x, l = c.y;
|
|
@@ -440,7 +440,7 @@ const Ko = function() {
|
|
|
440
440
|
}
|
|
441
441
|
};
|
|
442
442
|
}(), Jo = function() {
|
|
443
|
-
const c = new Q(), i = new Q(), t = new Dn(), e = new
|
|
443
|
+
const c = new Q(), i = new Q(), t = new Dn(), e = new Ee();
|
|
444
444
|
return function(n, r) {
|
|
445
445
|
const { radius: o, center: a } = n, { a: l, b: h, c: f } = r;
|
|
446
446
|
if (e.start = l, e.end = h, e.closestPointToPoint(a, !0, c).distanceTo(a) <= o || (e.start = l, e.end = f, e.closestPointToPoint(a, !0, c).distanceTo(a) <= o) || (e.start = h, e.end = f, e.closestPointToPoint(a, !0, c).distanceTo(a) <= o))
|
|
@@ -457,9 +457,9 @@ const Ko = function() {
|
|
|
457
457
|
function Zs(c) {
|
|
458
458
|
return Math.abs(c) < ta;
|
|
459
459
|
}
|
|
460
|
-
class
|
|
460
|
+
class ne extends ei {
|
|
461
461
|
constructor(...i) {
|
|
462
|
-
super(...i), this.isExtendedTriangle = !0, this.satAxes = new Array(4).fill().map(() => new Q()), this.satBounds = new Array(4).fill().map(() => new
|
|
462
|
+
super(...i), this.isExtendedTriangle = !0, this.satAxes = new Array(4).fill().map(() => new Q()), this.satBounds = new Array(4).fill().map(() => new ge()), this.points = [this.a, this.b, this.c], this.sphere = new So(), this.plane = new Dn(), this.needsUpdate = !0;
|
|
463
463
|
}
|
|
464
464
|
intersectsSphere(i) {
|
|
465
465
|
return Jo(i, this);
|
|
@@ -475,8 +475,8 @@ class re extends ei {
|
|
|
475
475
|
u.subVectors(e, i), d.setFromPoints(u, s), this.sphere.setFromPoints(this.points), this.plane.setFromNormalAndCoplanarPoint(o, i), this.needsUpdate = !1;
|
|
476
476
|
}
|
|
477
477
|
}
|
|
478
|
-
|
|
479
|
-
const c = new Q(), i = new Q(), t = new
|
|
478
|
+
ne.prototype.closestPointToSegment = function() {
|
|
479
|
+
const c = new Q(), i = new Q(), t = new Ee();
|
|
480
480
|
return function(s, n = null, r = null) {
|
|
481
481
|
const { start: o, end: a } = s, l = this.points;
|
|
482
482
|
let h, f = 1 / 0;
|
|
@@ -487,8 +487,8 @@ re.prototype.closestPointToSegment = function() {
|
|
|
487
487
|
return this.closestPointToPoint(o, c), h = o.distanceToSquared(c), h < f && (f = h, n && n.copy(c), r && r.copy(o)), this.closestPointToPoint(a, c), h = a.distanceToSquared(c), h < f && (f = h, n && n.copy(c), r && r.copy(a)), Math.sqrt(f);
|
|
488
488
|
};
|
|
489
489
|
}();
|
|
490
|
-
|
|
491
|
-
const c = new
|
|
490
|
+
ne.prototype.intersectsTriangle = function() {
|
|
491
|
+
const c = new ne(), i = new Array(3), t = new Array(3), e = new ge(), s = new ge(), n = new Q(), r = new Q(), o = new Q(), a = new Q(), l = new Q(), h = new Ee(), f = new Ee(), I = new Ee(), u = new Q();
|
|
492
492
|
function d(E, T, p) {
|
|
493
493
|
const m = E.points;
|
|
494
494
|
let F = 0, R = -1;
|
|
@@ -561,14 +561,14 @@ re.prototype.intersectsTriangle = function() {
|
|
|
561
561
|
}
|
|
562
562
|
};
|
|
563
563
|
}();
|
|
564
|
-
|
|
564
|
+
ne.prototype.distanceToPoint = function() {
|
|
565
565
|
const c = new Q();
|
|
566
566
|
return function(t) {
|
|
567
567
|
return this.closestPointToPoint(t, c), t.distanceTo(c);
|
|
568
568
|
};
|
|
569
569
|
}();
|
|
570
|
-
|
|
571
|
-
const c = new Q(), i = new Q(), t = ["a", "b", "c"], e = new
|
|
570
|
+
ne.prototype.distanceToTriangle = function() {
|
|
571
|
+
const c = new Q(), i = new Q(), t = ["a", "b", "c"], e = new Ee(), s = new Ee();
|
|
572
572
|
return function(r, o = null, a = null) {
|
|
573
573
|
const l = o || a ? e : null;
|
|
574
574
|
if (this.intersectsTriangle(r, l))
|
|
@@ -596,7 +596,7 @@ re.prototype.distanceToTriangle = function() {
|
|
|
596
596
|
}();
|
|
597
597
|
class Bt {
|
|
598
598
|
constructor(i, t, e) {
|
|
599
|
-
this.isOrientedBox = !0, this.min = new Q(), this.max = new Q(), this.matrix = new
|
|
599
|
+
this.isOrientedBox = !0, this.min = new Q(), this.max = new Q(), this.matrix = new pe(), this.invMatrix = new pe(), this.points = new Array(8).fill().map(() => new Q()), this.satAxes = new Array(3).fill().map(() => new Q()), this.satBounds = new Array(3).fill().map(() => new ge()), this.alignedSatBounds = new Array(3).fill().map(() => new ge()), this.needsUpdate = !1, i && this.min.copy(i), t && this.max.copy(t), e && this.matrix.copy(e);
|
|
600
600
|
}
|
|
601
601
|
set(i, t, e) {
|
|
602
602
|
this.min.copy(i), this.max.copy(t), this.matrix.copy(e), this.needsUpdate = !0;
|
|
@@ -624,7 +624,7 @@ Bt.prototype.update = /* @__PURE__ */ function() {
|
|
|
624
624
|
};
|
|
625
625
|
}();
|
|
626
626
|
Bt.prototype.intersectsBox = function() {
|
|
627
|
-
const c = new
|
|
627
|
+
const c = new ge();
|
|
628
628
|
return function(t) {
|
|
629
629
|
this.needsUpdate && this.update();
|
|
630
630
|
const e = t.min, s = t.max, n = this.satBounds, r = this.satAxes, o = this.alignedSatBounds;
|
|
@@ -639,7 +639,7 @@ Bt.prototype.intersectsBox = function() {
|
|
|
639
639
|
};
|
|
640
640
|
}();
|
|
641
641
|
Bt.prototype.intersectsTriangle = function() {
|
|
642
|
-
const c = new
|
|
642
|
+
const c = new ne(), i = new Array(3), t = new ge(), e = new ge(), s = new Q();
|
|
643
643
|
return function(r) {
|
|
644
644
|
this.needsUpdate && this.update(), r.isExtendedTriangle ? r.needsUpdate && r.update() : (c.copy(r), c.update(), r = c);
|
|
645
645
|
const o = this.satBounds, a = this.satAxes;
|
|
@@ -678,7 +678,7 @@ Bt.prototype.distanceToPoint = function() {
|
|
|
678
678
|
};
|
|
679
679
|
}();
|
|
680
680
|
Bt.prototype.distanceToBox = function() {
|
|
681
|
-
const c = ["x", "y", "z"], i = new Array(12).fill().map(() => new
|
|
681
|
+
const c = ["x", "y", "z"], i = new Array(12).fill().map(() => new Ee()), t = new Array(12).fill().map(() => new Ee()), e = new Q(), s = new Q();
|
|
682
682
|
return function(r, o = 0, a = null, l = null) {
|
|
683
683
|
if (this.needsUpdate && this.update(), this.intersectsBox(r))
|
|
684
684
|
return (a || l) && (r.getCenter(s), this.closestPointToPoint(s, e), r.closestPointToPoint(e, s), a && a.copy(e), l && l.copy(s)), 0;
|
|
@@ -735,7 +735,7 @@ class vn {
|
|
|
735
735
|
}
|
|
736
736
|
class ea extends vn {
|
|
737
737
|
constructor() {
|
|
738
|
-
super(() => new
|
|
738
|
+
super(() => new ne());
|
|
739
739
|
}
|
|
740
740
|
}
|
|
741
741
|
const $t = /* @__PURE__ */ new ea();
|
|
@@ -770,21 +770,21 @@ class ia {
|
|
|
770
770
|
}
|
|
771
771
|
}
|
|
772
772
|
const Ft = new ia();
|
|
773
|
-
let
|
|
774
|
-
const Ge = [],
|
|
773
|
+
let _e, ii;
|
|
774
|
+
const Ge = [], Hi = /* @__PURE__ */ new vn(() => new ae());
|
|
775
775
|
function sa(c, i, t, e, s, n) {
|
|
776
|
-
|
|
776
|
+
_e = Hi.getPrimitive(), ii = Hi.getPrimitive(), Ge.push(_e, ii), Ft.setBuffer(c._roots[i]);
|
|
777
777
|
const r = dn(0, c.geometry, t, e, s, n);
|
|
778
|
-
Ft.clearBuffer(),
|
|
778
|
+
Ft.clearBuffer(), Hi.releasePrimitive(_e), Hi.releasePrimitive(ii), Ge.pop(), Ge.pop();
|
|
779
779
|
const o = Ge.length;
|
|
780
|
-
return o > 0 && (ii = Ge[o - 1],
|
|
780
|
+
return o > 0 && (ii = Ge[o - 1], _e = Ge[o - 2]), r;
|
|
781
781
|
}
|
|
782
782
|
function dn(c, i, t, e, s = null, n = 0, r = 0) {
|
|
783
783
|
const { float32Array: o, uint16Array: a, uint32Array: l } = Ft;
|
|
784
784
|
let h = c * 2;
|
|
785
785
|
if (Gt(h, a)) {
|
|
786
786
|
const I = zt(c, l), u = Zt(h, a);
|
|
787
|
-
return Nt(c, o,
|
|
787
|
+
return Nt(c, o, _e), e(I, u, !1, r, n + c, _e);
|
|
788
788
|
} else {
|
|
789
789
|
let b = function(O) {
|
|
790
790
|
const { uint16Array: w, uint32Array: g } = Ft;
|
|
@@ -801,12 +801,12 @@ function dn(c, i, t, e, s = null, n = 0, r = 0) {
|
|
|
801
801
|
};
|
|
802
802
|
const I = jt(c), u = qt(c, l);
|
|
803
803
|
let d = I, E = u, T, p, m, F;
|
|
804
|
-
if (s && (m =
|
|
804
|
+
if (s && (m = _e, F = ii, Nt(d, o, m), Nt(E, o, F), T = s(m), p = s(F), p < T)) {
|
|
805
805
|
d = u, E = I;
|
|
806
806
|
const O = T;
|
|
807
807
|
T = p, p = O, m = F;
|
|
808
808
|
}
|
|
809
|
-
m || (m =
|
|
809
|
+
m || (m = _e, Nt(d, o, m));
|
|
810
810
|
const R = Gt(d * 2, a), S = t(m, R, T, r + 1, n + d);
|
|
811
811
|
let N;
|
|
812
812
|
if (S === jn) {
|
|
@@ -843,18 +843,18 @@ function dn(c, i, t, e, s = null, n = 0, r = 0) {
|
|
|
843
843
|
return !!L;
|
|
844
844
|
}
|
|
845
845
|
}
|
|
846
|
-
const
|
|
846
|
+
const di = /* @__PURE__ */ new Q(), js = /* @__PURE__ */ new Q();
|
|
847
847
|
function na(c, i, t = {}, e = 0, s = 1 / 0) {
|
|
848
848
|
const n = e * e, r = s * s;
|
|
849
849
|
let o = 1 / 0, a = null;
|
|
850
850
|
if (c.shapecast(
|
|
851
851
|
{
|
|
852
|
-
boundsTraverseOrder: (h) => (
|
|
852
|
+
boundsTraverseOrder: (h) => (di.copy(i).clamp(h.min, h.max), di.distanceToSquared(i)),
|
|
853
853
|
intersectsBounds: (h, f, I) => I < o && I < r,
|
|
854
854
|
intersectsTriangle: (h, f) => {
|
|
855
|
-
h.closestPointToPoint(i,
|
|
856
|
-
const I = i.distanceToSquared(
|
|
857
|
-
return I < o && (js.copy(
|
|
855
|
+
h.closestPointToPoint(i, di);
|
|
856
|
+
const I = i.distanceToSquared(di);
|
|
857
|
+
return I < o && (js.copy(di), o = I, a = f), I < n;
|
|
858
858
|
}
|
|
859
859
|
}
|
|
860
860
|
), o === 1 / 0)
|
|
@@ -862,7 +862,7 @@ function na(c, i, t = {}, e = 0, s = 1 / 0) {
|
|
|
862
862
|
const l = Math.sqrt(o);
|
|
863
863
|
return t.point ? t.point.copy(js) : t.point = js.clone(), t.distance = l, t.faceIndex = a, t;
|
|
864
864
|
}
|
|
865
|
-
const ze = /* @__PURE__ */ new Q(), ke = /* @__PURE__ */ new Q(), He = /* @__PURE__ */ new Q(),
|
|
865
|
+
const ze = /* @__PURE__ */ new Q(), ke = /* @__PURE__ */ new Q(), He = /* @__PURE__ */ new Q(), Wi = /* @__PURE__ */ new oi(), Xi = /* @__PURE__ */ new oi(), $i = /* @__PURE__ */ new oi(), tr = /* @__PURE__ */ new Q(), er = /* @__PURE__ */ new Q(), ir = /* @__PURE__ */ new Q(), Zi = /* @__PURE__ */ new Q();
|
|
866
866
|
function ra(c, i, t, e, s, n) {
|
|
867
867
|
let r;
|
|
868
868
|
return n === Oo ? r = c.intersectTriangle(e, t, i, !0, s) : r = c.intersectTriangle(i, t, e, n !== jr, s), r === null ? null : {
|
|
@@ -872,9 +872,9 @@ function ra(c, i, t, e, s, n) {
|
|
|
872
872
|
}
|
|
873
873
|
function oa(c, i, t, e, s, n, r, o, a) {
|
|
874
874
|
ze.fromBufferAttribute(i, n), ke.fromBufferAttribute(i, r), He.fromBufferAttribute(i, o);
|
|
875
|
-
const l = ra(c, ze, ke, He,
|
|
875
|
+
const l = ra(c, ze, ke, He, Zi, a);
|
|
876
876
|
if (l) {
|
|
877
|
-
e && (
|
|
877
|
+
e && (Wi.fromBufferAttribute(e, n), Xi.fromBufferAttribute(e, r), $i.fromBufferAttribute(e, o), l.uv = ei.getInterpolation(Zi, ze, ke, He, Wi, Xi, $i, new oi())), s && (Wi.fromBufferAttribute(s, n), Xi.fromBufferAttribute(s, r), $i.fromBufferAttribute(s, o), l.uv1 = ei.getInterpolation(Zi, ze, ke, He, Wi, Xi, $i, new oi())), t && (tr.fromBufferAttribute(t, n), er.fromBufferAttribute(t, r), ir.fromBufferAttribute(t, o), l.normal = ei.getInterpolation(Zi, ze, ke, He, tr, er, ir, new Q()), l.normal.dot(c.direction) > 0 && l.normal.multiplyScalar(-1));
|
|
878
878
|
const h = {
|
|
879
879
|
a: n,
|
|
880
880
|
b: r,
|
|
@@ -959,7 +959,7 @@ function ha(c, i = null) {
|
|
|
959
959
|
}
|
|
960
960
|
}
|
|
961
961
|
}
|
|
962
|
-
const sr = /* @__PURE__ */ new
|
|
962
|
+
const sr = /* @__PURE__ */ new ae();
|
|
963
963
|
function we(c, i, t, e) {
|
|
964
964
|
return Nt(c, i, sr), t.intersectBox(sr, e);
|
|
965
965
|
}
|
|
@@ -1033,7 +1033,7 @@ function pn(c, i, t, e) {
|
|
|
1033
1033
|
return T && m ? T.distance <= m.distance ? T : m : T || m || null;
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
|
-
const
|
|
1036
|
+
const ji = /* @__PURE__ */ new ae(), We = /* @__PURE__ */ new ne(), Xe = /* @__PURE__ */ new ne(), Ei = /* @__PURE__ */ new pe(), or = /* @__PURE__ */ new Bt(), qi = /* @__PURE__ */ new Bt();
|
|
1037
1037
|
function Ca(c, i, t, e) {
|
|
1038
1038
|
Ft.setBuffer(c._roots[i]);
|
|
1039
1039
|
const s = Cn(0, c, t, e);
|
|
@@ -1044,9 +1044,9 @@ function Cn(c, i, t, e, s = null) {
|
|
|
1044
1044
|
let a = c * 2;
|
|
1045
1045
|
if (s === null && (t.boundingBox || t.computeBoundingBox(), or.set(t.boundingBox.min, t.boundingBox.max, e), s = or), Gt(a, r)) {
|
|
1046
1046
|
const h = i.geometry, f = h.index, I = h.attributes.position, u = t.index, d = t.attributes.position, E = zt(c, o), T = Zt(a, r);
|
|
1047
|
-
if (
|
|
1048
|
-
return Nt(c, n,
|
|
1049
|
-
intersectsBounds: (m) =>
|
|
1047
|
+
if (Ei.copy(e).invert(), t.boundsTree)
|
|
1048
|
+
return Nt(c, n, qi), qi.matrix.copy(Ei), qi.needsUpdate = !0, t.boundsTree.shapecast({
|
|
1049
|
+
intersectsBounds: (m) => qi.intersectsBox(m),
|
|
1050
1050
|
intersectsTriangle: (m) => {
|
|
1051
1051
|
m.a.applyMatrix4(e), m.b.applyMatrix4(e), m.c.applyMatrix4(e), m.needsUpdate = !0;
|
|
1052
1052
|
for (let F = E * 3, R = (T + E) * 3; F < R; F += 3)
|
|
@@ -1056,31 +1056,31 @@ function Cn(c, i, t, e, s = null) {
|
|
|
1056
1056
|
}
|
|
1057
1057
|
});
|
|
1058
1058
|
for (let p = E * 3, m = (T + E) * 3; p < m; p += 3) {
|
|
1059
|
-
wt(We, p, f, I), We.a.applyMatrix4(
|
|
1059
|
+
wt(We, p, f, I), We.a.applyMatrix4(Ei), We.b.applyMatrix4(Ei), We.c.applyMatrix4(Ei), We.needsUpdate = !0;
|
|
1060
1060
|
for (let F = 0, R = u.count; F < R; F += 3)
|
|
1061
1061
|
if (wt(Xe, F, u, d), Xe.needsUpdate = !0, We.intersectsTriangle(Xe))
|
|
1062
1062
|
return !0;
|
|
1063
1063
|
}
|
|
1064
1064
|
} else {
|
|
1065
1065
|
const h = c + 8, f = o[c + 6];
|
|
1066
|
-
return Nt(h, n,
|
|
1066
|
+
return Nt(h, n, ji), !!(s.intersectsBox(ji) && Cn(h, i, t, e, s) || (Nt(f, n, ji), s.intersectsBox(ji) && Cn(f, i, t, e, s)));
|
|
1067
1067
|
}
|
|
1068
1068
|
}
|
|
1069
|
-
const
|
|
1069
|
+
const Qi = /* @__PURE__ */ new pe(), qs = /* @__PURE__ */ new Bt(), pi = /* @__PURE__ */ new Bt(), Ta = /* @__PURE__ */ new Q(), ma = /* @__PURE__ */ new Q(), Ra = /* @__PURE__ */ new Q(), ga = /* @__PURE__ */ new Q();
|
|
1070
1070
|
function Aa(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
1071
1071
|
i.boundingBox || i.computeBoundingBox(), qs.set(i.boundingBox.min, i.boundingBox.max, t), qs.needsUpdate = !0;
|
|
1072
1072
|
const o = c.geometry, a = o.attributes.position, l = o.index, h = i.attributes.position, f = i.index, I = $t.getPrimitive(), u = $t.getPrimitive();
|
|
1073
1073
|
let d = Ta, E = ma, T = null, p = null;
|
|
1074
1074
|
s && (T = Ra, p = ga);
|
|
1075
1075
|
let m = 1 / 0, F = null, R = null;
|
|
1076
|
-
return
|
|
1076
|
+
return Qi.copy(t).invert(), pi.matrix.copy(Qi), c.shapecast(
|
|
1077
1077
|
{
|
|
1078
1078
|
boundsTraverseOrder: (S) => qs.distanceToBox(S),
|
|
1079
|
-
intersectsBounds: (S, N, y) => y < m && y < r ? (N && (
|
|
1079
|
+
intersectsBounds: (S, N, y) => y < m && y < r ? (N && (pi.min.copy(S.min), pi.max.copy(S.max), pi.needsUpdate = !0), !0) : !1,
|
|
1080
1080
|
intersectsRange: (S, N) => {
|
|
1081
1081
|
if (i.boundsTree)
|
|
1082
1082
|
return i.boundsTree.shapecast({
|
|
1083
|
-
boundsTraverseOrder: (M) =>
|
|
1083
|
+
boundsTraverseOrder: (M) => pi.distanceToBox(M),
|
|
1084
1084
|
intersectsBounds: (M, L, b) => b < m && b < r,
|
|
1085
1085
|
intersectsRange: (M, L) => {
|
|
1086
1086
|
for (let b = M, G = M + L; b < G; b++) {
|
|
@@ -1095,7 +1095,7 @@ function Aa(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
|
1095
1095
|
}
|
|
1096
1096
|
});
|
|
1097
1097
|
{
|
|
1098
|
-
const y =
|
|
1098
|
+
const y = ci(i);
|
|
1099
1099
|
for (let M = 0, L = y; M < L; M++) {
|
|
1100
1100
|
wt(u, 3 * M, f, h), u.a.applyMatrix4(t), u.b.applyMatrix4(t), u.c.applyMatrix4(t), u.needsUpdate = !0;
|
|
1101
1101
|
for (let b = S, G = S + N; b < G; b++) {
|
|
@@ -1108,7 +1108,7 @@ function Aa(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
|
1108
1108
|
}
|
|
1109
1109
|
}
|
|
1110
1110
|
}
|
|
1111
|
-
), $t.releasePrimitive(I), $t.releasePrimitive(u), m === 1 / 0 ? null : (e.point ? e.point.copy(E) : e.point = E.clone(), e.distance = m, e.faceIndex = F, s && (s.point ? s.point.copy(p) : s.point = p.clone(), s.point.applyMatrix4(
|
|
1111
|
+
), $t.releasePrimitive(I), $t.releasePrimitive(u), m === 1 / 0 ? null : (e.point ? e.point.copy(E) : e.point = E.clone(), e.distance = m, e.faceIndex = F, s && (s.point ? s.point.copy(p) : s.point = p.clone(), s.point.applyMatrix4(Qi), E.applyMatrix4(Qi), s.distance = E.sub(s.point).length(), s.faceIndex = R), e);
|
|
1112
1112
|
}
|
|
1113
1113
|
function Fa(c, i = null) {
|
|
1114
1114
|
i && Array.isArray(i) && (i = new Set(i));
|
|
@@ -1196,7 +1196,7 @@ function mn(c, i, t, e) {
|
|
|
1196
1196
|
return T && m ? T.distance <= m.distance ? T : m : T || m || null;
|
|
1197
1197
|
}
|
|
1198
1198
|
}
|
|
1199
|
-
const
|
|
1199
|
+
const Ki = /* @__PURE__ */ new ae(), $e = /* @__PURE__ */ new ne(), Ze = /* @__PURE__ */ new ne(), Ci = /* @__PURE__ */ new pe(), lr = /* @__PURE__ */ new Bt(), Ji = /* @__PURE__ */ new Bt();
|
|
1200
1200
|
function ya(c, i, t, e) {
|
|
1201
1201
|
Ft.setBuffer(c._roots[i]);
|
|
1202
1202
|
const s = Rn(0, c, t, e);
|
|
@@ -1207,9 +1207,9 @@ function Rn(c, i, t, e, s = null) {
|
|
|
1207
1207
|
let a = c * 2;
|
|
1208
1208
|
if (s === null && (t.boundingBox || t.computeBoundingBox(), lr.set(t.boundingBox.min, t.boundingBox.max, e), s = lr), Gt(a, r)) {
|
|
1209
1209
|
const h = i.geometry, f = h.index, I = h.attributes.position, u = t.index, d = t.attributes.position, E = zt(c, o), T = Zt(a, r);
|
|
1210
|
-
if (
|
|
1211
|
-
return Nt(c, n,
|
|
1212
|
-
intersectsBounds: (m) =>
|
|
1210
|
+
if (Ci.copy(e).invert(), t.boundsTree)
|
|
1211
|
+
return Nt(c, n, Ji), Ji.matrix.copy(Ci), Ji.needsUpdate = !0, t.boundsTree.shapecast({
|
|
1212
|
+
intersectsBounds: (m) => Ji.intersectsBox(m),
|
|
1213
1213
|
intersectsTriangle: (m) => {
|
|
1214
1214
|
m.a.applyMatrix4(e), m.b.applyMatrix4(e), m.c.applyMatrix4(e), m.needsUpdate = !0;
|
|
1215
1215
|
for (let F = E, R = T + E; F < R; F++)
|
|
@@ -1220,32 +1220,32 @@ function Rn(c, i, t, e, s = null) {
|
|
|
1220
1220
|
});
|
|
1221
1221
|
for (let p = E, m = T + E; p < m; p++) {
|
|
1222
1222
|
const F = i.resolveTriangleIndex(p);
|
|
1223
|
-
wt($e, 3 * F, f, I), $e.a.applyMatrix4(
|
|
1223
|
+
wt($e, 3 * F, f, I), $e.a.applyMatrix4(Ci), $e.b.applyMatrix4(Ci), $e.c.applyMatrix4(Ci), $e.needsUpdate = !0;
|
|
1224
1224
|
for (let R = 0, S = u.count; R < S; R += 3)
|
|
1225
1225
|
if (wt(Ze, R, u, d), Ze.needsUpdate = !0, $e.intersectsTriangle(Ze))
|
|
1226
1226
|
return !0;
|
|
1227
1227
|
}
|
|
1228
1228
|
} else {
|
|
1229
1229
|
const h = c + 8, f = o[c + 6];
|
|
1230
|
-
return Nt(h, n,
|
|
1230
|
+
return Nt(h, n, Ki), !!(s.intersectsBox(Ki) && Rn(h, i, t, e, s) || (Nt(f, n, Ki), s.intersectsBox(Ki) && Rn(f, i, t, e, s)));
|
|
1231
1231
|
}
|
|
1232
1232
|
}
|
|
1233
|
-
const
|
|
1233
|
+
const ts = /* @__PURE__ */ new pe(), Qs = /* @__PURE__ */ new Bt(), Ti = /* @__PURE__ */ new Bt(), La = /* @__PURE__ */ new Q(), _a = /* @__PURE__ */ new Q(), Pa = /* @__PURE__ */ new Q(), wa = /* @__PURE__ */ new Q();
|
|
1234
1234
|
function Ma(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
1235
1235
|
i.boundingBox || i.computeBoundingBox(), Qs.set(i.boundingBox.min, i.boundingBox.max, t), Qs.needsUpdate = !0;
|
|
1236
1236
|
const o = c.geometry, a = o.attributes.position, l = o.index, h = i.attributes.position, f = i.index, I = $t.getPrimitive(), u = $t.getPrimitive();
|
|
1237
1237
|
let d = La, E = _a, T = null, p = null;
|
|
1238
1238
|
s && (T = Pa, p = wa);
|
|
1239
1239
|
let m = 1 / 0, F = null, R = null;
|
|
1240
|
-
return
|
|
1240
|
+
return ts.copy(t).invert(), Ti.matrix.copy(ts), c.shapecast(
|
|
1241
1241
|
{
|
|
1242
1242
|
boundsTraverseOrder: (S) => Qs.distanceToBox(S),
|
|
1243
|
-
intersectsBounds: (S, N, y) => y < m && y < r ? (N && (
|
|
1243
|
+
intersectsBounds: (S, N, y) => y < m && y < r ? (N && (Ti.min.copy(S.min), Ti.max.copy(S.max), Ti.needsUpdate = !0), !0) : !1,
|
|
1244
1244
|
intersectsRange: (S, N) => {
|
|
1245
1245
|
if (i.boundsTree) {
|
|
1246
1246
|
const y = i.boundsTree;
|
|
1247
1247
|
return y.shapecast({
|
|
1248
|
-
boundsTraverseOrder: (M) =>
|
|
1248
|
+
boundsTraverseOrder: (M) => Ti.distanceToBox(M),
|
|
1249
1249
|
intersectsBounds: (M, L, b) => b < m && b < r,
|
|
1250
1250
|
intersectsRange: (M, L) => {
|
|
1251
1251
|
for (let b = M, G = M + L; b < G; b++) {
|
|
@@ -1262,7 +1262,7 @@ function Ma(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
|
1262
1262
|
}
|
|
1263
1263
|
});
|
|
1264
1264
|
} else {
|
|
1265
|
-
const y =
|
|
1265
|
+
const y = ci(i);
|
|
1266
1266
|
for (let M = 0, L = y; M < L; M++) {
|
|
1267
1267
|
wt(u, 3 * M, f, h), u.a.applyMatrix4(t), u.b.applyMatrix4(t), u.c.applyMatrix4(t), u.needsUpdate = !0;
|
|
1268
1268
|
for (let b = S, G = S + N; b < G; b++) {
|
|
@@ -1276,12 +1276,12 @@ function Ma(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
|
1276
1276
|
}
|
|
1277
1277
|
}
|
|
1278
1278
|
}
|
|
1279
|
-
), $t.releasePrimitive(I), $t.releasePrimitive(u), m === 1 / 0 ? null : (e.point ? e.point.copy(E) : e.point = E.clone(), e.distance = m, e.faceIndex = F, s && (s.point ? s.point.copy(p) : s.point = p.clone(), s.point.applyMatrix4(
|
|
1279
|
+
), $t.releasePrimitive(I), $t.releasePrimitive(u), m === 1 / 0 ? null : (e.point ? e.point.copy(E) : e.point = E.clone(), e.distance = m, e.faceIndex = F, s && (s.point ? s.point.copy(p) : s.point = p.clone(), s.point.applyMatrix4(ts), E.applyMatrix4(ts), s.distance = E.sub(s.point).length(), s.faceIndex = R), e);
|
|
1280
1280
|
}
|
|
1281
1281
|
function Da() {
|
|
1282
1282
|
return typeof SharedArrayBuffer < "u";
|
|
1283
1283
|
}
|
|
1284
|
-
const
|
|
1284
|
+
const Pi = new Ft.constructor(), ps = new Ft.constructor(), Ne = new vn(() => new ae()), je = new ae(), qe = new ae(), Ks = new ae(), Js = new ae();
|
|
1285
1285
|
let tn = !1;
|
|
1286
1286
|
function ba(c, i, t, e) {
|
|
1287
1287
|
if (tn)
|
|
@@ -1289,12 +1289,12 @@ function ba(c, i, t, e) {
|
|
|
1289
1289
|
tn = !0;
|
|
1290
1290
|
const s = c._roots, n = i._roots;
|
|
1291
1291
|
let r, o = 0, a = 0;
|
|
1292
|
-
const l = new
|
|
1292
|
+
const l = new pe().copy(t).invert();
|
|
1293
1293
|
for (let h = 0, f = s.length; h < f; h++) {
|
|
1294
|
-
|
|
1295
|
-
const I =
|
|
1296
|
-
Nt(0,
|
|
1297
|
-
for (let u = 0, d = n.length; u < d && (
|
|
1294
|
+
Pi.setBuffer(s[h]), a = 0;
|
|
1295
|
+
const I = Ne.getPrimitive();
|
|
1296
|
+
Nt(0, Pi.float32Array, I), I.applyMatrix4(l);
|
|
1297
|
+
for (let u = 0, d = n.length; u < d && (ps.setBuffer(n[h]), r = Kt(
|
|
1298
1298
|
0,
|
|
1299
1299
|
0,
|
|
1300
1300
|
t,
|
|
@@ -1305,16 +1305,16 @@ function ba(c, i, t, e) {
|
|
|
1305
1305
|
0,
|
|
1306
1306
|
0,
|
|
1307
1307
|
I
|
|
1308
|
-
),
|
|
1308
|
+
), ps.clearBuffer(), a += n[u].length, !r); u++)
|
|
1309
1309
|
;
|
|
1310
|
-
if (
|
|
1310
|
+
if (Ne.releasePrimitive(I), Pi.clearBuffer(), o += s[h].length, r)
|
|
1311
1311
|
break;
|
|
1312
1312
|
}
|
|
1313
1313
|
return tn = !1, r;
|
|
1314
1314
|
}
|
|
1315
|
-
function
|
|
1315
|
+
function Kt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
1316
1316
|
let f, I;
|
|
1317
|
-
h ? (f =
|
|
1317
|
+
h ? (f = ps, I = Pi) : (f = Pi, I = ps);
|
|
1318
1318
|
const u = f.float32Array, d = f.uint32Array, E = f.uint16Array, T = I.float32Array, p = I.uint32Array, m = I.uint16Array, F = c * 2, R = i * 2, S = Gt(F, E), N = Gt(R, m);
|
|
1319
1319
|
let y = !1;
|
|
1320
1320
|
if (N && S)
|
|
@@ -1338,12 +1338,12 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1338
1338
|
r + i
|
|
1339
1339
|
);
|
|
1340
1340
|
else if (N) {
|
|
1341
|
-
const M =
|
|
1341
|
+
const M = Ne.getPrimitive();
|
|
1342
1342
|
Nt(i, T, M), M.applyMatrix4(t);
|
|
1343
1343
|
const L = jt(c), b = qt(c, d);
|
|
1344
1344
|
Nt(L, u, je), Nt(b, u, qe);
|
|
1345
1345
|
const G = M.intersectsBox(je), O = M.intersectsBox(qe);
|
|
1346
|
-
y = G &&
|
|
1346
|
+
y = G && Kt(
|
|
1347
1347
|
i,
|
|
1348
1348
|
L,
|
|
1349
1349
|
e,
|
|
@@ -1355,7 +1355,7 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1355
1355
|
o + 1,
|
|
1356
1356
|
M,
|
|
1357
1357
|
!h
|
|
1358
|
-
) || O &&
|
|
1358
|
+
) || O && Kt(
|
|
1359
1359
|
i,
|
|
1360
1360
|
b,
|
|
1361
1361
|
e,
|
|
@@ -1367,13 +1367,13 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1367
1367
|
o + 1,
|
|
1368
1368
|
M,
|
|
1369
1369
|
!h
|
|
1370
|
-
),
|
|
1370
|
+
), Ne.releasePrimitive(M);
|
|
1371
1371
|
} else {
|
|
1372
1372
|
const M = jt(i), L = qt(i, p);
|
|
1373
1373
|
Nt(M, T, Ks), Nt(L, T, Js);
|
|
1374
1374
|
const b = l.intersectsBox(Ks), G = l.intersectsBox(Js);
|
|
1375
1375
|
if (b && G)
|
|
1376
|
-
y =
|
|
1376
|
+
y = Kt(
|
|
1377
1377
|
c,
|
|
1378
1378
|
M,
|
|
1379
1379
|
t,
|
|
@@ -1385,7 +1385,7 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1385
1385
|
a + 1,
|
|
1386
1386
|
l,
|
|
1387
1387
|
h
|
|
1388
|
-
) ||
|
|
1388
|
+
) || Kt(
|
|
1389
1389
|
c,
|
|
1390
1390
|
L,
|
|
1391
1391
|
t,
|
|
@@ -1400,7 +1400,7 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1400
1400
|
);
|
|
1401
1401
|
else if (b)
|
|
1402
1402
|
if (S)
|
|
1403
|
-
y =
|
|
1403
|
+
y = Kt(
|
|
1404
1404
|
c,
|
|
1405
1405
|
M,
|
|
1406
1406
|
t,
|
|
@@ -1414,12 +1414,12 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1414
1414
|
h
|
|
1415
1415
|
);
|
|
1416
1416
|
else {
|
|
1417
|
-
const O =
|
|
1417
|
+
const O = Ne.getPrimitive();
|
|
1418
1418
|
O.copy(Ks).applyMatrix4(t);
|
|
1419
1419
|
const w = jt(c), g = qt(c, d);
|
|
1420
1420
|
Nt(w, u, je), Nt(g, u, qe);
|
|
1421
1421
|
const v = O.intersectsBox(je), j = O.intersectsBox(qe);
|
|
1422
|
-
y = v &&
|
|
1422
|
+
y = v && Kt(
|
|
1423
1423
|
M,
|
|
1424
1424
|
w,
|
|
1425
1425
|
e,
|
|
@@ -1431,7 +1431,7 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1431
1431
|
o + 1,
|
|
1432
1432
|
O,
|
|
1433
1433
|
!h
|
|
1434
|
-
) || j &&
|
|
1434
|
+
) || j && Kt(
|
|
1435
1435
|
M,
|
|
1436
1436
|
g,
|
|
1437
1437
|
e,
|
|
@@ -1443,11 +1443,11 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1443
1443
|
o + 1,
|
|
1444
1444
|
O,
|
|
1445
1445
|
!h
|
|
1446
|
-
),
|
|
1446
|
+
), Ne.releasePrimitive(O);
|
|
1447
1447
|
}
|
|
1448
1448
|
else if (G)
|
|
1449
1449
|
if (S)
|
|
1450
|
-
y =
|
|
1450
|
+
y = Kt(
|
|
1451
1451
|
c,
|
|
1452
1452
|
L,
|
|
1453
1453
|
t,
|
|
@@ -1461,12 +1461,12 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1461
1461
|
h
|
|
1462
1462
|
);
|
|
1463
1463
|
else {
|
|
1464
|
-
const O =
|
|
1464
|
+
const O = Ne.getPrimitive();
|
|
1465
1465
|
O.copy(Js).applyMatrix4(t);
|
|
1466
1466
|
const w = jt(c), g = qt(c, d);
|
|
1467
1467
|
Nt(w, u, je), Nt(g, u, qe);
|
|
1468
1468
|
const v = O.intersectsBox(je), j = O.intersectsBox(qe);
|
|
1469
|
-
y = v &&
|
|
1469
|
+
y = v && Kt(
|
|
1470
1470
|
L,
|
|
1471
1471
|
w,
|
|
1472
1472
|
e,
|
|
@@ -1478,7 +1478,7 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1478
1478
|
o + 1,
|
|
1479
1479
|
O,
|
|
1480
1480
|
!h
|
|
1481
|
-
) || j &&
|
|
1481
|
+
) || j && Kt(
|
|
1482
1482
|
L,
|
|
1483
1483
|
g,
|
|
1484
1484
|
e,
|
|
@@ -1490,12 +1490,12 @@ function Jt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1490
1490
|
o + 1,
|
|
1491
1491
|
O,
|
|
1492
1492
|
!h
|
|
1493
|
-
),
|
|
1493
|
+
), Ne.releasePrimitive(O);
|
|
1494
1494
|
}
|
|
1495
1495
|
}
|
|
1496
1496
|
return y;
|
|
1497
1497
|
}
|
|
1498
|
-
const
|
|
1498
|
+
const es = /* @__PURE__ */ new Bt(), hr = /* @__PURE__ */ new ae();
|
|
1499
1499
|
class Un {
|
|
1500
1500
|
static serialize(i, t = {}) {
|
|
1501
1501
|
t = {
|
|
@@ -1554,7 +1554,7 @@ class Un {
|
|
|
1554
1554
|
[Xs]: !1
|
|
1555
1555
|
}, t), t.useSharedArrayBuffer && !Da())
|
|
1556
1556
|
throw new Error("MeshBVH: SharedArrayBuffer is not available.");
|
|
1557
|
-
this.geometry = i, this._roots = null, this._indirectBuffer = null, t[Xs] || (Qo(this, t), !i.boundingBox && t.setBoundingBox && (i.boundingBox = this.getBoundingBox(new
|
|
1557
|
+
this.geometry = i, this._roots = null, this._indirectBuffer = null, t[Xs] || (Qo(this, t), !i.boundingBox && t.setBoundingBox && (i.boundingBox = this.getBoundingBox(new ae())));
|
|
1558
1558
|
const { _indirectBuffer: e } = this;
|
|
1559
1559
|
this.resolveTriangleIndex = t.indirect ? (s) => e[s] : (s) => s;
|
|
1560
1560
|
}
|
|
@@ -1570,7 +1570,7 @@ class Un {
|
|
|
1570
1570
|
const f = s[o + 6], I = n[l + 14];
|
|
1571
1571
|
i(a, h, new Float32Array(e, o * 4, 6), f, I);
|
|
1572
1572
|
} else {
|
|
1573
|
-
const f = o +
|
|
1573
|
+
const f = o + fs / 4, I = s[o + 6], u = s[o + 7];
|
|
1574
1574
|
i(a, h, new Float32Array(e, o * 4, 6), u) || (r(f, a + 1), r(I, a + 1));
|
|
1575
1575
|
}
|
|
1576
1576
|
}
|
|
@@ -1666,10 +1666,10 @@ class Un {
|
|
|
1666
1666
|
}
|
|
1667
1667
|
/* Derived Cast Functions */
|
|
1668
1668
|
intersectsBox(i, t) {
|
|
1669
|
-
return
|
|
1669
|
+
return es.set(i.min, i.max, t), es.needsUpdate = !0, this.shapecast(
|
|
1670
1670
|
{
|
|
1671
|
-
intersectsBounds: (e) =>
|
|
1672
|
-
intersectsTriangle: (e) =>
|
|
1671
|
+
intersectsBounds: (e) => es.intersectsBox(e),
|
|
1672
|
+
intersectsTriangle: (e) => es.intersectsTriangle(e)
|
|
1673
1673
|
}
|
|
1674
1674
|
);
|
|
1675
1675
|
}
|
|
@@ -1710,7 +1710,7 @@ class Un {
|
|
|
1710
1710
|
function ur(c, i, t) {
|
|
1711
1711
|
return c === null || (c.point.applyMatrix4(i.matrixWorld), c.distance = c.point.distanceTo(t.ray.origin), c.object = i, c.distance < t.near || c.distance > t.far) ? null : c;
|
|
1712
1712
|
}
|
|
1713
|
-
const en = /* @__PURE__ */ new No(), fr = /* @__PURE__ */ new
|
|
1713
|
+
const en = /* @__PURE__ */ new No(), fr = /* @__PURE__ */ new pe(), va = rt.prototype.raycast;
|
|
1714
1714
|
function Ua(c, i) {
|
|
1715
1715
|
if (this.geometry.boundsTree) {
|
|
1716
1716
|
if (this.material === void 0)
|
|
@@ -1765,7 +1765,7 @@ class Z {
|
|
|
1765
1765
|
this.handlers.length = 0;
|
|
1766
1766
|
}
|
|
1767
1767
|
}
|
|
1768
|
-
class
|
|
1768
|
+
class Is {
|
|
1769
1769
|
constructor() {
|
|
1770
1770
|
/** Triggers all the callbacks assigned to this event. */
|
|
1771
1771
|
C(this, "trigger", async (i) => {
|
|
@@ -1893,13 +1893,13 @@ class Ya extends Bn {
|
|
|
1893
1893
|
);
|
|
1894
1894
|
}
|
|
1895
1895
|
}
|
|
1896
|
-
const
|
|
1896
|
+
const wi = class wi extends At {
|
|
1897
1897
|
constructor(t) {
|
|
1898
1898
|
super(t);
|
|
1899
1899
|
C(this, "_disposedComponents", /* @__PURE__ */ new Set());
|
|
1900
1900
|
/** {@link Component.enabled} */
|
|
1901
1901
|
C(this, "enabled", !0);
|
|
1902
|
-
t.add(
|
|
1902
|
+
t.add(wi.uuid, this);
|
|
1903
1903
|
}
|
|
1904
1904
|
// TODO: Remove this?
|
|
1905
1905
|
/**
|
|
@@ -1937,7 +1937,7 @@ const Pi = class Pi extends At {
|
|
|
1937
1937
|
}
|
|
1938
1938
|
disposeGeometryAndMaterials(t, e) {
|
|
1939
1939
|
const s = t;
|
|
1940
|
-
s.geometry && this.disposeGeometry(s.geometry), e && s.material &&
|
|
1940
|
+
s.geometry && this.disposeGeometry(s.geometry), e && s.material && wi.disposeMaterial(s), s.material = [], s.geometry = null;
|
|
1941
1941
|
}
|
|
1942
1942
|
disposeChildren(t) {
|
|
1943
1943
|
for (const e of t.children)
|
|
@@ -1956,8 +1956,8 @@ const Pi = class Pi extends At {
|
|
|
1956
1956
|
* A unique identifier for the component.
|
|
1957
1957
|
* This UUID is used to register the component within the Components system.
|
|
1958
1958
|
*/
|
|
1959
|
-
C(
|
|
1960
|
-
let Me =
|
|
1959
|
+
C(wi, "uuid", "76e9cd8e-ad8f-4753-9ef6-cbc60f7247fe");
|
|
1960
|
+
let Me = wi;
|
|
1961
1961
|
class Ga extends Bn {
|
|
1962
1962
|
constructor(t) {
|
|
1963
1963
|
super(t);
|
|
@@ -1986,7 +1986,7 @@ class Ga extends Bn {
|
|
|
1986
1986
|
this.ambientLights.clear();
|
|
1987
1987
|
}
|
|
1988
1988
|
}
|
|
1989
|
-
class
|
|
1989
|
+
class Pe extends Set {
|
|
1990
1990
|
/**
|
|
1991
1991
|
* Constructs a new instance of the DataSet class.
|
|
1992
1992
|
*
|
|
@@ -2051,7 +2051,7 @@ class Re extends Set {
|
|
|
2051
2051
|
this.clear(), this.onItemAdded.reset(), this.onItemDeleted.reset(), this.onCleared.reset();
|
|
2052
2052
|
}
|
|
2053
2053
|
}
|
|
2054
|
-
class
|
|
2054
|
+
class re extends Map {
|
|
2055
2055
|
/**
|
|
2056
2056
|
* Constructs a new DataMap instance.
|
|
2057
2057
|
*
|
|
@@ -2126,7 +2126,7 @@ class pe extends Map {
|
|
|
2126
2126
|
}
|
|
2127
2127
|
class ph extends At {
|
|
2128
2128
|
}
|
|
2129
|
-
const
|
|
2129
|
+
const ds = 0, za = 1, ka = new Q(), Ir = new Ee(), sn = new Dn(), dr = new Q(), is = new ei();
|
|
2130
2130
|
class Ha {
|
|
2131
2131
|
constructor() {
|
|
2132
2132
|
this.tolerance = -1, this.faces = [], this.newFaces = [], this.assigned = new Er(), this.unassigned = new Er(), this.vertices = [];
|
|
@@ -2222,7 +2222,7 @@ class Ha {
|
|
|
2222
2222
|
let s = this.tolerance, n = null;
|
|
2223
2223
|
for (let r = 0; r < i.length; r++) {
|
|
2224
2224
|
const o = i[r];
|
|
2225
|
-
if (o.mark ===
|
|
2225
|
+
if (o.mark === ds) {
|
|
2226
2226
|
const a = o.distanceToPoint(t.point);
|
|
2227
2227
|
if (a > s && (s = a, n = o), s > 1e3 * this.tolerance)
|
|
2228
2228
|
break;
|
|
@@ -2279,10 +2279,10 @@ class Ha {
|
|
|
2279
2279
|
const f = [];
|
|
2280
2280
|
if (sn.distanceToPoint(h.point) < 0) {
|
|
2281
2281
|
f.push(
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2282
|
+
te.create(o, a, l),
|
|
2283
|
+
te.create(h, a, o),
|
|
2284
|
+
te.create(h, l, a),
|
|
2285
|
+
te.create(h, o, l)
|
|
2286
2286
|
);
|
|
2287
2287
|
for (let I = 0; I < 3; I++) {
|
|
2288
2288
|
const u = (I + 1) % 3;
|
|
@@ -2290,10 +2290,10 @@ class Ha {
|
|
|
2290
2290
|
}
|
|
2291
2291
|
} else {
|
|
2292
2292
|
f.push(
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2293
|
+
te.create(o, l, a),
|
|
2294
|
+
te.create(h, o, a),
|
|
2295
|
+
te.create(h, a, l),
|
|
2296
|
+
te.create(h, l, o)
|
|
2297
2297
|
);
|
|
2298
2298
|
for (let I = 0; I < 3; I++) {
|
|
2299
2299
|
const u = (I + 1) % 3;
|
|
@@ -2321,7 +2321,7 @@ class Ha {
|
|
|
2321
2321
|
const i = [];
|
|
2322
2322
|
for (let t = 0; t < this.faces.length; t++) {
|
|
2323
2323
|
const e = this.faces[t];
|
|
2324
|
-
e.mark ===
|
|
2324
|
+
e.mark === ds && i.push(e);
|
|
2325
2325
|
}
|
|
2326
2326
|
return this.faces = i, this;
|
|
2327
2327
|
}
|
|
@@ -2347,13 +2347,13 @@ class Ha {
|
|
|
2347
2347
|
t === null ? n = t = e.getEdge(0) : n = t.next;
|
|
2348
2348
|
do {
|
|
2349
2349
|
const r = n.twin, o = r.face;
|
|
2350
|
-
o.mark ===
|
|
2350
|
+
o.mark === ds && (o.distanceToPoint(i) > this.tolerance ? this.computeHorizon(i, r, o, s) : s.push(n)), n = n.next;
|
|
2351
2351
|
} while (n !== t);
|
|
2352
2352
|
return this;
|
|
2353
2353
|
}
|
|
2354
2354
|
// Creates a face with the vertices 'eyeVertex.point', 'horizonEdge.tail' and 'horizonEdge.head' in CCW order
|
|
2355
2355
|
addAdjoiningFace(i, t) {
|
|
2356
|
-
const e =
|
|
2356
|
+
const e = te.create(i, t.tail(), t.head());
|
|
2357
2357
|
return this.faces.push(e), e.getEdge(-1).setTwin(t.twin), e.getEdge(0);
|
|
2358
2358
|
}
|
|
2359
2359
|
// Adds 'horizon.length' faces to the hull, each face will be linked with the
|
|
@@ -2382,12 +2382,12 @@ class Ha {
|
|
|
2382
2382
|
return this.reindexFaces(), this.cleanup(), this;
|
|
2383
2383
|
}
|
|
2384
2384
|
}
|
|
2385
|
-
class
|
|
2385
|
+
class te {
|
|
2386
2386
|
constructor() {
|
|
2387
|
-
this.normal = new Q(), this.midpoint = new Q(), this.area = 0, this.constant = 0, this.outside = null, this.mark =
|
|
2387
|
+
this.normal = new Q(), this.midpoint = new Q(), this.area = 0, this.constant = 0, this.outside = null, this.mark = ds, this.edge = null;
|
|
2388
2388
|
}
|
|
2389
2389
|
static create(i, t, e) {
|
|
2390
|
-
const s = new
|
|
2390
|
+
const s = new te(), n = new nn(i, s), r = new nn(t, s), o = new nn(e, s);
|
|
2391
2391
|
return n.next = o.prev = r, r.next = n.prev = o, o.next = r.prev = n, s.edge = n, s.compute();
|
|
2392
2392
|
}
|
|
2393
2393
|
getEdge(i) {
|
|
@@ -2400,7 +2400,7 @@ class ee {
|
|
|
2400
2400
|
}
|
|
2401
2401
|
compute() {
|
|
2402
2402
|
const i = this.edge.tail(), t = this.edge.head(), e = this.edge.next.head();
|
|
2403
|
-
return
|
|
2403
|
+
return is.set(i.point, t.point, e.point), is.getNormal(this.normal), is.getMidpoint(this.midpoint), this.area = is.getArea(), this.constant = this.normal.dot(this.midpoint), this;
|
|
2404
2404
|
}
|
|
2405
2405
|
distanceToPoint(i) {
|
|
2406
2406
|
return this.normal.dot(i) - this.constant;
|
|
@@ -2477,7 +2477,7 @@ class Er {
|
|
|
2477
2477
|
}
|
|
2478
2478
|
}
|
|
2479
2479
|
const gn = [2, 2, 1], An = [1, 0, 0];
|
|
2480
|
-
function
|
|
2480
|
+
function fe(c, i) {
|
|
2481
2481
|
return c * 3 + i;
|
|
2482
2482
|
}
|
|
2483
2483
|
function Xa(c) {
|
|
@@ -2491,7 +2491,7 @@ function $a(c) {
|
|
|
2491
2491
|
const i = c.elements;
|
|
2492
2492
|
let t = 0;
|
|
2493
2493
|
for (let e = 0; e < 3; e++) {
|
|
2494
|
-
const s = i[
|
|
2494
|
+
const s = i[fe(gn[e], An[e])];
|
|
2495
2495
|
t += 2 * s * s;
|
|
2496
2496
|
}
|
|
2497
2497
|
return Math.sqrt(t);
|
|
@@ -2500,17 +2500,17 @@ function Za(c, i) {
|
|
|
2500
2500
|
let t = 0, e = 1;
|
|
2501
2501
|
const s = c.elements;
|
|
2502
2502
|
for (let l = 0; l < 3; l++) {
|
|
2503
|
-
const h = Math.abs(s[
|
|
2503
|
+
const h = Math.abs(s[fe(gn[l], An[l])]);
|
|
2504
2504
|
h > t && (t = h, e = l);
|
|
2505
2505
|
}
|
|
2506
2506
|
let n = 1, r = 0;
|
|
2507
2507
|
const o = An[e], a = gn[e];
|
|
2508
|
-
if (Math.abs(s[
|
|
2509
|
-
const l = s[
|
|
2508
|
+
if (Math.abs(s[fe(a, o)]) > Number.EPSILON) {
|
|
2509
|
+
const l = s[fe(a, a)], h = s[fe(o, o)], f = s[fe(a, o)], I = (l - h) / 2 / f;
|
|
2510
2510
|
let u;
|
|
2511
2511
|
I < 0 ? u = -1 / (-I + Math.sqrt(1 + I * I)) : u = 1 / (I + Math.sqrt(1 + I * I)), n = 1 / Math.sqrt(1 + u * u), r = u * n;
|
|
2512
2512
|
}
|
|
2513
|
-
return i.identity(), i.elements[
|
|
2513
|
+
return i.identity(), i.elements[fe(o, o)] = n, i.elements[fe(a, a)] = n, i.elements[fe(a, o)] = r, i.elements[fe(o, a)] = -r, i;
|
|
2514
2514
|
}
|
|
2515
2515
|
function ja(c, i) {
|
|
2516
2516
|
let t = 0, e = 0;
|
|
@@ -2867,7 +2867,7 @@ C(_t, "_lut", [
|
|
|
2867
2867
|
"fe",
|
|
2868
2868
|
"ff"
|
|
2869
2869
|
]);
|
|
2870
|
-
let
|
|
2870
|
+
let oe = _t;
|
|
2871
2871
|
class Th extends At {
|
|
2872
2872
|
constructor(t, e) {
|
|
2873
2873
|
super(t);
|
|
@@ -2977,7 +2977,7 @@ class Th extends At {
|
|
|
2977
2977
|
get(t) {
|
|
2978
2978
|
if (!this.enabled)
|
|
2979
2979
|
return this._pickedPoint;
|
|
2980
|
-
const n = this.components.get(
|
|
2980
|
+
const n = this.components.get(ai).get(t).castRay();
|
|
2981
2981
|
if (!n)
|
|
2982
2982
|
return this._pickedPoint !== null && (this.onVertexLost.trigger(), this._pickedPoint = null), this._pickedPoint;
|
|
2983
2983
|
const r = this.getClosestVertex(n);
|
|
@@ -3018,7 +3018,7 @@ class Th extends At {
|
|
|
3018
3018
|
);
|
|
3019
3019
|
}
|
|
3020
3020
|
}
|
|
3021
|
-
const
|
|
3021
|
+
const Fs = class Fs {
|
|
3022
3022
|
constructor() {
|
|
3023
3023
|
/** {@link Disposable.onDisposed} */
|
|
3024
3024
|
C(this, "onDisposed", new Z());
|
|
@@ -3060,7 +3060,7 @@ const As = class As {
|
|
|
3060
3060
|
e.enabled && e.isUpdateable() && e.update(i);
|
|
3061
3061
|
requestAnimationFrame(this.update);
|
|
3062
3062
|
});
|
|
3063
|
-
this._clock = new D.Clock(),
|
|
3063
|
+
this._clock = new D.Clock(), Fs.setupBVH();
|
|
3064
3064
|
}
|
|
3065
3065
|
/**
|
|
3066
3066
|
* Adds a component to the list of components.
|
|
@@ -3078,7 +3078,7 @@ const As = class As {
|
|
|
3078
3078
|
throw new Error(
|
|
3079
3079
|
"You're trying to add a component that already exists in the components instance. Use Components.get() instead."
|
|
3080
3080
|
);
|
|
3081
|
-
|
|
3081
|
+
oe.validate(i), this.list.set(i, t);
|
|
3082
3082
|
}
|
|
3083
3083
|
/**
|
|
3084
3084
|
* Retrieves a component instance by its constructor function.
|
|
@@ -3137,8 +3137,8 @@ const As = class As {
|
|
|
3137
3137
|
/**
|
|
3138
3138
|
* The version of the @thatopen/components library.
|
|
3139
3139
|
*/
|
|
3140
|
-
C(
|
|
3141
|
-
let
|
|
3140
|
+
C(Fs, "release", "2.3.1");
|
|
3141
|
+
let Cs = Fs;
|
|
3142
3142
|
class Qa extends xn {
|
|
3143
3143
|
constructor() {
|
|
3144
3144
|
super(...arguments);
|
|
@@ -3164,7 +3164,7 @@ class Qa extends xn {
|
|
|
3164
3164
|
/**
|
|
3165
3165
|
* A unique identifier for the world. Is not meant to be changed at any moment.
|
|
3166
3166
|
*/
|
|
3167
|
-
C(this, "uuid",
|
|
3167
|
+
C(this, "uuid", oe.create());
|
|
3168
3168
|
/**
|
|
3169
3169
|
* An optional name for the world.
|
|
3170
3170
|
*/
|
|
@@ -3236,14 +3236,15 @@ class Qa extends xn {
|
|
|
3236
3236
|
s.destroy(n);
|
|
3237
3237
|
this.meshes.clear();
|
|
3238
3238
|
}
|
|
3239
|
-
this._scene = null, this._camera = null, this._renderer = null, this.components.get(
|
|
3239
|
+
this._scene = null, this._camera = null, this._renderer = null, this.components.get(Ts).list.delete(this.uuid), this.onDisposed.trigger(), this.onDisposed.reset();
|
|
3240
3240
|
}
|
|
3241
3241
|
}
|
|
3242
3242
|
class Ye {
|
|
3243
|
-
constructor(i, t, e) {
|
|
3243
|
+
constructor(i, t, e, s) {
|
|
3244
3244
|
C(this, "_component");
|
|
3245
3245
|
C(this, "name");
|
|
3246
|
-
this
|
|
3246
|
+
C(this, "uuid");
|
|
3247
|
+
this._component = i, this.name = e, this.uuid = s ?? oe.create(), t.get(Ve).list.set(this.uuid, this);
|
|
3247
3248
|
}
|
|
3248
3249
|
get controls() {
|
|
3249
3250
|
const i = {};
|
|
@@ -3318,24 +3319,24 @@ class Ye {
|
|
|
3318
3319
|
throw new Error("Invalid entry!");
|
|
3319
3320
|
}
|
|
3320
3321
|
}
|
|
3321
|
-
const
|
|
3322
|
+
const Ss = class Ss extends At {
|
|
3322
3323
|
constructor(t) {
|
|
3323
3324
|
super(t);
|
|
3324
3325
|
/**
|
|
3325
3326
|
* The list of all configurations of this app.
|
|
3326
3327
|
*/
|
|
3327
|
-
C(this, "list", new
|
|
3328
|
+
C(this, "list", new re());
|
|
3328
3329
|
/** {@link Component.enabled} */
|
|
3329
3330
|
C(this, "enabled", !0);
|
|
3330
|
-
t.add(
|
|
3331
|
+
t.add(Ss.uuid, this);
|
|
3331
3332
|
}
|
|
3332
3333
|
};
|
|
3333
3334
|
/**
|
|
3334
3335
|
* A unique identifier for the component.
|
|
3335
3336
|
* This UUID is used to register the component within the Components system.
|
|
3336
3337
|
*/
|
|
3337
|
-
C(
|
|
3338
|
-
let
|
|
3338
|
+
C(Ss, "uuid", "b8c764e0-6b24-4e77-9a32-35fa728ee5b4");
|
|
3339
|
+
let Ve = Ss;
|
|
3339
3340
|
class Ka {
|
|
3340
3341
|
constructor(i, t) {
|
|
3341
3342
|
C(this, "_list");
|
|
@@ -3465,7 +3466,7 @@ class ec extends Ga {
|
|
|
3465
3466
|
intensity: 1
|
|
3466
3467
|
}
|
|
3467
3468
|
});
|
|
3468
|
-
this.three = new D.Scene(), this.three.background = new D.Color(2107698)
|
|
3469
|
+
this.three = new D.Scene(), this.three.background = new D.Color(2107698);
|
|
3469
3470
|
}
|
|
3470
3471
|
/** {@link Configurable.setup} */
|
|
3471
3472
|
setup(t) {
|
|
@@ -3481,7 +3482,7 @@ class ec extends Ga {
|
|
|
3481
3482
|
this.three.add(a, f), this.directionalLights.set(a.uuid, a), this.ambientLights.set(f.uuid, f), this.isSetup = !0, this.onSetup.trigger();
|
|
3482
3483
|
}
|
|
3483
3484
|
dispose() {
|
|
3484
|
-
super.dispose(), this.components.get(
|
|
3485
|
+
super.dispose(), this.components.get(Ve).list.delete(this.config.uuid);
|
|
3485
3486
|
}
|
|
3486
3487
|
}
|
|
3487
3488
|
class mh extends Ya {
|
|
@@ -3614,11 +3615,11 @@ const ht = {
|
|
|
3614
3615
|
function be(c) {
|
|
3615
3616
|
return c.isPerspectiveCamera;
|
|
3616
3617
|
}
|
|
3617
|
-
function
|
|
3618
|
+
function Oe(c) {
|
|
3618
3619
|
return c.isOrthographicCamera;
|
|
3619
3620
|
}
|
|
3620
|
-
const Ke = Math.PI * 2, Cr = Math.PI / 2, eo = 1e-5,
|
|
3621
|
-
function
|
|
3621
|
+
const Ke = Math.PI * 2, Cr = Math.PI / 2, eo = 1e-5, mi = Math.PI / 180;
|
|
3622
|
+
function Jt(c, i, t) {
|
|
3622
3623
|
return Math.max(i, Math.min(t, c));
|
|
3623
3624
|
}
|
|
3624
3625
|
function gt(c, i = eo) {
|
|
@@ -3630,18 +3631,18 @@ function pt(c, i, t = eo) {
|
|
|
3630
3631
|
function Tr(c, i) {
|
|
3631
3632
|
return Math.round(c / i) * i;
|
|
3632
3633
|
}
|
|
3633
|
-
function
|
|
3634
|
+
function Ri(c) {
|
|
3634
3635
|
return isFinite(c) ? c : c < 0 ? -Number.MAX_VALUE : Number.MAX_VALUE;
|
|
3635
3636
|
}
|
|
3636
|
-
function
|
|
3637
|
+
function gi(c) {
|
|
3637
3638
|
return Math.abs(c) < Number.MAX_VALUE ? c : c * (1 / 0);
|
|
3638
3639
|
}
|
|
3639
|
-
function
|
|
3640
|
+
function ss(c, i, t, e, s = 1 / 0, n) {
|
|
3640
3641
|
e = Math.max(1e-4, e);
|
|
3641
3642
|
const r = 2 / e, o = r * n, a = 1 / (1 + o + 0.48 * o * o + 0.235 * o * o * o);
|
|
3642
3643
|
let l = c - i;
|
|
3643
3644
|
const h = i, f = s * e;
|
|
3644
|
-
l =
|
|
3645
|
+
l = Jt(l, -f, f), i = c - l;
|
|
3645
3646
|
const I = (t.value + r * l) * n;
|
|
3646
3647
|
t.value = (t.value - r * I) * a;
|
|
3647
3648
|
let u = i + (l + I) * a;
|
|
@@ -3668,7 +3669,7 @@ function rn(c, i) {
|
|
|
3668
3669
|
}), i.x /= c.length, i.y /= c.length;
|
|
3669
3670
|
}
|
|
3670
3671
|
function on(c, i) {
|
|
3671
|
-
return
|
|
3672
|
+
return Oe(c) ? (console.warn(`${i} is not supported in OrthographicCamera`), !0) : !1;
|
|
3672
3673
|
}
|
|
3673
3674
|
class ic {
|
|
3674
3675
|
constructor() {
|
|
@@ -3734,8 +3735,8 @@ class ic {
|
|
|
3734
3735
|
}
|
|
3735
3736
|
}
|
|
3736
3737
|
}
|
|
3737
|
-
const sc = "2.7.3",
|
|
3738
|
-
let lt, Rr,
|
|
3738
|
+
const sc = "2.7.3", ns = 1 / 8, io = typeof window < "u", nc = io && /Mac/.test(navigator.platform), rc = !(io && "PointerEvent" in window);
|
|
3739
|
+
let lt, Rr, rs, an, Yt, ut, Et, Je, Ai, le, he, ve, gr, Ar, Xt, Fi, ti, Fr, cn, Sr, ln, hn, os;
|
|
3739
3740
|
class vt extends ic {
|
|
3740
3741
|
/**
|
|
3741
3742
|
* Injects THREE as the dependency. You can then proceed to use CameraControls.
|
|
@@ -3778,7 +3779,7 @@ class vt extends ic {
|
|
|
3778
3779
|
* @category Statics
|
|
3779
3780
|
*/
|
|
3780
3781
|
static install(i) {
|
|
3781
|
-
lt = i.THREE, Rr = Object.freeze(new lt.Vector3(0, 0, 0)),
|
|
3782
|
+
lt = i.THREE, Rr = Object.freeze(new lt.Vector3(0, 0, 0)), rs = Object.freeze(new lt.Vector3(0, 1, 0)), an = Object.freeze(new lt.Vector3(0, 0, 1)), Yt = new lt.Vector2(), ut = new lt.Vector3(), Et = new lt.Vector3(), Je = new lt.Vector3(), Ai = new lt.Vector3(), le = new lt.Vector3(), he = new lt.Vector3(), ve = new lt.Vector3(), gr = new lt.Vector3(), Ar = new lt.Vector3(), Xt = new lt.Spherical(), Fi = new lt.Spherical(), ti = new lt.Box3(), Fr = new lt.Box3(), cn = new lt.Sphere(), Sr = new lt.Quaternion(), ln = new lt.Quaternion(), hn = new lt.Matrix4(), os = new lt.Raycaster();
|
|
3782
3783
|
}
|
|
3783
3784
|
/**
|
|
3784
3785
|
* list all ACTIONs
|
|
@@ -3809,9 +3810,9 @@ class vt extends ic {
|
|
|
3809
3810
|
}, this._enabled = !0, this._state = H.NONE, this._viewport = null, this._changedDolly = 0, this._changedZoom = 0, this._hasRested = !0, this._boundaryEnclosesCamera = !1, this._needsUpdate = !0, this._updatedLastTime = !1, this._elementRect = new DOMRect(), this._isDragging = !1, this._dragNeedsUpdate = !0, this._activePointers = [], this._lockedPointer = null, this._interactiveArea = new DOMRect(0, 0, 1, 1), this._isUserControllingRotate = !1, this._isUserControllingDolly = !1, this._isUserControllingTruck = !1, this._isUserControllingOffset = !1, this._isUserControllingZoom = !1, this._lastDollyDirection = Qe.NONE, this._thetaVelocity = { value: 0 }, this._phiVelocity = { value: 0 }, this._radiusVelocity = { value: 0 }, this._targetVelocity = new lt.Vector3(), this._focalOffsetVelocity = new lt.Vector3(), this._zoomVelocity = { value: 0 }, this._truckInternal = (R, S, N) => {
|
|
3810
3811
|
let y, M;
|
|
3811
3812
|
if (be(this._camera)) {
|
|
3812
|
-
const L = ut.copy(this._camera.position).sub(this._target), b = this._camera.getEffectiveFOV() *
|
|
3813
|
+
const L = ut.copy(this._camera.position).sub(this._target), b = this._camera.getEffectiveFOV() * mi, G = L.length() * Math.tan(b * 0.5);
|
|
3813
3814
|
y = this.truckSpeed * R * G / this._elementRect.height, M = this.truckSpeed * S * G / this._elementRect.height;
|
|
3814
|
-
} else if (
|
|
3815
|
+
} else if (Oe(this._camera)) {
|
|
3815
3816
|
const L = this._camera;
|
|
3816
3817
|
y = R * (L.right - L.left) / L.zoom / this._elementRect.width, M = S * (L.top - L.bottom) / L.zoom / this._elementRect.height;
|
|
3817
3818
|
} else
|
|
@@ -3821,12 +3822,12 @@ class vt extends ic {
|
|
|
3821
3822
|
const N = Ke * this.azimuthRotateSpeed * R / this._elementRect.height, y = Ke * this.polarRotateSpeed * S / this._elementRect.height;
|
|
3822
3823
|
this.rotate(N, y, !0);
|
|
3823
3824
|
}, this._dollyInternal = (R, S, N) => {
|
|
3824
|
-
const y = Math.pow(0.95, -R * this.dollySpeed), M = this._sphericalEnd.radius, L = this._sphericalEnd.radius * y, b =
|
|
3825
|
+
const y = Math.pow(0.95, -R * this.dollySpeed), M = this._sphericalEnd.radius, L = this._sphericalEnd.radius * y, b = Jt(L, this.minDistance, this.maxDistance), G = b - L;
|
|
3825
3826
|
this.infinityDolly && this.dollyToCursor ? this._dollyToNoClamp(L, !0) : this.infinityDolly && !this.dollyToCursor ? (this.dollyInFixed(G, !0), this._dollyToNoClamp(b, !0)) : this._dollyToNoClamp(b, !0), this.dollyToCursor && (this._changedDolly += (this.infinityDolly ? L : b) - M, this._dollyControlCoord.set(S, N)), this._lastDollyDirection = Math.sign(-R);
|
|
3826
3827
|
}, this._zoomInternal = (R, S, N) => {
|
|
3827
3828
|
const y = Math.pow(0.95, R * this.dollySpeed), M = this._zoom, L = this._zoom * y;
|
|
3828
3829
|
this.zoomTo(L, !0), this.dollyToCursor && (this._changedZoom += L - M, this._dollyControlCoord.set(S, N));
|
|
3829
|
-
}, typeof lt > "u" && console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."), this._camera = i, this._yAxisUpSpace = new lt.Quaternion().setFromUnitVectors(this._camera.up,
|
|
3830
|
+
}, typeof lt > "u" && console.error("camera-controls: `THREE` is undefined. You must first run `CameraControls.install( { THREE: THREE } )`. Check the docs for further information."), this._camera = i, this._yAxisUpSpace = new lt.Quaternion().setFromUnitVectors(this._camera.up, rs), this._yAxisUpSpaceInverse = this._yAxisUpSpace.clone().invert(), this._state = H.NONE, this._target = new lt.Vector3(), this._targetEnd = this._target.clone(), this._focalOffset = new lt.Vector3(), this._focalOffsetEnd = this._focalOffset.clone(), this._spherical = new lt.Spherical().setFromVector3(ut.copy(this._camera.position).applyQuaternion(this._yAxisUpSpace)), this._sphericalEnd = this._spherical.clone(), this._lastDistance = this._spherical.radius, this._zoom = this._camera.zoom, this._zoomEnd = this._zoom, this._lastZoom = this._zoom, this._nearPlaneCorners = [
|
|
3830
3831
|
new lt.Vector3(),
|
|
3831
3832
|
new lt.Vector3(),
|
|
3832
3833
|
new lt.Vector3(),
|
|
@@ -3835,10 +3836,10 @@ class vt extends ic {
|
|
|
3835
3836
|
left: H.ROTATE,
|
|
3836
3837
|
middle: H.DOLLY,
|
|
3837
3838
|
right: H.TRUCK,
|
|
3838
|
-
wheel: be(this._camera) ? H.DOLLY :
|
|
3839
|
+
wheel: be(this._camera) ? H.DOLLY : Oe(this._camera) ? H.ZOOM : H.NONE
|
|
3839
3840
|
}, this.touches = {
|
|
3840
3841
|
one: H.TOUCH_ROTATE,
|
|
3841
|
-
two: be(this._camera) ? H.TOUCH_DOLLY_TRUCK :
|
|
3842
|
+
two: be(this._camera) ? H.TOUCH_DOLLY_TRUCK : Oe(this._camera) ? H.TOUCH_ZOOM_TRUCK : H.NONE,
|
|
3842
3843
|
three: H.TOUCH_TRUCK
|
|
3843
3844
|
};
|
|
3844
3845
|
const e = new lt.Vector2(), s = new lt.Vector2(), n = new lt.Vector2(), r = (R) => {
|
|
@@ -4015,13 +4016,13 @@ class vt extends ic {
|
|
|
4015
4016
|
const S = this._domElement && document.pointerLockElement === this._domElement ? this._lockedPointer || this._activePointers[0] : null, N = S ? -S.deltaX : s.x - Yt.x, y = S ? -S.deltaY : s.y - Yt.y;
|
|
4016
4017
|
if (s.copy(Yt), ((this._state & H.ROTATE) === H.ROTATE || (this._state & H.TOUCH_ROTATE) === H.TOUCH_ROTATE || (this._state & H.TOUCH_DOLLY_ROTATE) === H.TOUCH_DOLLY_ROTATE || (this._state & H.TOUCH_ZOOM_ROTATE) === H.TOUCH_ZOOM_ROTATE) && (this._rotateInternal(N, y), this._isUserControllingRotate = !0), (this._state & H.DOLLY) === H.DOLLY || (this._state & H.ZOOM) === H.ZOOM) {
|
|
4017
4018
|
const M = this.dollyToCursor ? (e.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0, L = this.dollyToCursor ? (e.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0, b = this.dollyDragInverted ? -1 : 1;
|
|
4018
|
-
(this._state & H.DOLLY) === H.DOLLY ? (this._dollyInternal(b * y *
|
|
4019
|
+
(this._state & H.DOLLY) === H.DOLLY ? (this._dollyInternal(b * y * ns, M, L), this._isUserControllingDolly = !0) : (this._zoomInternal(b * y * ns, M, L), this._isUserControllingZoom = !0);
|
|
4019
4020
|
}
|
|
4020
4021
|
if ((this._state & H.TOUCH_DOLLY) === H.TOUCH_DOLLY || (this._state & H.TOUCH_ZOOM) === H.TOUCH_ZOOM || (this._state & H.TOUCH_DOLLY_TRUCK) === H.TOUCH_DOLLY_TRUCK || (this._state & H.TOUCH_ZOOM_TRUCK) === H.TOUCH_ZOOM_TRUCK || (this._state & H.TOUCH_DOLLY_OFFSET) === H.TOUCH_DOLLY_OFFSET || (this._state & H.TOUCH_ZOOM_OFFSET) === H.TOUCH_ZOOM_OFFSET || (this._state & H.TOUCH_DOLLY_ROTATE) === H.TOUCH_DOLLY_ROTATE || (this._state & H.TOUCH_ZOOM_ROTATE) === H.TOUCH_ZOOM_ROTATE) {
|
|
4021
4022
|
const M = Yt.x - this._activePointers[1].clientX, L = Yt.y - this._activePointers[1].clientY, b = Math.sqrt(M * M + L * L), G = n.y - b;
|
|
4022
4023
|
n.set(0, b);
|
|
4023
4024
|
const O = this.dollyToCursor ? (s.x - this._elementRect.x) / this._elementRect.width * 2 - 1 : 0, w = this.dollyToCursor ? (s.y - this._elementRect.y) / this._elementRect.height * -2 + 1 : 0;
|
|
4024
|
-
(this._state & H.TOUCH_DOLLY) === H.TOUCH_DOLLY || (this._state & H.TOUCH_DOLLY_ROTATE) === H.TOUCH_DOLLY_ROTATE || (this._state & H.TOUCH_DOLLY_TRUCK) === H.TOUCH_DOLLY_TRUCK || (this._state & H.TOUCH_DOLLY_OFFSET) === H.TOUCH_DOLLY_OFFSET ? (this._dollyInternal(G *
|
|
4025
|
+
(this._state & H.TOUCH_DOLLY) === H.TOUCH_DOLLY || (this._state & H.TOUCH_DOLLY_ROTATE) === H.TOUCH_DOLLY_ROTATE || (this._state & H.TOUCH_DOLLY_TRUCK) === H.TOUCH_DOLLY_TRUCK || (this._state & H.TOUCH_DOLLY_OFFSET) === H.TOUCH_DOLLY_OFFSET ? (this._dollyInternal(G * ns, O, w), this._isUserControllingDolly = !0) : (this._zoomInternal(G * ns, O, w), this._isUserControllingZoom = !0);
|
|
4025
4026
|
}
|
|
4026
4027
|
((this._state & H.TRUCK) === H.TRUCK || (this._state & H.TOUCH_TRUCK) === H.TOUCH_TRUCK || (this._state & H.TOUCH_DOLLY_TRUCK) === H.TOUCH_DOLLY_TRUCK || (this._state & H.TOUCH_ZOOM_TRUCK) === H.TOUCH_ZOOM_TRUCK) && (this._truckInternal(N, y, !1), this._isUserControllingTruck = !0), ((this._state & H.OFFSET) === H.OFFSET || (this._state & H.TOUCH_OFFSET) === H.TOUCH_OFFSET || (this._state & H.TOUCH_DOLLY_OFFSET) === H.TOUCH_DOLLY_OFFSET || (this._state & H.TOUCH_ZOOM_OFFSET) === H.TOUCH_ZOOM_OFFSET) && (this._truckInternal(N, y, !0), this._isUserControllingOffset = !0), this.dispatchEvent({ type: "control" });
|
|
4027
4028
|
}, p = () => {
|
|
@@ -4139,7 +4140,7 @@ class vt extends ic {
|
|
|
4139
4140
|
* @category Properties
|
|
4140
4141
|
*/
|
|
4141
4142
|
set interactiveArea(i) {
|
|
4142
|
-
this._interactiveArea.width =
|
|
4143
|
+
this._interactiveArea.width = Jt(i.width, 0, 1), this._interactiveArea.height = Jt(i.height, 0, 1), this._interactiveArea.x = Jt(i.x, 0, 1 - this._interactiveArea.width), this._interactiveArea.y = Jt(i.y, 0, 1 - this._interactiveArea.height);
|
|
4143
4144
|
}
|
|
4144
4145
|
/**
|
|
4145
4146
|
* Adds the specified event listener.
|
|
@@ -4261,7 +4262,7 @@ class vt extends ic {
|
|
|
4261
4262
|
*/
|
|
4262
4263
|
rotateTo(i, t, e = !1) {
|
|
4263
4264
|
this._isUserControllingRotate = !1;
|
|
4264
|
-
const s =
|
|
4265
|
+
const s = Jt(i, this.minAzimuthAngle, this.maxAzimuthAngle), n = Jt(t, this.minPolarAngle, this.maxPolarAngle);
|
|
4265
4266
|
this._sphericalEnd.theta = s, this._sphericalEnd.phi = n, this._sphericalEnd.makeSafe(), this._needsUpdate = !0, e || (this._spherical.theta = this._sphericalEnd.theta, this._spherical.phi = this._sphericalEnd.phi);
|
|
4266
4267
|
const r = !e || pt(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && pt(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold);
|
|
4267
4268
|
return this._createOnRestPromise(r);
|
|
@@ -4282,7 +4283,7 @@ class vt extends ic {
|
|
|
4282
4283
|
* @category Methods
|
|
4283
4284
|
*/
|
|
4284
4285
|
dollyTo(i, t = !1) {
|
|
4285
|
-
return this._isUserControllingDolly = !1, this._lastDollyDirection = Qe.NONE, this._changedDolly = 0, this._dollyToNoClamp(
|
|
4286
|
+
return this._isUserControllingDolly = !1, this._lastDollyDirection = Qe.NONE, this._changedDolly = 0, this._dollyToNoClamp(Jt(i, this.minDistance, this.maxDistance), t);
|
|
4286
4287
|
}
|
|
4287
4288
|
_dollyToNoClamp(i, t = !1) {
|
|
4288
4289
|
const e = this._sphericalEnd.radius;
|
|
@@ -4305,7 +4306,7 @@ class vt extends ic {
|
|
|
4305
4306
|
* @category Methods
|
|
4306
4307
|
*/
|
|
4307
4308
|
dollyInFixed(i, t = !1) {
|
|
4308
|
-
this._targetEnd.add(this._getCameraDirection(
|
|
4309
|
+
this._targetEnd.add(this._getCameraDirection(Ai).multiplyScalar(i)), t || this._target.copy(this._targetEnd);
|
|
4309
4310
|
const e = !t || pt(this._target.x, this._targetEnd.x, this.restThreshold) && pt(this._target.y, this._targetEnd.y, this.restThreshold) && pt(this._target.z, this._targetEnd.z, this.restThreshold);
|
|
4310
4311
|
return this._createOnRestPromise(e);
|
|
4311
4312
|
}
|
|
@@ -4327,7 +4328,7 @@ class vt extends ic {
|
|
|
4327
4328
|
* @category Methods
|
|
4328
4329
|
*/
|
|
4329
4330
|
zoomTo(i, t = !1) {
|
|
4330
|
-
this._isUserControllingZoom = !1, this._zoomEnd =
|
|
4331
|
+
this._isUserControllingZoom = !1, this._zoomEnd = Jt(i, this.minZoom, this.maxZoom), this._needsUpdate = !0, t || (this._zoom = this._zoomEnd);
|
|
4331
4332
|
const e = !t || pt(this._zoom, this._zoomEnd, this.restThreshold);
|
|
4332
4333
|
return this._changedZoom = 0, this._createOnRestPromise(e);
|
|
4333
4334
|
}
|
|
@@ -4346,8 +4347,8 @@ class vt extends ic {
|
|
|
4346
4347
|
* @category Methods
|
|
4347
4348
|
*/
|
|
4348
4349
|
truck(i, t, e = !1) {
|
|
4349
|
-
this._camera.updateMatrix(),
|
|
4350
|
-
const s = ut.copy(
|
|
4350
|
+
this._camera.updateMatrix(), le.setFromMatrixColumn(this._camera.matrix, 0), he.setFromMatrixColumn(this._camera.matrix, 1), le.multiplyScalar(i), he.multiplyScalar(-t);
|
|
4351
|
+
const s = ut.copy(le).add(he), n = Et.copy(this._targetEnd).add(s);
|
|
4351
4352
|
return this.moveTo(n.x, n.y, n.z, e);
|
|
4352
4353
|
}
|
|
4353
4354
|
/**
|
|
@@ -4417,14 +4418,14 @@ class vt extends ic {
|
|
|
4417
4418
|
const h = Tr(this._sphericalEnd.theta, Cr), f = Tr(this._sphericalEnd.phi, Cr);
|
|
4418
4419
|
a.push(this.rotateTo(h, f, t));
|
|
4419
4420
|
const I = ut.setFromSpherical(this._sphericalEnd).normalize(), u = Sr.setFromUnitVectors(I, an), d = pt(Math.abs(I.y), 1);
|
|
4420
|
-
d && u.multiply(ln.setFromAxisAngle(
|
|
4421
|
+
d && u.multiply(ln.setFromAxisAngle(rs, h)), u.multiply(this._yAxisUpSpaceInverse);
|
|
4421
4422
|
const E = Fr.makeEmpty();
|
|
4422
4423
|
Et.copy(l.min).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.min).setX(l.max.x).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.min).setY(l.max.y).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).setZ(l.min.z).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.min).setZ(l.max.z).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).setY(l.min.y).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).setX(l.min.x).applyQuaternion(u), E.expandByPoint(Et), Et.copy(l.max).applyQuaternion(u), E.expandByPoint(Et), E.min.x -= s, E.min.y -= r, E.max.x += n, E.max.y += o, u.setFromUnitVectors(an, I), d && u.premultiply(ln.invert()), u.premultiply(this._yAxisUpSpace);
|
|
4423
4424
|
const T = E.getSize(ut), p = E.getCenter(Et).applyQuaternion(u);
|
|
4424
4425
|
if (be(this._camera)) {
|
|
4425
4426
|
const m = this.getDistanceToFitBox(T.x, T.y, T.z, e);
|
|
4426
4427
|
a.push(this.moveTo(p.x, p.y, p.z, t)), a.push(this.dollyTo(m, t)), a.push(this.setFocalOffset(0, 0, 0, t));
|
|
4427
|
-
} else if (
|
|
4428
|
+
} else if (Oe(this._camera)) {
|
|
4428
4429
|
const m = this._camera, F = m.right - m.left, R = m.top - m.bottom, S = e ? Math.max(F / T.x, R / T.y) : Math.min(F / T.x, R / T.y);
|
|
4429
4430
|
a.push(this.moveTo(p.x, p.y, p.z, t)), a.push(this.zoomTo(S, t)), a.push(this.setFocalOffset(0, 0, 0, t));
|
|
4430
4431
|
}
|
|
@@ -4441,7 +4442,7 @@ class vt extends ic {
|
|
|
4441
4442
|
if (e.push(this.moveTo(n.center.x, n.center.y, n.center.z, t)), be(this._camera)) {
|
|
4442
4443
|
const r = this.getDistanceToFitSphere(n.radius);
|
|
4443
4444
|
e.push(this.dollyTo(r, t));
|
|
4444
|
-
} else if (
|
|
4445
|
+
} else if (Oe(this._camera)) {
|
|
4445
4446
|
const r = this._camera.right - this._camera.left, o = this._camera.top - this._camera.bottom, a = 2 * n.radius, l = Math.min(r / a, o / a);
|
|
4446
4447
|
e.push(this.zoomTo(l, t));
|
|
4447
4448
|
}
|
|
@@ -4488,8 +4489,8 @@ class vt extends ic {
|
|
|
4488
4489
|
const E = ut.set(s, n, r), T = Et.set(i, t, e);
|
|
4489
4490
|
Xt.setFromVector3(T.sub(E).applyQuaternion(this._yAxisUpSpace));
|
|
4490
4491
|
const p = Je.set(h, f, I), m = Et.set(o, a, l);
|
|
4491
|
-
|
|
4492
|
-
const F =
|
|
4492
|
+
Fi.setFromVector3(m.sub(p).applyQuaternion(this._yAxisUpSpace)), this._targetEnd.copy(E.lerp(p, u));
|
|
4493
|
+
const F = Fi.theta - Xt.theta, R = Fi.phi - Xt.phi, S = Fi.radius - Xt.radius;
|
|
4493
4494
|
this._sphericalEnd.set(Xt.radius + S * u, Xt.phi + R * u, Xt.theta + F * u), this.normalizeRotations(), this._needsUpdate = !0, d || (this._target.copy(this._targetEnd), this._spherical.copy(this._sphericalEnd));
|
|
4494
4495
|
const N = !d || pt(this._target.x, this._targetEnd.x, this.restThreshold) && pt(this._target.y, this._targetEnd.y, this.restThreshold) && pt(this._target.z, this._targetEnd.z, this.restThreshold) && pt(this._spherical.theta, this._sphericalEnd.theta, this.restThreshold) && pt(this._spherical.phi, this._sphericalEnd.phi, this.restThreshold) && pt(this._spherical.radius, this._sphericalEnd.radius, this.restThreshold);
|
|
4495
4496
|
return this._createOnRestPromise(N);
|
|
@@ -4517,7 +4518,7 @@ class vt extends ic {
|
|
|
4517
4518
|
*/
|
|
4518
4519
|
setTarget(i, t, e, s = !1) {
|
|
4519
4520
|
const n = this.getPosition(ut), r = this.setLookAt(n.x, n.y, n.z, i, t, e, s);
|
|
4520
|
-
return this._sphericalEnd.phi =
|
|
4521
|
+
return this._sphericalEnd.phi = Jt(this._sphericalEnd.phi, this.minPolarAngle, this.maxPolarAngle), r;
|
|
4521
4522
|
}
|
|
4522
4523
|
/**
|
|
4523
4524
|
* Set focal offset using the screen parallel coordinates. z doesn't affect in Orthographic as with Dolly.
|
|
@@ -4541,9 +4542,9 @@ class vt extends ic {
|
|
|
4541
4542
|
* @category Methods
|
|
4542
4543
|
*/
|
|
4543
4544
|
setOrbitPoint(i, t, e) {
|
|
4544
|
-
this._camera.updateMatrixWorld(),
|
|
4545
|
+
this._camera.updateMatrixWorld(), le.setFromMatrixColumn(this._camera.matrixWorldInverse, 0), he.setFromMatrixColumn(this._camera.matrixWorldInverse, 1), ve.setFromMatrixColumn(this._camera.matrixWorldInverse, 2);
|
|
4545
4546
|
const s = ut.set(i, t, e), n = s.distanceTo(this._camera.position), r = s.sub(this._camera.position);
|
|
4546
|
-
|
|
4547
|
+
le.multiplyScalar(r.x), he.multiplyScalar(r.y), ve.multiplyScalar(r.z), ut.copy(le).add(he).add(ve), ut.z = ut.z + n, this.dollyTo(n, !1), this.setFocalOffset(-ut.x, ut.y, -ut.z, !1), this.moveTo(i, t, e, !1);
|
|
4547
4548
|
}
|
|
4548
4549
|
/**
|
|
4549
4550
|
* Set the boundary box that encloses the target of the camera. box3 is in THREE.Box3
|
|
@@ -4584,7 +4585,7 @@ class vt extends ic {
|
|
|
4584
4585
|
getDistanceToFitBox(i, t, e, s = !1) {
|
|
4585
4586
|
if (on(this._camera, "getDistanceToFitBox"))
|
|
4586
4587
|
return this._spherical.radius;
|
|
4587
|
-
const n = i / t, r = this._camera.getEffectiveFOV() *
|
|
4588
|
+
const n = i / t, r = this._camera.getEffectiveFOV() * mi, o = this._camera.aspect;
|
|
4588
4589
|
return ((s ? n > o : n < o) ? t : i / o) * 0.5 / Math.tan(r * 0.5) + e * 0.5;
|
|
4589
4590
|
}
|
|
4590
4591
|
/**
|
|
@@ -4596,7 +4597,7 @@ class vt extends ic {
|
|
|
4596
4597
|
getDistanceToFitSphere(i) {
|
|
4597
4598
|
if (on(this._camera, "getDistanceToFitSphere"))
|
|
4598
4599
|
return this._spherical.radius;
|
|
4599
|
-
const t = this._camera.getEffectiveFOV() *
|
|
4600
|
+
const t = this._camera.getEffectiveFOV() * mi, e = Math.atan(Math.tan(t * 0.5) * this._camera.aspect) * 2, s = 1 < this._camera.aspect ? t : e;
|
|
4600
4601
|
return i / Math.sin(s * 0.5);
|
|
4601
4602
|
}
|
|
4602
4603
|
/**
|
|
@@ -4673,7 +4674,7 @@ class vt extends ic {
|
|
|
4673
4674
|
* @category Methods
|
|
4674
4675
|
*/
|
|
4675
4676
|
updateCameraUp() {
|
|
4676
|
-
this._yAxisUpSpace.setFromUnitVectors(this._camera.up,
|
|
4677
|
+
this._yAxisUpSpace.setFromUnitVectors(this._camera.up, rs), this._yAxisUpSpaceInverse.copy(this._yAxisUpSpace).invert();
|
|
4677
4678
|
}
|
|
4678
4679
|
/**
|
|
4679
4680
|
* Apply current camera-up direction to the camera.
|
|
@@ -4699,19 +4700,19 @@ class vt extends ic {
|
|
|
4699
4700
|
this._thetaVelocity.value = 0, this._spherical.theta = this._sphericalEnd.theta;
|
|
4700
4701
|
else {
|
|
4701
4702
|
const f = this._isUserControllingRotate ? this.draggingSmoothTime : this.smoothTime;
|
|
4702
|
-
this._spherical.theta =
|
|
4703
|
+
this._spherical.theta = ss(this._spherical.theta, this._sphericalEnd.theta, this._thetaVelocity, f, 1 / 0, i), this._needsUpdate = !0;
|
|
4703
4704
|
}
|
|
4704
4705
|
if (gt(e))
|
|
4705
4706
|
this._phiVelocity.value = 0, this._spherical.phi = this._sphericalEnd.phi;
|
|
4706
4707
|
else {
|
|
4707
4708
|
const f = this._isUserControllingRotate ? this.draggingSmoothTime : this.smoothTime;
|
|
4708
|
-
this._spherical.phi =
|
|
4709
|
+
this._spherical.phi = ss(this._spherical.phi, this._sphericalEnd.phi, this._phiVelocity, f, 1 / 0, i), this._needsUpdate = !0;
|
|
4709
4710
|
}
|
|
4710
4711
|
if (gt(s))
|
|
4711
4712
|
this._radiusVelocity.value = 0, this._spherical.radius = this._sphericalEnd.radius;
|
|
4712
4713
|
else {
|
|
4713
4714
|
const f = this._isUserControllingDolly ? this.draggingSmoothTime : this.smoothTime;
|
|
4714
|
-
this._spherical.radius =
|
|
4715
|
+
this._spherical.radius = ss(this._spherical.radius, this._sphericalEnd.radius, this._radiusVelocity, f, this.maxSpeed, i), this._needsUpdate = !0;
|
|
4715
4716
|
}
|
|
4716
4717
|
if (gt(n.x) && gt(n.y) && gt(n.z))
|
|
4717
4718
|
this._targetVelocity.set(0, 0, 0), this._target.copy(this._targetEnd);
|
|
@@ -4729,13 +4730,13 @@ class vt extends ic {
|
|
|
4729
4730
|
this._zoomVelocity.value = 0, this._zoom = this._zoomEnd;
|
|
4730
4731
|
else {
|
|
4731
4732
|
const f = this._isUserControllingZoom ? this.draggingSmoothTime : this.smoothTime;
|
|
4732
|
-
this._zoom =
|
|
4733
|
+
this._zoom = ss(this._zoom, this._zoomEnd, this._zoomVelocity, f, 1 / 0, i);
|
|
4733
4734
|
}
|
|
4734
4735
|
if (this.dollyToCursor) {
|
|
4735
4736
|
if (be(this._camera) && this._changedDolly !== 0) {
|
|
4736
|
-
const f = this._spherical.radius - this._lastDistance, I = this._camera, u = this._getCameraDirection(
|
|
4737
|
+
const f = this._spherical.radius - this._lastDistance, I = this._camera, u = this._getCameraDirection(Ai), d = ut.copy(u).cross(I.up).normalize();
|
|
4737
4738
|
d.lengthSq() === 0 && (d.x = 1);
|
|
4738
|
-
const E = Et.crossVectors(d, u), T = this._sphericalEnd.radius * Math.tan(I.getEffectiveFOV() *
|
|
4739
|
+
const E = Et.crossVectors(d, u), T = this._sphericalEnd.radius * Math.tan(I.getEffectiveFOV() * mi * 0.5), m = (this._sphericalEnd.radius - f - this._sphericalEnd.radius) / this._sphericalEnd.radius, F = Je.copy(this._targetEnd).add(d.multiplyScalar(this._dollyControlCoord.x * T * I.aspect)).add(E.multiplyScalar(this._dollyControlCoord.y * T)), R = ut.copy(this._targetEnd).lerp(F, m), S = this._lastDollyDirection === Qe.IN && this._spherical.radius <= this.minDistance, N = this._lastDollyDirection === Qe.OUT && this.maxDistance <= this._spherical.radius;
|
|
4739
4740
|
if (this.infinityDolly && (S || N)) {
|
|
4740
4741
|
this._sphericalEnd.radius -= f, this._spherical.radius -= f;
|
|
4741
4742
|
const M = Et.copy(u).multiplyScalar(-f);
|
|
@@ -4744,8 +4745,8 @@ class vt extends ic {
|
|
|
4744
4745
|
this._boundary.clampPoint(R, R);
|
|
4745
4746
|
const y = Et.subVectors(R, this._targetEnd);
|
|
4746
4747
|
this._targetEnd.copy(R), this._target.add(y), this._changedDolly -= f, gt(this._changedDolly) && (this._changedDolly = 0);
|
|
4747
|
-
} else if (
|
|
4748
|
-
const f = this._zoom - this._lastZoom, I = this._camera, u = ut.set(this._dollyControlCoord.x, this._dollyControlCoord.y, (I.near + I.far) / (I.near - I.far)).unproject(I), d = Et.set(0, 0, -1).applyQuaternion(I.quaternion), E = Je.copy(u).add(d.multiplyScalar(-u.dot(I.up))), p = -(this._zoom - f - this._zoom) / this._zoom, m = this._getCameraDirection(
|
|
4748
|
+
} else if (Oe(this._camera) && this._changedZoom !== 0) {
|
|
4749
|
+
const f = this._zoom - this._lastZoom, I = this._camera, u = ut.set(this._dollyControlCoord.x, this._dollyControlCoord.y, (I.near + I.far) / (I.near - I.far)).unproject(I), d = Et.set(0, 0, -1).applyQuaternion(I.quaternion), E = Je.copy(u).add(d.multiplyScalar(-u.dot(I.up))), p = -(this._zoom - f - this._zoom) / this._zoom, m = this._getCameraDirection(Ai), F = this._targetEnd.dot(m), R = ut.copy(this._targetEnd).lerp(E, p), S = R.dot(m), N = m.multiplyScalar(S - F);
|
|
4749
4750
|
R.sub(N), this._boundary.clampPoint(R, R);
|
|
4750
4751
|
const y = Et.subVectors(R, this._targetEnd);
|
|
4751
4752
|
this._targetEnd.copy(R), this._target.add(y), this._changedZoom -= f, gt(this._changedZoom) && (this._changedZoom = 0);
|
|
@@ -4753,7 +4754,7 @@ class vt extends ic {
|
|
|
4753
4754
|
}
|
|
4754
4755
|
this._camera.zoom !== this._zoom && (this._camera.zoom = this._zoom, this._camera.updateProjectionMatrix(), this._updateNearPlaneCorners(), this._needsUpdate = !0), this._dragNeedsUpdate = !0;
|
|
4755
4756
|
const a = this._collisionTest();
|
|
4756
|
-
this._spherical.radius = Math.min(this._spherical.radius, a), this._spherical.makeSafe(), this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target), this._camera.lookAt(this._target), (!gt(this._focalOffset.x) || !gt(this._focalOffset.y) || !gt(this._focalOffset.z)) && (this._camera.updateMatrixWorld(),
|
|
4757
|
+
this._spherical.radius = Math.min(this._spherical.radius, a), this._spherical.makeSafe(), this._camera.position.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse).add(this._target), this._camera.lookAt(this._target), (!gt(this._focalOffset.x) || !gt(this._focalOffset.y) || !gt(this._focalOffset.z)) && (this._camera.updateMatrixWorld(), le.setFromMatrixColumn(this._camera.matrix, 0), he.setFromMatrixColumn(this._camera.matrix, 1), ve.setFromMatrixColumn(this._camera.matrix, 2), le.multiplyScalar(this._focalOffset.x), he.multiplyScalar(-this._focalOffset.y), ve.multiplyScalar(this._focalOffset.z), ut.copy(le).add(he).add(ve), this._camera.position.add(ut)), this._boundaryEnclosesCamera && this._encloseToBoundary(this._camera.position.copy(this._target), ut.setFromSpherical(this._spherical).applyQuaternion(this._yAxisUpSpaceInverse), 1);
|
|
4757
4758
|
const h = this._needsUpdate;
|
|
4758
4759
|
return h && !this._updatedLastTime ? (this._hasRested = !1, this.dispatchEvent({ type: "wake" }), this.dispatchEvent({ type: "update" })) : h ? (this.dispatchEvent({ type: "update" }), gt(t, this.restThreshold) && gt(e, this.restThreshold) && gt(s, this.restThreshold) && gt(n.x, this.restThreshold) && gt(n.y, this.restThreshold) && gt(n.z, this.restThreshold) && gt(r.x, this.restThreshold) && gt(r.y, this.restThreshold) && gt(r.z, this.restThreshold) && gt(o, this.restThreshold) && !this._hasRested && (this._hasRested = !0, this.dispatchEvent({ type: "rest" }))) : !h && this._updatedLastTime && this.dispatchEvent({ type: "sleep" }), this._lastDistance = this._spherical.radius, this._lastZoom = this._zoom, this._updatedLastTime = h, this._needsUpdate = !1, h;
|
|
4759
4760
|
}
|
|
@@ -4765,13 +4766,13 @@ class vt extends ic {
|
|
|
4765
4766
|
return JSON.stringify({
|
|
4766
4767
|
enabled: this._enabled,
|
|
4767
4768
|
minDistance: this.minDistance,
|
|
4768
|
-
maxDistance:
|
|
4769
|
+
maxDistance: Ri(this.maxDistance),
|
|
4769
4770
|
minZoom: this.minZoom,
|
|
4770
|
-
maxZoom:
|
|
4771
|
+
maxZoom: Ri(this.maxZoom),
|
|
4771
4772
|
minPolarAngle: this.minPolarAngle,
|
|
4772
|
-
maxPolarAngle:
|
|
4773
|
-
minAzimuthAngle:
|
|
4774
|
-
maxAzimuthAngle:
|
|
4773
|
+
maxPolarAngle: Ri(this.maxPolarAngle),
|
|
4774
|
+
minAzimuthAngle: Ri(this.minAzimuthAngle),
|
|
4775
|
+
maxAzimuthAngle: Ri(this.maxAzimuthAngle),
|
|
4775
4776
|
smoothTime: this.smoothTime,
|
|
4776
4777
|
draggingSmoothTime: this.draggingSmoothTime,
|
|
4777
4778
|
dollySpeed: this.dollySpeed,
|
|
@@ -4796,7 +4797,7 @@ class vt extends ic {
|
|
|
4796
4797
|
*/
|
|
4797
4798
|
fromJSON(i, t = !1) {
|
|
4798
4799
|
const e = JSON.parse(i);
|
|
4799
|
-
this.enabled = e.enabled, this.minDistance = e.minDistance, this.maxDistance =
|
|
4800
|
+
this.enabled = e.enabled, this.minDistance = e.minDistance, this.maxDistance = gi(e.maxDistance), this.minZoom = e.minZoom, this.maxZoom = gi(e.maxZoom), this.minPolarAngle = e.minPolarAngle, this.maxPolarAngle = gi(e.maxPolarAngle), this.minAzimuthAngle = gi(e.minAzimuthAngle), this.maxAzimuthAngle = gi(e.maxAzimuthAngle), this.smoothTime = e.smoothTime, this.draggingSmoothTime = e.draggingSmoothTime, this.dollySpeed = e.dollySpeed, this.truckSpeed = e.truckSpeed, this.dollyToCursor = e.dollyToCursor, this.verticalDragToForward = e.verticalDragToForward, this._target0.fromArray(e.target0), this._position0.fromArray(e.position0), this._zoom0 = e.zoom0, this._focalOffset0.fromArray(e.focalOffset0), this.moveTo(e.target[0], e.target[1], e.target[2], t), Xt.setFromVector3(ut.fromArray(e.position).sub(this._targetEnd).applyQuaternion(this._yAxisUpSpace)), this.rotateTo(Xt.theta, Xt.phi, t), this.dollyTo(Xt.radius, t), this.zoomTo(e.zoom, t), this.setFocalOffset(e.focalOffset[0], e.focalOffset[1], e.focalOffset[2], t), this._needsUpdate = !0;
|
|
4800
4801
|
}
|
|
4801
4802
|
/**
|
|
4802
4803
|
* Attach all internal event handlers to enable drag control.
|
|
@@ -4857,9 +4858,9 @@ class vt extends ic {
|
|
|
4857
4858
|
}
|
|
4858
4859
|
_updateNearPlaneCorners() {
|
|
4859
4860
|
if (be(this._camera)) {
|
|
4860
|
-
const i = this._camera, t = i.near, e = i.getEffectiveFOV() *
|
|
4861
|
+
const i = this._camera, t = i.near, e = i.getEffectiveFOV() * mi, s = Math.tan(e * 0.5) * t, n = s * i.aspect;
|
|
4861
4862
|
this._nearPlaneCorners[0].set(-n, -s, 0), this._nearPlaneCorners[1].set(n, -s, 0), this._nearPlaneCorners[2].set(n, s, 0), this._nearPlaneCorners[3].set(-n, s, 0);
|
|
4862
|
-
} else if (
|
|
4863
|
+
} else if (Oe(this._camera)) {
|
|
4863
4864
|
const i = this._camera, t = 1 / i.zoom, e = i.left * t, s = i.right * t, n = i.top * t, r = i.bottom * t;
|
|
4864
4865
|
this._nearPlaneCorners[0].set(e, n, 0), this._nearPlaneCorners[1].set(s, n, 0), this._nearPlaneCorners[2].set(s, r, 0), this._nearPlaneCorners[3].set(e, r, 0);
|
|
4865
4866
|
}
|
|
@@ -4869,14 +4870,14 @@ class vt extends ic {
|
|
|
4869
4870
|
let i = 1 / 0;
|
|
4870
4871
|
if (!(this.colliderMeshes.length >= 1) || on(this._camera, "_collisionTest"))
|
|
4871
4872
|
return i;
|
|
4872
|
-
const e = this._getTargetDirection(
|
|
4873
|
+
const e = this._getTargetDirection(Ai);
|
|
4873
4874
|
hn.lookAt(Rr, e, this._camera.up);
|
|
4874
4875
|
for (let s = 0; s < 4; s++) {
|
|
4875
4876
|
const n = Et.copy(this._nearPlaneCorners[s]);
|
|
4876
4877
|
n.applyMatrix4(hn);
|
|
4877
4878
|
const r = Je.addVectors(this._target, n);
|
|
4878
|
-
|
|
4879
|
-
const o =
|
|
4879
|
+
os.set(r, e), os.far = this._spherical.radius + 1;
|
|
4880
|
+
const o = os.intersectObjects(this.colliderMeshes);
|
|
4880
4881
|
o.length !== 0 && o[0].distance < i && (i = o[0].distance);
|
|
4881
4882
|
}
|
|
4882
4883
|
return i;
|
|
@@ -4952,7 +4953,7 @@ class vt extends ic {
|
|
|
4952
4953
|
}), e.radius = Math.sqrt(n), e;
|
|
4953
4954
|
}
|
|
4954
4955
|
}
|
|
4955
|
-
class
|
|
4956
|
+
class Ui extends Va {
|
|
4956
4957
|
constructor(t) {
|
|
4957
4958
|
super(t);
|
|
4958
4959
|
/** {@link Updateable.onBeforeUpdate} */
|
|
@@ -5052,7 +5053,7 @@ class vi extends Va {
|
|
|
5052
5053
|
throw new Error("This camera needs a world to work!");
|
|
5053
5054
|
if (!this.currentWorld.renderer)
|
|
5054
5055
|
throw new Error("This camera needs a renderer to work!");
|
|
5055
|
-
vt.install({ THREE:
|
|
5056
|
+
vt.install({ THREE: Ui.getSubsetOfThree() });
|
|
5056
5057
|
const { domElement: t } = this.currentWorld.renderer.three, e = new vt(this.three, t);
|
|
5057
5058
|
return e.smoothTime = 0.2, e.dollyToCursor = !0, e.infinityDolly = !0, e.minDistance = 6, e;
|
|
5058
5059
|
}
|
|
@@ -5075,7 +5076,7 @@ class vi extends Va {
|
|
|
5075
5076
|
};
|
|
5076
5077
|
}
|
|
5077
5078
|
}
|
|
5078
|
-
const
|
|
5079
|
+
const Os = class Os extends At {
|
|
5079
5080
|
constructor(t) {
|
|
5080
5081
|
super(t);
|
|
5081
5082
|
/** {@link Updateable.onAfterUpdate} */
|
|
@@ -5088,10 +5089,10 @@ const Ss = class Ss extends At {
|
|
|
5088
5089
|
* A collection of worlds managed by this component.
|
|
5089
5090
|
* The key is the unique identifier (UUID) of the world, and the value is the World instance.
|
|
5090
5091
|
*/
|
|
5091
|
-
C(this, "list", new
|
|
5092
|
+
C(this, "list", new re());
|
|
5092
5093
|
/** {@link Component.enabled} */
|
|
5093
5094
|
C(this, "enabled", !0);
|
|
5094
|
-
t.add(
|
|
5095
|
+
t.add(Os.uuid, this);
|
|
5095
5096
|
}
|
|
5096
5097
|
/**
|
|
5097
5098
|
* Creates a new instance of a SimpleWorld and adds it to the list of worlds.
|
|
@@ -5142,8 +5143,8 @@ const Ss = class Ss extends At {
|
|
|
5142
5143
|
* A unique identifier for the component.
|
|
5143
5144
|
* This UUID is used to register the component within the Components system.
|
|
5144
5145
|
*/
|
|
5145
|
-
C(
|
|
5146
|
-
let
|
|
5146
|
+
C(Os, "uuid", "fdb61dc4-2ec1-4966-b83d-54ea795fad4a");
|
|
5147
|
+
let Ts = Os;
|
|
5147
5148
|
function oc(c, i, t, e) {
|
|
5148
5149
|
return new Promise((s, n) => {
|
|
5149
5150
|
function r() {
|
|
@@ -5295,7 +5296,7 @@ class lc {
|
|
|
5295
5296
|
* meshes that are currently visible, and the ones that were visible
|
|
5296
5297
|
* just before but not anymore.
|
|
5297
5298
|
*/
|
|
5298
|
-
C(this, "onViewUpdated", new
|
|
5299
|
+
C(this, "onViewUpdated", new Is());
|
|
5299
5300
|
/**
|
|
5300
5301
|
* Whether this renderer is active or not. If not, it won't render anything.
|
|
5301
5302
|
*/
|
|
@@ -5377,8 +5378,8 @@ class lc {
|
|
|
5377
5378
|
this,
|
|
5378
5379
|
this.components,
|
|
5379
5380
|
"Culler renderer"
|
|
5380
|
-
), this.
|
|
5381
|
-
const
|
|
5381
|
+
), this.world = t, this.renderer = new D.WebGLRenderer(), this.renderer.clippingPlanes = t.renderer.clippingPlanes;
|
|
5382
|
+
const e = `
|
|
5382
5383
|
addEventListener("message", (event) => {
|
|
5383
5384
|
const { buffer } = event.data;
|
|
5384
5385
|
const colors = new Map();
|
|
@@ -5395,12 +5396,12 @@ class lc {
|
|
|
5395
5396
|
}
|
|
5396
5397
|
postMessage({ colors });
|
|
5397
5398
|
});
|
|
5398
|
-
`,
|
|
5399
|
-
this.worker = new Worker(URL.createObjectURL(
|
|
5399
|
+
`, s = new Blob([e], { type: "application/javascript" });
|
|
5400
|
+
this.worker = new Worker(URL.createObjectURL(s)), this.setup();
|
|
5400
5401
|
}
|
|
5401
5402
|
/** {@link Disposable.dispose} */
|
|
5402
5403
|
dispose() {
|
|
5403
|
-
this.enabled = !1, this.config.autoUpdate = !1, this.components.get(
|
|
5404
|
+
this.enabled = !1, this.config.autoUpdate = !1, this.components.get(Ve).list.delete(this.config.uuid);
|
|
5404
5405
|
for (const t of this.scene.children)
|
|
5405
5406
|
t.removeFromParent();
|
|
5406
5407
|
this.onViewUpdated.reset(), this.worker.terminate(), this.renderer.forceContextLoss(), this.renderer.dispose(), this.renderTarget.dispose(), this.buffer = null, this.onDisposed.reset();
|
|
@@ -5583,7 +5584,7 @@ class hc extends lc {
|
|
|
5583
5584
|
return D.ColorManagement.enabled = r, { colorMaterial: l, code: n };
|
|
5584
5585
|
}
|
|
5585
5586
|
}
|
|
5586
|
-
const
|
|
5587
|
+
const Mi = class Mi extends At {
|
|
5587
5588
|
constructor(t) {
|
|
5588
5589
|
super(t);
|
|
5589
5590
|
/**
|
|
@@ -5595,7 +5596,7 @@ const wi = class wi extends At {
|
|
|
5595
5596
|
* A map of MeshCullerRenderer instances, keyed by their world UUIDs.
|
|
5596
5597
|
*/
|
|
5597
5598
|
C(this, "list", /* @__PURE__ */ new Map());
|
|
5598
|
-
t.add(
|
|
5599
|
+
t.add(Mi.uuid, this);
|
|
5599
5600
|
}
|
|
5600
5601
|
/** {@link Component.enabled} */
|
|
5601
5602
|
get enabled() {
|
|
@@ -5635,7 +5636,7 @@ const wi = class wi extends At {
|
|
|
5635
5636
|
}
|
|
5636
5637
|
/** {@link Disposable.dispose} */
|
|
5637
5638
|
dispose() {
|
|
5638
|
-
this.enabled = !1, this.onDisposed.trigger(
|
|
5639
|
+
this.enabled = !1, this.onDisposed.trigger(Mi.uuid), this.onDisposed.reset();
|
|
5639
5640
|
for (const [t, e] of this.list)
|
|
5640
5641
|
e.dispose();
|
|
5641
5642
|
this.list.clear();
|
|
@@ -5655,8 +5656,8 @@ const wi = class wi extends At {
|
|
|
5655
5656
|
* A unique identifier for the component.
|
|
5656
5657
|
* This UUID is used to register the component within the Components system.
|
|
5657
5658
|
*/
|
|
5658
|
-
C(
|
|
5659
|
-
let Fn =
|
|
5659
|
+
C(Mi, "uuid", "69f2a50d-c266-44fc-b1bd-fa4d34be89e6");
|
|
5660
|
+
let Fn = Mi;
|
|
5660
5661
|
class uc {
|
|
5661
5662
|
constructor(i, t) {
|
|
5662
5663
|
/** {@link Disposable.onDisposed} */
|
|
@@ -6059,7 +6060,7 @@ class Ic {
|
|
|
6059
6060
|
);
|
|
6060
6061
|
}
|
|
6061
6062
|
}
|
|
6062
|
-
const
|
|
6063
|
+
const Ns = class Ns extends At {
|
|
6063
6064
|
constructor(t) {
|
|
6064
6065
|
super(t);
|
|
6065
6066
|
/** {@link Component.enabled} */
|
|
@@ -6071,7 +6072,7 @@ const Os = class Os extends At {
|
|
|
6071
6072
|
C(this, "list", /* @__PURE__ */ new Map());
|
|
6072
6073
|
/** {@link Disposable.onDisposed} */
|
|
6073
6074
|
C(this, "onDisposed", new Z());
|
|
6074
|
-
t.add(
|
|
6075
|
+
t.add(Ns.uuid, this);
|
|
6075
6076
|
}
|
|
6076
6077
|
/**
|
|
6077
6078
|
* Retrieves a SimpleRaycaster instance for the given world.
|
|
@@ -6111,8 +6112,8 @@ const Os = class Os extends At {
|
|
|
6111
6112
|
* A unique identifier for the component.
|
|
6112
6113
|
* This UUID is used to register the component within the Components system.
|
|
6113
6114
|
*/
|
|
6114
|
-
C(
|
|
6115
|
-
let
|
|
6115
|
+
C(Ns, "uuid", "d5d8bdf0-db25-4952-b951-b643af207ace");
|
|
6116
|
+
let ai = Ns;
|
|
6116
6117
|
class dc extends Ye {
|
|
6117
6118
|
constructor() {
|
|
6118
6119
|
super(...arguments);
|
|
@@ -6234,12 +6235,12 @@ class Ec {
|
|
|
6234
6235
|
C(this, "three");
|
|
6235
6236
|
C(this, "_fade", 3);
|
|
6236
6237
|
C(this, "updateZoom", () => {
|
|
6237
|
-
this.world.camera instanceof
|
|
6238
|
+
this.world.camera instanceof Ui && (this.material.uniforms.uZoom.value = this.world.camera.three.zoom);
|
|
6238
6239
|
});
|
|
6239
6240
|
this.world = t;
|
|
6240
6241
|
const { color: e, primarySize: s, secondarySize: n, distance: r } = this._defaultConfig;
|
|
6241
|
-
this.components = i, this.config = new dc(this, this.components, "Grid")
|
|
6242
|
-
const
|
|
6242
|
+
this.components = i, this.config = new dc(this, this.components, "Grid");
|
|
6243
|
+
const o = new D.PlaneGeometry(2, 2, 1, 1), a = new D.ShaderMaterial({
|
|
6243
6244
|
side: D.DoubleSide,
|
|
6244
6245
|
uniforms: {
|
|
6245
6246
|
uSize1: {
|
|
@@ -6329,7 +6330,7 @@ class Ec {
|
|
|
6329
6330
|
derivatives: !0
|
|
6330
6331
|
}
|
|
6331
6332
|
});
|
|
6332
|
-
this.three = new D.Mesh(
|
|
6333
|
+
this.three = new D.Mesh(o, a), this.three.frustumCulled = !1, t.scene.three.add(this.three), this.setupEvents(!0);
|
|
6333
6334
|
}
|
|
6334
6335
|
/** {@link Hideable.visible} */
|
|
6335
6336
|
get visible() {
|
|
@@ -6364,16 +6365,16 @@ class Ec {
|
|
|
6364
6365
|
}
|
|
6365
6366
|
/** {@link Disposable.dispose} */
|
|
6366
6367
|
dispose() {
|
|
6367
|
-
this.setupEvents(!1), this.components.get(
|
|
6368
|
+
this.setupEvents(!1), this.components.get(Ve).list.delete(this.config.uuid), this.components.get(Me).destroy(this.three), this.onDisposed.trigger(), this.onDisposed.reset(), this.world = null, this.components = null;
|
|
6368
6369
|
}
|
|
6369
6370
|
setupEvents(i) {
|
|
6370
|
-
if (this.world.isDisposing || !(this.world.camera instanceof
|
|
6371
|
+
if (this.world.isDisposing || !(this.world.camera instanceof Ui))
|
|
6371
6372
|
return;
|
|
6372
6373
|
const t = this.world.camera.controls;
|
|
6373
6374
|
i ? t.addEventListener("update", this.updateZoom) : t.removeEventListener("update", this.updateZoom);
|
|
6374
6375
|
}
|
|
6375
6376
|
}
|
|
6376
|
-
const
|
|
6377
|
+
const ys = class ys extends At {
|
|
6377
6378
|
constructor(t) {
|
|
6378
6379
|
super(t);
|
|
6379
6380
|
/**
|
|
@@ -6384,7 +6385,7 @@ const Ns = class Ns extends At {
|
|
|
6384
6385
|
C(this, "onDisposed", new Z());
|
|
6385
6386
|
/** {@link Component.enabled} */
|
|
6386
6387
|
C(this, "enabled", !0);
|
|
6387
|
-
t.add(
|
|
6388
|
+
t.add(ys.uuid, this);
|
|
6388
6389
|
}
|
|
6389
6390
|
/**
|
|
6390
6391
|
* Creates a new grid for the given world.
|
|
@@ -6428,9 +6429,9 @@ const Ns = class Ns extends At {
|
|
|
6428
6429
|
* A unique identifier for the component.
|
|
6429
6430
|
* This UUID is used to register the component within the Components system.
|
|
6430
6431
|
*/
|
|
6431
|
-
C(
|
|
6432
|
-
let Or =
|
|
6433
|
-
const Ue = new yo(), bt = new Q(),
|
|
6432
|
+
C(ys, "uuid", "d1e814d5-b81c-4452-87a2-f039375e0489");
|
|
6433
|
+
let Or = ys;
|
|
6434
|
+
const Ue = new yo(), bt = new Q(), Se = new Q(), Ot = new de(), Nr = {
|
|
6434
6435
|
X: new Q(1, 0, 0),
|
|
6435
6436
|
Y: new Q(0, 1, 0),
|
|
6436
6437
|
Z: new Q(0, 0, 1)
|
|
@@ -6455,8 +6456,8 @@ class pc extends In {
|
|
|
6455
6456
|
}), n[m] = F, s[m] = F, e[m] = F;
|
|
6456
6457
|
}
|
|
6457
6458
|
r("camera", i), r("object", void 0), r("enabled", !0), r("axis", null), r("mode", "translate"), r("translationSnap", null), r("rotationSnap", null), r("scaleSnap", null), r("space", "world"), r("size", 1), r("dragging", !1), r("showX", !0), r("showY", !0), r("showZ", !0);
|
|
6458
|
-
const o = new Q(), a = new Q(), l = new
|
|
6459
|
-
r("worldPosition", o), r("worldPositionStart", a), r("worldQuaternion", l), r("worldQuaternionStart", h), r("cameraPosition", f), r("cameraQuaternion", I), r("pointStart", u), r("pointEnd", d), r("rotationAxis", E), r("rotationAngle", T), r("eye", p), this._offset = new Q(), this._startNorm = new Q(), this._endNorm = new Q(), this._cameraScale = new Q(), this._parentPosition = new Q(), this._parentQuaternion = new
|
|
6459
|
+
const o = new Q(), a = new Q(), l = new de(), h = new de(), f = new Q(), I = new de(), u = new Q(), d = new Q(), E = new Q(), T = 0, p = new Q();
|
|
6460
|
+
r("worldPosition", o), r("worldPositionStart", a), r("worldQuaternion", l), r("worldQuaternionStart", h), r("cameraPosition", f), r("cameraQuaternion", I), r("pointStart", u), r("pointEnd", d), r("rotationAxis", E), r("rotationAngle", T), r("eye", p), this._offset = new Q(), this._startNorm = new Q(), this._endNorm = new Q(), this._cameraScale = new Q(), this._parentPosition = new Q(), this._parentQuaternion = new de(), this._parentQuaternionInv = new de(), this._parentScale = new Q(), this._worldScaleStart = new Q(), this._worldQuaternionInv = new de(), this._worldScale = new Q(), this._positionStart = new Q(), this._quaternionStart = new de(), this._scaleStart = new Q(), this._getPointer = Cc.bind(this), this._onPointerDown = mc.bind(this), this._onPointerHover = Tc.bind(this), this._onPointerMove = Rc.bind(this), this._onPointerUp = gc.bind(this), this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointermove", this._onPointerHover), this.domElement.addEventListener("pointerup", this._onPointerUp);
|
|
6460
6461
|
}
|
|
6461
6462
|
// updateMatrixWorld updates key transformation variables
|
|
6462
6463
|
updateMatrixWorld() {
|
|
@@ -6489,10 +6490,10 @@ class pc extends In {
|
|
|
6489
6490
|
else if (e === "scale") {
|
|
6490
6491
|
if (t.search("XYZ") !== -1) {
|
|
6491
6492
|
let o = this.pointEnd.length() / this.pointStart.length();
|
|
6492
|
-
this.pointEnd.dot(this.pointStart) < 0 && (o *= -1),
|
|
6493
|
+
this.pointEnd.dot(this.pointStart) < 0 && (o *= -1), Se.set(o, o, o);
|
|
6493
6494
|
} else
|
|
6494
|
-
bt.copy(this.pointStart),
|
|
6495
|
-
s.scale.copy(this._scaleStart).multiply(
|
|
6495
|
+
bt.copy(this.pointStart), Se.copy(this.pointEnd), bt.applyQuaternion(this._worldQuaternionInv), Se.applyQuaternion(this._worldQuaternionInv), Se.divide(bt), t.search("X") === -1 && (Se.x = 1), t.search("Y") === -1 && (Se.y = 1), t.search("Z") === -1 && (Se.z = 1);
|
|
6496
|
+
s.scale.copy(this._scaleStart).multiply(Se), this.scaleSnap && (t.search("X") !== -1 && (s.scale.x = Math.round(s.scale.x / this.scaleSnap) * this.scaleSnap || this.scaleSnap), t.search("Y") !== -1 && (s.scale.y = Math.round(s.scale.y / this.scaleSnap) * this.scaleSnap || this.scaleSnap), t.search("Z") !== -1 && (s.scale.z = Math.round(s.scale.z / this.scaleSnap) * this.scaleSnap || this.scaleSnap));
|
|
6496
6497
|
} else if (e === "rotate") {
|
|
6497
6498
|
this._offset.copy(this.pointEnd).sub(this.pointStart);
|
|
6498
6499
|
const o = 20 / this.worldPosition.distanceTo(bt.setFromMatrixPosition(this.camera.matrixWorld));
|
|
@@ -6588,7 +6589,7 @@ function fn(c, i, t) {
|
|
|
6588
6589
|
return e[s];
|
|
6589
6590
|
return !1;
|
|
6590
6591
|
}
|
|
6591
|
-
const
|
|
6592
|
+
const as = new Lo(), mt = new Q(0, 1, 0), Pr = new Q(0, 0, 0), wr = new pe(), cs = new de(), Es = new de(), ue = new Q(), Mr = new pe(), Li = new Q(1, 0, 0), xe = new Q(0, 1, 0), _i = new Q(0, 0, 1), ls = new Q(), Si = new Q(), Oi = new Q();
|
|
6592
6593
|
class Ac extends In {
|
|
6593
6594
|
constructor() {
|
|
6594
6595
|
super(), this.isTransformControlsGizmo = !0, this.type = "TransformControlsGizmo";
|
|
@@ -6635,7 +6636,7 @@ class Ac extends In {
|
|
|
6635
6636
|
const m = new Vt(75e-4, 75e-4, 0.5, 3);
|
|
6636
6637
|
m.translate(0, 0.25, 0);
|
|
6637
6638
|
function F(v, j) {
|
|
6638
|
-
const V = new
|
|
6639
|
+
const V = new fi(v, 75e-4, 3, 64, j * Math.PI * 2);
|
|
6639
6640
|
return V.rotateY(Math.PI / 2), V.rotateX(Math.PI / 2), V;
|
|
6640
6641
|
}
|
|
6641
6642
|
function R() {
|
|
@@ -6659,7 +6660,7 @@ class Ac extends In {
|
|
|
6659
6660
|
[new rt(m, o), null, [Math.PI / 2, 0, 0]]
|
|
6660
6661
|
],
|
|
6661
6662
|
XYZ: [
|
|
6662
|
-
[new rt(new
|
|
6663
|
+
[new rt(new Yi(0.1, 0), f.clone()), [0, 0, 0]]
|
|
6663
6664
|
],
|
|
6664
6665
|
XY: [
|
|
6665
6666
|
[new rt(new Ut(0.15, 0.15, 0.01), h.clone()), [0.15, 0.15, 0]]
|
|
@@ -6684,7 +6685,7 @@ class Ac extends In {
|
|
|
6684
6685
|
[new rt(new Vt(0.2, 0, 0.6, 4), e), [0, 0, -0.3], [-Math.PI / 2, 0, 0]]
|
|
6685
6686
|
],
|
|
6686
6687
|
XYZ: [
|
|
6687
|
-
[new rt(new
|
|
6688
|
+
[new rt(new Yi(0.2, 0), e)]
|
|
6688
6689
|
],
|
|
6689
6690
|
XY: [
|
|
6690
6691
|
[new rt(new Ut(0.2, 0.2, 0.01), e), [0.15, 0.15, 0]]
|
|
@@ -6697,22 +6698,22 @@ class Ac extends In {
|
|
|
6697
6698
|
]
|
|
6698
6699
|
}, y = {
|
|
6699
6700
|
START: [
|
|
6700
|
-
[new rt(new
|
|
6701
|
+
[new rt(new Yi(0.01, 2), s), null, null, null, "helper"]
|
|
6701
6702
|
],
|
|
6702
6703
|
END: [
|
|
6703
|
-
[new rt(new
|
|
6704
|
+
[new rt(new Yi(0.01, 2), s), null, null, null, "helper"]
|
|
6704
6705
|
],
|
|
6705
6706
|
DELTA: [
|
|
6706
|
-
[new
|
|
6707
|
+
[new Ae(R(), s), null, null, null, "helper"]
|
|
6707
6708
|
],
|
|
6708
6709
|
X: [
|
|
6709
|
-
[new
|
|
6710
|
+
[new Ae(p, s.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
6710
6711
|
],
|
|
6711
6712
|
Y: [
|
|
6712
|
-
[new
|
|
6713
|
+
[new Ae(p, s.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
|
|
6713
6714
|
],
|
|
6714
6715
|
Z: [
|
|
6715
|
-
[new
|
|
6716
|
+
[new Ae(p, s.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
|
|
6716
6717
|
]
|
|
6717
6718
|
}, M = {
|
|
6718
6719
|
XYZE: [
|
|
@@ -6732,23 +6733,23 @@ class Ac extends In {
|
|
|
6732
6733
|
]
|
|
6733
6734
|
}, L = {
|
|
6734
6735
|
AXIS: [
|
|
6735
|
-
[new
|
|
6736
|
+
[new Ae(p, s.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
6736
6737
|
]
|
|
6737
6738
|
}, b = {
|
|
6738
6739
|
XYZE: [
|
|
6739
6740
|
[new rt(new Po(0.25, 10, 8), e)]
|
|
6740
6741
|
],
|
|
6741
6742
|
X: [
|
|
6742
|
-
[new rt(new
|
|
6743
|
+
[new rt(new fi(0.5, 0.1, 4, 24), e), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
|
|
6743
6744
|
],
|
|
6744
6745
|
Y: [
|
|
6745
|
-
[new rt(new
|
|
6746
|
+
[new rt(new fi(0.5, 0.1, 4, 24), e), [0, 0, 0], [Math.PI / 2, 0, 0]]
|
|
6746
6747
|
],
|
|
6747
6748
|
Z: [
|
|
6748
|
-
[new rt(new
|
|
6749
|
+
[new rt(new fi(0.5, 0.1, 4, 24), e), [0, 0, 0], [0, 0, -Math.PI / 2]]
|
|
6749
6750
|
],
|
|
6750
6751
|
E: [
|
|
6751
|
-
[new rt(new
|
|
6752
|
+
[new rt(new fi(0.75, 0.1, 2, 24), e)]
|
|
6752
6753
|
]
|
|
6753
6754
|
}, G = {
|
|
6754
6755
|
X: [
|
|
@@ -6805,13 +6806,13 @@ class Ac extends In {
|
|
|
6805
6806
|
]
|
|
6806
6807
|
}, w = {
|
|
6807
6808
|
X: [
|
|
6808
|
-
[new
|
|
6809
|
+
[new Ae(p, s.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
6809
6810
|
],
|
|
6810
6811
|
Y: [
|
|
6811
|
-
[new
|
|
6812
|
+
[new Ae(p, s.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
|
|
6812
6813
|
],
|
|
6813
6814
|
Z: [
|
|
6814
|
-
[new
|
|
6815
|
+
[new Ae(p, s.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
|
|
6815
6816
|
]
|
|
6816
6817
|
};
|
|
6817
6818
|
function g(v) {
|
|
@@ -6829,7 +6830,7 @@ class Ac extends In {
|
|
|
6829
6830
|
}
|
|
6830
6831
|
// updateMatrixWorld will update transformations and appearance of individual handles
|
|
6831
6832
|
updateMatrixWorld(i) {
|
|
6832
|
-
const e = (this.mode === "scale" ? "local" : this.space) === "local" ? this.worldQuaternion :
|
|
6833
|
+
const e = (this.mode === "scale" ? "local" : this.space) === "local" ? this.worldQuaternion : Es;
|
|
6833
6834
|
this.gizmo.translate.visible = this.mode === "translate", this.gizmo.rotate.visible = this.mode === "rotate", this.gizmo.scale.visible = this.mode === "scale", this.helper.translate.visible = this.mode === "translate", this.helper.rotate.visible = this.mode === "rotate", this.helper.scale.visible = this.mode === "scale";
|
|
6834
6835
|
let s = [];
|
|
6835
6836
|
s = s.concat(this.picker[this.mode].children), s = s.concat(this.gizmo[this.mode].children), s = s.concat(this.helper[this.mode].children);
|
|
@@ -6838,10 +6839,10 @@ class Ac extends In {
|
|
|
6838
6839
|
r.visible = !0, r.rotation.set(0, 0, 0), r.position.copy(this.worldPosition);
|
|
6839
6840
|
let o;
|
|
6840
6841
|
if (this.camera.isOrthographicCamera ? o = (this.camera.top - this.camera.bottom) / this.camera.zoom : o = this.worldPosition.distanceTo(this.cameraPosition) * Math.min(1.9 * Math.tan(Math.PI * this.camera.fov / 360) / this.camera.zoom, 7), r.scale.set(1, 1, 1).multiplyScalar(o * this.size / 4), r.tag === "helper") {
|
|
6841
|
-
r.visible = !1, r.name === "AXIS" ? (r.visible = !!this.axis, this.axis === "X" && (Ot.setFromEuler(
|
|
6842
|
+
r.visible = !1, r.name === "AXIS" ? (r.visible = !!this.axis, this.axis === "X" && (Ot.setFromEuler(as.set(0, 0, 0)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(Li).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "Y" && (Ot.setFromEuler(as.set(0, 0, Math.PI / 2)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(xe).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "Z" && (Ot.setFromEuler(as.set(0, Math.PI / 2, 0)), r.quaternion.copy(e).multiply(Ot), Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) > 0.9 && (r.visible = !1)), this.axis === "XYZE" && (Ot.setFromEuler(as.set(0, Math.PI / 2, 0)), mt.copy(this.rotationAxis), r.quaternion.setFromRotationMatrix(wr.lookAt(Pr, mt, xe)), r.quaternion.multiply(Ot), r.visible = this.dragging), this.axis === "E" && (r.visible = !1)) : r.name === "START" ? (r.position.copy(this.worldPositionStart), r.visible = this.dragging) : r.name === "END" ? (r.position.copy(this.worldPosition), r.visible = this.dragging) : r.name === "DELTA" ? (r.position.copy(this.worldPositionStart), r.quaternion.copy(this.worldQuaternionStart), bt.set(1e-10, 1e-10, 1e-10).add(this.worldPositionStart).sub(this.worldPosition).multiplyScalar(-1), bt.applyQuaternion(this.worldQuaternionStart.clone().invert()), r.scale.copy(bt), r.visible = this.dragging) : (r.quaternion.copy(e), this.dragging ? r.position.copy(this.worldPositionStart) : r.position.copy(this.worldPosition), this.axis && (r.visible = this.axis.search(r.name) !== -1));
|
|
6842
6843
|
continue;
|
|
6843
6844
|
}
|
|
6844
|
-
r.quaternion.copy(e), this.mode === "translate" || this.mode === "scale" ? (r.name === "X" && Math.abs(mt.copy(
|
|
6845
|
+
r.quaternion.copy(e), this.mode === "translate" || this.mode === "scale" ? (r.name === "X" && Math.abs(mt.copy(Li).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "Y" && Math.abs(mt.copy(xe).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "Z" && Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) > 0.99 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "XY" && Math.abs(mt.copy(_i).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "YZ" && Math.abs(mt.copy(Li).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1), r.name === "XZ" && Math.abs(mt.copy(xe).applyQuaternion(e).dot(this.eye)) < 0.2 && (r.scale.set(1e-10, 1e-10, 1e-10), r.visible = !1)) : this.mode === "rotate" && (cs.copy(e), mt.copy(this.eye).applyQuaternion(Ot.copy(e).invert()), r.name.search("E") !== -1 && r.quaternion.setFromRotationMatrix(wr.lookAt(this.eye, Pr, xe)), r.name === "X" && (Ot.setFromAxisAngle(Li, Math.atan2(-mt.y, mt.z)), Ot.multiplyQuaternions(cs, Ot), r.quaternion.copy(Ot)), r.name === "Y" && (Ot.setFromAxisAngle(xe, Math.atan2(mt.x, mt.z)), Ot.multiplyQuaternions(cs, Ot), r.quaternion.copy(Ot)), r.name === "Z" && (Ot.setFromAxisAngle(_i, Math.atan2(mt.y, mt.x)), Ot.multiplyQuaternions(cs, Ot), r.quaternion.copy(Ot))), r.visible = r.visible && (r.name.indexOf("X") === -1 || this.showX), r.visible = r.visible && (r.name.indexOf("Y") === -1 || this.showY), r.visible = r.visible && (r.name.indexOf("Z") === -1 || this.showZ), r.visible = r.visible && (r.name.indexOf("E") === -1 || this.showX && this.showY && this.showZ), r.material._color = r.material._color || r.material.color.clone(), r.material._opacity = r.material._opacity || r.material.opacity, r.material.color.copy(r.material._color), r.material.opacity = r.material._opacity, this.enabled && this.axis && (r.name === this.axis || this.axis.split("").some(function(a) {
|
|
6845
6846
|
return r.name === a;
|
|
6846
6847
|
})) && (r.material.color.setHex(16776960), r.material.opacity = 1);
|
|
6847
6848
|
}
|
|
@@ -6857,39 +6858,39 @@ class Fc extends rt {
|
|
|
6857
6858
|
}
|
|
6858
6859
|
updateMatrixWorld(i) {
|
|
6859
6860
|
let t = this.space;
|
|
6860
|
-
switch (this.position.copy(this.worldPosition), this.mode === "scale" && (t = "local"),
|
|
6861
|
+
switch (this.position.copy(this.worldPosition), this.mode === "scale" && (t = "local"), ls.copy(Li).applyQuaternion(t === "local" ? this.worldQuaternion : Es), Si.copy(xe).applyQuaternion(t === "local" ? this.worldQuaternion : Es), Oi.copy(_i).applyQuaternion(t === "local" ? this.worldQuaternion : Es), mt.copy(Si), this.mode) {
|
|
6861
6862
|
case "translate":
|
|
6862
6863
|
case "scale":
|
|
6863
6864
|
switch (this.axis) {
|
|
6864
6865
|
case "X":
|
|
6865
|
-
mt.copy(this.eye).cross(
|
|
6866
|
+
mt.copy(this.eye).cross(ls), ue.copy(ls).cross(mt);
|
|
6866
6867
|
break;
|
|
6867
6868
|
case "Y":
|
|
6868
|
-
mt.copy(this.eye).cross(
|
|
6869
|
+
mt.copy(this.eye).cross(Si), ue.copy(Si).cross(mt);
|
|
6869
6870
|
break;
|
|
6870
6871
|
case "Z":
|
|
6871
|
-
mt.copy(this.eye).cross(
|
|
6872
|
+
mt.copy(this.eye).cross(Oi), ue.copy(Oi).cross(mt);
|
|
6872
6873
|
break;
|
|
6873
6874
|
case "XY":
|
|
6874
|
-
|
|
6875
|
+
ue.copy(Oi);
|
|
6875
6876
|
break;
|
|
6876
6877
|
case "YZ":
|
|
6877
|
-
|
|
6878
|
+
ue.copy(ls);
|
|
6878
6879
|
break;
|
|
6879
6880
|
case "XZ":
|
|
6880
|
-
mt.copy(
|
|
6881
|
+
mt.copy(Oi), ue.copy(Si);
|
|
6881
6882
|
break;
|
|
6882
6883
|
case "XYZ":
|
|
6883
6884
|
case "E":
|
|
6884
|
-
|
|
6885
|
+
ue.set(0, 0, 0);
|
|
6885
6886
|
break;
|
|
6886
6887
|
}
|
|
6887
6888
|
break;
|
|
6888
6889
|
case "rotate":
|
|
6889
6890
|
default:
|
|
6890
|
-
|
|
6891
|
+
ue.set(0, 0, 0);
|
|
6891
6892
|
}
|
|
6892
|
-
|
|
6893
|
+
ue.length() === 0 ? this.quaternion.copy(this.cameraQuaternion) : (Mr.lookAt(bt.set(0, 0, 0), ue, mt), this.quaternion.setFromRotationMatrix(Mr)), super.updateMatrixWorld(i);
|
|
6893
6894
|
}
|
|
6894
6895
|
}
|
|
6895
6896
|
class Vn {
|
|
@@ -7117,7 +7118,7 @@ class Sc extends Ye {
|
|
|
7117
7118
|
this._config.size.value = t, this._component.size = t;
|
|
7118
7119
|
}
|
|
7119
7120
|
}
|
|
7120
|
-
const
|
|
7121
|
+
const si = class si extends At {
|
|
7121
7122
|
constructor(t) {
|
|
7122
7123
|
super(t);
|
|
7123
7124
|
/** {@link Configurable.onSetup} */
|
|
@@ -7179,7 +7180,12 @@ const Mi = class Mi extends At {
|
|
|
7179
7180
|
*/
|
|
7180
7181
|
C(this, "list", []);
|
|
7181
7182
|
/** {@link Configurable.config} */
|
|
7182
|
-
C(this, "config", new Sc(
|
|
7183
|
+
C(this, "config", new Sc(
|
|
7184
|
+
this,
|
|
7185
|
+
this.components,
|
|
7186
|
+
"Clipper",
|
|
7187
|
+
si.uuid
|
|
7188
|
+
));
|
|
7183
7189
|
C(this, "_defaultConfig", {
|
|
7184
7190
|
color: new D.Color(12255487),
|
|
7185
7191
|
opacity: 0.2,
|
|
@@ -7201,7 +7207,7 @@ const Mi = class Mi extends At {
|
|
|
7201
7207
|
C(this, "_onEndDragging", () => {
|
|
7202
7208
|
this.onAfterDrag.trigger();
|
|
7203
7209
|
});
|
|
7204
|
-
this.components.add(
|
|
7210
|
+
this.components.add(si.uuid, this);
|
|
7205
7211
|
}
|
|
7206
7212
|
/** {@link Component.enabled} */
|
|
7207
7213
|
get enabled() {
|
|
@@ -7246,14 +7252,14 @@ const Mi = class Mi extends At {
|
|
|
7246
7252
|
}
|
|
7247
7253
|
/** {@link Disposable.dispose} */
|
|
7248
7254
|
dispose() {
|
|
7249
|
-
this._enabled = !1, this.components.get(
|
|
7255
|
+
this._enabled = !1, this.components.get(Ve).list.delete(this.config.uuid);
|
|
7250
7256
|
for (const e of this.list)
|
|
7251
7257
|
e.dispose();
|
|
7252
|
-
this.list.length = 0, this._material.dispose(), this.onBeforeCreate.reset(), this.onBeforeCancel.reset(), this.onBeforeDelete.reset(), this.onBeforeDrag.reset(), this.onAfterCreate.reset(), this.onAfterCancel.reset(), this.onAfterDelete.reset(), this.onAfterDrag.reset(), this.onDisposed.trigger(
|
|
7258
|
+
this.list.length = 0, this._material.dispose(), this.onBeforeCreate.reset(), this.onBeforeCancel.reset(), this.onBeforeDelete.reset(), this.onBeforeDrag.reset(), this.onAfterCreate.reset(), this.onAfterCancel.reset(), this.onAfterDelete.reset(), this.onAfterDrag.reset(), this.onDisposed.trigger(si.uuid), this.onDisposed.reset();
|
|
7253
7259
|
}
|
|
7254
7260
|
/** {@link Createable.create} */
|
|
7255
7261
|
create(t) {
|
|
7256
|
-
const n = this.components.get(
|
|
7262
|
+
const n = this.components.get(ai).get(t).castRay();
|
|
7257
7263
|
return n ? this.createPlaneFromIntersection(t, n) : null;
|
|
7258
7264
|
}
|
|
7259
7265
|
/**
|
|
@@ -7307,7 +7313,7 @@ const Mi = class Mi extends At {
|
|
|
7307
7313
|
}
|
|
7308
7314
|
}
|
|
7309
7315
|
pickPlane(t) {
|
|
7310
|
-
const s = this.components.get(
|
|
7316
|
+
const s = this.components.get(ai).get(t), n = this.getAllPlaneMeshes(), r = s.castRay(n);
|
|
7311
7317
|
if (r) {
|
|
7312
7318
|
const o = r.object;
|
|
7313
7319
|
return this.list.find((a) => a.meshes.includes(o));
|
|
@@ -7353,7 +7359,7 @@ const Mi = class Mi extends At {
|
|
|
7353
7359
|
return n.onDraggingStarted.add(this._onStartDragging), n.onDraggingEnded.add(this._onEndDragging), this.list.push(n), this.onAfterCreate.trigger(n), n;
|
|
7354
7360
|
}
|
|
7355
7361
|
updateMaterialsAndPlanes() {
|
|
7356
|
-
const t = this.components.get(
|
|
7362
|
+
const t = this.components.get(Ts);
|
|
7357
7363
|
for (const [e, s] of t.list) {
|
|
7358
7364
|
if (!s.renderer)
|
|
7359
7365
|
continue;
|
|
@@ -7373,8 +7379,8 @@ const Mi = class Mi extends At {
|
|
|
7373
7379
|
* A unique identifier for the component.
|
|
7374
7380
|
* This UUID is used to register the component within the Components system.
|
|
7375
7381
|
*/
|
|
7376
|
-
C(
|
|
7377
|
-
let Sn =
|
|
7382
|
+
C(si, "uuid", "66290bc5-18c4-4cd1-9379-2e17a0617611");
|
|
7383
|
+
let Sn = si;
|
|
7378
7384
|
class Oc {
|
|
7379
7385
|
constructor(i) {
|
|
7380
7386
|
/** {@link NavigationMode.enabled} */
|
|
@@ -7520,7 +7526,7 @@ class Lc {
|
|
|
7520
7526
|
i.position.copy(t.position), i.quaternion.copy(t.quaternion), this._component.controls.mouseButtons.wheel = vt.ACTION.DOLLY, this.matchOrthoDistanceEnabled ? this._component.controls.distance = this.getDistance() : this._component.controls.distance = this._previousDistance, await this._component.controls.zoomTo(1), i.updateProjectionMatrix(), this._component.controls.camera = i, this.camera = i, this.current = "Perspective";
|
|
7521
7527
|
}
|
|
7522
7528
|
}
|
|
7523
|
-
class _c extends
|
|
7529
|
+
class _c extends Ui {
|
|
7524
7530
|
constructor(t) {
|
|
7525
7531
|
super(t);
|
|
7526
7532
|
/**
|
|
@@ -7891,7 +7897,7 @@ class gh {
|
|
|
7891
7897
|
return e;
|
|
7892
7898
|
}
|
|
7893
7899
|
}
|
|
7894
|
-
const
|
|
7900
|
+
const ms = {
|
|
7895
7901
|
950732822: "IFCURIREFERENCE",
|
|
7896
7902
|
4075327185: "IFCTIME",
|
|
7897
7903
|
1209108979: "IFCTEMPERATURERATEOFCHANGEMEASURE",
|
|
@@ -9033,7 +9039,7 @@ const Ts = {
|
|
|
9033
9039
|
1390159747: "FILE_NAME",
|
|
9034
9040
|
1109904537: "FILE_SCHEMA"
|
|
9035
9041
|
};
|
|
9036
|
-
class
|
|
9042
|
+
class ri {
|
|
9037
9043
|
static async getUnits(i) {
|
|
9038
9044
|
var r, o, a;
|
|
9039
9045
|
const { IFCUNITASSIGNMENT: t } = z, e = await i.getAllPropertiesOfType(t);
|
|
@@ -9110,7 +9116,7 @@ class ni {
|
|
|
9110
9116
|
return r;
|
|
9111
9117
|
}
|
|
9112
9118
|
static async getQsetRel(i, t) {
|
|
9113
|
-
return
|
|
9119
|
+
return ri.getPsetRel(i, t);
|
|
9114
9120
|
}
|
|
9115
9121
|
static async getEntityName(i, t) {
|
|
9116
9122
|
var r;
|
|
@@ -9129,7 +9135,7 @@ class ni {
|
|
|
9129
9135
|
return s === null || e[s] === void 0 || e[s] === null ? n = null : n = e[s].value, { key: s, value: n };
|
|
9130
9136
|
}
|
|
9131
9137
|
static isRel(i) {
|
|
9132
|
-
return
|
|
9138
|
+
return ms[i].startsWith("IFCREL");
|
|
9133
9139
|
}
|
|
9134
9140
|
static async attributeExists(i, t, e) {
|
|
9135
9141
|
const s = await i.getProperties(t);
|
|
@@ -10722,12 +10728,12 @@ const co = /* @__PURE__ */ new Set([
|
|
|
10722
10728
|
2513912981,
|
|
10723
10729
|
2830218821,
|
|
10724
10730
|
427810014
|
|
10725
|
-
]),
|
|
10731
|
+
]), Ls = class Ls extends At {
|
|
10726
10732
|
constructor(t) {
|
|
10727
10733
|
super(t);
|
|
10728
10734
|
/** {@link Component.enabled} */
|
|
10729
10735
|
C(this, "enabled", !0);
|
|
10730
|
-
t.add(
|
|
10736
|
+
t.add(Ls.uuid, this);
|
|
10731
10737
|
}
|
|
10732
10738
|
/**
|
|
10733
10739
|
* Exports all the properties of an IFC into an array of JS objects.
|
|
@@ -10768,8 +10774,8 @@ const co = /* @__PURE__ */ new Set([
|
|
|
10768
10774
|
* A unique identifier for the component.
|
|
10769
10775
|
* This UUID is used to register the component within the Components system.
|
|
10770
10776
|
*/
|
|
10771
|
-
C(
|
|
10772
|
-
let On =
|
|
10777
|
+
C(Ls, "uuid", "b32c4332-cd67-436e-ba7f-196646c7a635");
|
|
10778
|
+
let On = Ls;
|
|
10773
10779
|
const Di = class Di extends At {
|
|
10774
10780
|
constructor(t) {
|
|
10775
10781
|
super(t);
|
|
@@ -11003,7 +11009,7 @@ const Di = class Di extends At {
|
|
|
11003
11009
|
}
|
|
11004
11010
|
async autoSetWasm() {
|
|
11005
11011
|
const t = await fetch(
|
|
11006
|
-
`https://unpkg.com/@thatopen/components@${
|
|
11012
|
+
`https://unpkg.com/@thatopen/components@${Cs.release}/package.json`
|
|
11007
11013
|
);
|
|
11008
11014
|
if (!t.ok) {
|
|
11009
11015
|
console.warn(
|
|
@@ -11072,7 +11078,7 @@ const Dc = {
|
|
|
11072
11078
|
[z.IFCRELDEFINESBYPROPERTIES]: "IfcRelDefinesByProperties",
|
|
11073
11079
|
[z.IFCRELDEFINESBYTYPE]: "IfcRelDefinesByType",
|
|
11074
11080
|
[z.IFCRELDEFINESBYTEMPLATE]: "IfcRelDefinesByTemplate"
|
|
11075
|
-
},
|
|
11081
|
+
}, ye = class ye extends At {
|
|
11076
11082
|
constructor(t) {
|
|
11077
11083
|
super(t);
|
|
11078
11084
|
/** {@link Disposable.onDisposed} */
|
|
@@ -11122,11 +11128,11 @@ const Dc = {
|
|
|
11122
11128
|
* Map of changed entities in the model.
|
|
11123
11129
|
*/
|
|
11124
11130
|
C(this, "changeMap", {});
|
|
11125
|
-
this.components.add(
|
|
11131
|
+
this.components.add(ye.uuid, this);
|
|
11126
11132
|
}
|
|
11127
11133
|
/** {@link Disposable.dispose} */
|
|
11128
11134
|
dispose() {
|
|
11129
|
-
this.selectedModel = void 0, this.attributeListeners = {}, this.changeMap = {}, this.onElementToPset.reset(), this.onPropToPset.reset(), this.onPsetRemoved.reset(), this.onDataChanged.reset(), this.onDisposed.trigger(
|
|
11135
|
+
this.selectedModel = void 0, this.attributeListeners = {}, this.changeMap = {}, this.onElementToPset.reset(), this.onPropToPset.reset(), this.onPsetRemoved.reset(), this.onDataChanged.reset(), this.onDisposed.trigger(ye.uuid), this.onDisposed.reset();
|
|
11130
11136
|
}
|
|
11131
11137
|
/**
|
|
11132
11138
|
* Static method to retrieve the IFC schema from a given model.
|
|
@@ -11172,7 +11178,7 @@ const Dc = {
|
|
|
11172
11178
|
* @throws Will throw an error if no OwnerHistory is found in the model.
|
|
11173
11179
|
*/
|
|
11174
11180
|
async newPset(t, e, s) {
|
|
11175
|
-
const n =
|
|
11181
|
+
const n = ye.getIFCSchema(t), { ownerHistoryHandle: r } = await this.getOwnerHistory(t), o = this.newGUID(t), a = new z[n].IfcLabel(e), l = s ? new z[n].IfcText(s) : null, h = new z[n].IfcPropertySet(
|
|
11176
11182
|
o,
|
|
11177
11183
|
r,
|
|
11178
11184
|
a,
|
|
@@ -11207,7 +11213,7 @@ const Dc = {
|
|
|
11207
11213
|
const n = await t.getProperties(s);
|
|
11208
11214
|
if ((n == null ? void 0 : n.type) !== z.IFCPROPERTYSET)
|
|
11209
11215
|
continue;
|
|
11210
|
-
const r = await
|
|
11216
|
+
const r = await ri.getPsetRel(t, s);
|
|
11211
11217
|
if (r && (await t.setProperties(r, null), this.registerChange(t, r)), n) {
|
|
11212
11218
|
for (const o of n.HasProperties)
|
|
11213
11219
|
await t.setProperties(o.value, null);
|
|
@@ -11334,7 +11340,7 @@ const Dc = {
|
|
|
11334
11340
|
const o = t.ifcMetadata.schema, a = Dc[r], l = z[o][r];
|
|
11335
11341
|
if (!(a && l))
|
|
11336
11342
|
throw new Error(`IfcPropertiesManager: ${r} is unsoported.`);
|
|
11337
|
-
const h = [new z[o].IfcGloballyUniqueId(
|
|
11343
|
+
const h = [new z[o].IfcGloballyUniqueId(oe.create())], { related: f, relating: I } = a, d = [...new Set(n)].map(
|
|
11338
11344
|
(p) => new z.Handle(p)
|
|
11339
11345
|
), E = (p, m) => {
|
|
11340
11346
|
for (let F = p; F < m - 1; F++)
|
|
@@ -11430,8 +11436,8 @@ const Dc = {
|
|
|
11430
11436
|
return t.ifcMetadata.maxExpressID++, t.ifcMetadata.maxExpressID;
|
|
11431
11437
|
}
|
|
11432
11438
|
newGUID(t) {
|
|
11433
|
-
const e =
|
|
11434
|
-
return new z[e].IfcGloballyUniqueId(
|
|
11439
|
+
const e = ye.getIFCSchema(t);
|
|
11440
|
+
return new z[e].IfcGloballyUniqueId(oe.create());
|
|
11435
11441
|
}
|
|
11436
11442
|
async getOwnerHistory(t) {
|
|
11437
11443
|
const e = await t.getAllPropertiesOfType(
|
|
@@ -11448,7 +11454,7 @@ const Dc = {
|
|
|
11448
11454
|
this.changeMap[t.uuid].add(s), this.onDataChanged.trigger({ model: t, expressID: s });
|
|
11449
11455
|
}
|
|
11450
11456
|
async newSingleProperty(t, e, s, n) {
|
|
11451
|
-
const r =
|
|
11457
|
+
const r = ye.getIFCSchema(t), o = new z[r].IfcIdentifier(s), a = new z[r][e](n), l = new z[r].IfcPropertySingleValue(
|
|
11452
11458
|
o,
|
|
11453
11459
|
null,
|
|
11454
11460
|
a,
|
|
@@ -11461,8 +11467,8 @@ const Dc = {
|
|
|
11461
11467
|
* A unique identifier for the component.
|
|
11462
11468
|
* This UUID is used to register the component within the Components system.
|
|
11463
11469
|
*/
|
|
11464
|
-
C(
|
|
11465
|
-
let yn =
|
|
11470
|
+
C(ye, "uuid", "58c2d9f0-183c-48d6-a402-dfcf5b9a34df");
|
|
11471
|
+
let yn = ye;
|
|
11466
11472
|
const bi = class bi extends At {
|
|
11467
11473
|
constructor(t) {
|
|
11468
11474
|
super(t);
|
|
@@ -11873,10 +11879,10 @@ const bi = class bi extends At {
|
|
|
11873
11879
|
if (!(h === o || f === o))
|
|
11874
11880
|
return;
|
|
11875
11881
|
let I = this._changeMap[t.uuid];
|
|
11876
|
-
I || (I = new
|
|
11882
|
+
I || (I = new re(), this._changeMap[t.uuid] = I);
|
|
11877
11883
|
const u = f === o ? [e] : n, d = h === o ? [e] : n;
|
|
11878
11884
|
let E = I.get(r);
|
|
11879
|
-
E || (E = new
|
|
11885
|
+
E || (E = new re(), E.onItemSet.add(
|
|
11880
11886
|
() => this.onEntitiesRelated.trigger({
|
|
11881
11887
|
invAttribute: o,
|
|
11882
11888
|
relType: r,
|
|
@@ -11893,7 +11899,7 @@ const bi = class bi extends At {
|
|
|
11893
11899
|
), I.set(r, E));
|
|
11894
11900
|
for (const T of u) {
|
|
11895
11901
|
let p = E.get(T);
|
|
11896
|
-
p || (p = { related: new
|
|
11902
|
+
p || (p = { related: new Pe() }, E.set(T, p)), p.related.add(...d);
|
|
11897
11903
|
}
|
|
11898
11904
|
for (const T of u) {
|
|
11899
11905
|
let p = a.get(T);
|
|
@@ -11949,7 +11955,7 @@ const bi = class bi extends At {
|
|
|
11949
11955
|
*/
|
|
11950
11956
|
C(bi, "uuid", "23a889ab-83b3-44a4-8bee-ead83438370b");
|
|
11951
11957
|
let kt = bi;
|
|
11952
|
-
const
|
|
11958
|
+
const _s = class _s extends At {
|
|
11953
11959
|
constructor(t) {
|
|
11954
11960
|
super(t);
|
|
11955
11961
|
/** {@link Disposable.onDisposed} */
|
|
@@ -11966,18 +11972,18 @@ const Ls = class Ls extends At {
|
|
|
11966
11972
|
* DataMap containing all loaded fragments.
|
|
11967
11973
|
* The key is the fragment's unique identifier, and the value is the fragment itself.
|
|
11968
11974
|
*/
|
|
11969
|
-
C(this, "list", new
|
|
11975
|
+
C(this, "list", new re());
|
|
11970
11976
|
/**
|
|
11971
11977
|
* DataMap containing all loaded fragment groups.
|
|
11972
11978
|
* The key is the group's unique identifier, and the value is the group itself.
|
|
11973
11979
|
*/
|
|
11974
|
-
C(this, "groups", new
|
|
11980
|
+
C(this, "groups", new re());
|
|
11975
11981
|
C(this, "baseCoordinationModel", "");
|
|
11976
11982
|
C(this, "baseCoordinationMatrix", new D.Matrix4());
|
|
11977
11983
|
/** {@link Component.enabled} */
|
|
11978
11984
|
C(this, "enabled", !0);
|
|
11979
11985
|
C(this, "_loader", new Do());
|
|
11980
|
-
this.components.add(
|
|
11986
|
+
this.components.add(_s.uuid, this);
|
|
11981
11987
|
}
|
|
11982
11988
|
/**
|
|
11983
11989
|
* Getter for the meshes of all fragments in the FragmentsManager.
|
|
@@ -12173,13 +12179,13 @@ const Ls = class Ls extends At {
|
|
|
12173
12179
|
* A unique identifier for the component.
|
|
12174
12180
|
* This UUID is used to register the component within the Components system.
|
|
12175
12181
|
*/
|
|
12176
|
-
C(
|
|
12177
|
-
let Tt =
|
|
12178
|
-
var
|
|
12182
|
+
C(_s, "uuid", "fef46874-46a3-461b-8c44-2922ab77c806");
|
|
12183
|
+
let Tt = _s;
|
|
12184
|
+
var hs = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
12179
12185
|
function vc(c) {
|
|
12180
12186
|
return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c;
|
|
12181
12187
|
}
|
|
12182
|
-
function
|
|
12188
|
+
function us(c) {
|
|
12183
12189
|
throw new Error('Could not dynamically require "' + c + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
12184
12190
|
}
|
|
12185
12191
|
var lo = { exports: {} };
|
|
@@ -12202,7 +12208,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
12202
12208
|
function r(l, h) {
|
|
12203
12209
|
if (!s[l]) {
|
|
12204
12210
|
if (!e[l]) {
|
|
12205
|
-
var f = typeof
|
|
12211
|
+
var f = typeof us == "function" && us;
|
|
12206
12212
|
if (!h && f)
|
|
12207
12213
|
return f(l, !0);
|
|
12208
12214
|
if (o)
|
|
@@ -12218,7 +12224,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
12218
12224
|
}
|
|
12219
12225
|
return s[l].exports;
|
|
12220
12226
|
}
|
|
12221
|
-
for (var o = typeof
|
|
12227
|
+
for (var o = typeof us == "function" && us, a = 0; a < n.length; a++)
|
|
12222
12228
|
r(n[a]);
|
|
12223
12229
|
return r;
|
|
12224
12230
|
}({ 1: [function(t, e, s) {
|
|
@@ -13354,7 +13360,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13354
13360
|
e.exports = function(E) {
|
|
13355
13361
|
u.push(E) !== 1 || o || r();
|
|
13356
13362
|
};
|
|
13357
|
-
}).call(this, typeof
|
|
13363
|
+
}).call(this, typeof hs < "u" ? hs : typeof self < "u" ? self : typeof window < "u" ? window : {});
|
|
13358
13364
|
}, {}], 37: [function(t, e, s) {
|
|
13359
13365
|
var n = t("immediate");
|
|
13360
13366
|
function r() {
|
|
@@ -14636,20 +14642,20 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14636
14642
|
for (B = ct; $ = _.heap[1], _.heap[1] = _.heap[_.heap_len--], Ct(_, K, 1), q = _.heap[1], _.heap[--_.heap_max] = $, _.heap[--_.heap_max] = q, K[2 * B] = K[2 * $] + K[2 * q], _.depth[B] = (_.depth[$] >= _.depth[q] ? _.depth[$] : _.depth[q]) + 1, K[2 * $ + 1] = K[2 * q + 1] = B, _.heap[1] = B++, Ct(_, K, 1), 2 <= _.heap_len; )
|
|
14637
14643
|
;
|
|
14638
14644
|
_.heap[--_.heap_max] = _.heap[1], function(dt, Wt) {
|
|
14639
|
-
var
|
|
14645
|
+
var li, ce, hi, Lt, Bi, Hs, Ce = Wt.dyn_tree, Hn = Wt.max_code, mo = Wt.stat_desc.static_tree, Ro = Wt.stat_desc.has_stree, go = Wt.stat_desc.extra_bits, Wn = Wt.stat_desc.extra_base, ui = Wt.stat_desc.max_length, Vi = 0;
|
|
14640
14646
|
for (Lt = 0; Lt <= T; Lt++)
|
|
14641
14647
|
dt.bl_count[Lt] = 0;
|
|
14642
|
-
for (
|
|
14643
|
-
|
|
14644
|
-
if (
|
|
14648
|
+
for (Ce[2 * dt.heap[dt.heap_max] + 1] = 0, li = dt.heap_max + 1; li < E; li++)
|
|
14649
|
+
ui < (Lt = Ce[2 * Ce[2 * (ce = dt.heap[li]) + 1] + 1] + 1) && (Lt = ui, Vi++), Ce[2 * ce + 1] = Lt, Hn < ce || (dt.bl_count[Lt]++, Bi = 0, Wn <= ce && (Bi = go[ce - Wn]), Hs = Ce[2 * ce], dt.opt_len += Hs * (Lt + Bi), Ro && (dt.static_len += Hs * (mo[2 * ce + 1] + Bi)));
|
|
14650
|
+
if (Vi !== 0) {
|
|
14645
14651
|
do {
|
|
14646
|
-
for (Lt =
|
|
14652
|
+
for (Lt = ui - 1; dt.bl_count[Lt] === 0; )
|
|
14647
14653
|
Lt--;
|
|
14648
|
-
dt.bl_count[Lt]--, dt.bl_count[Lt + 1] += 2, dt.bl_count[
|
|
14649
|
-
} while (0 <
|
|
14650
|
-
for (Lt =
|
|
14651
|
-
for (
|
|
14652
|
-
Hn < (
|
|
14654
|
+
dt.bl_count[Lt]--, dt.bl_count[Lt + 1] += 2, dt.bl_count[ui]--, Vi -= 2;
|
|
14655
|
+
} while (0 < Vi);
|
|
14656
|
+
for (Lt = ui; Lt !== 0; Lt--)
|
|
14657
|
+
for (ce = dt.bl_count[Lt]; ce !== 0; )
|
|
14658
|
+
Hn < (hi = dt.heap[--li]) || (Ce[2 * hi + 1] !== Lt && (dt.opt_len += (Lt - Ce[2 * hi + 1]) * Ce[2 * hi], Ce[2 * hi + 1] = Lt), ce--);
|
|
14653
14659
|
}
|
|
14654
14660
|
}(_, U), yt(K, Rt, _.bl_count);
|
|
14655
14661
|
}
|
|
@@ -14815,7 +14821,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14815
14821
|
R.source === r && typeof R.data == "string" && R.data.indexOf(f) === 0 && m(+R.data.slice(f.length));
|
|
14816
14822
|
}
|
|
14817
14823
|
})(typeof self > "u" ? n === void 0 ? this : n : self);
|
|
14818
|
-
}).call(this, typeof
|
|
14824
|
+
}).call(this, typeof hs < "u" ? hs : typeof self < "u" ? self : typeof window < "u" ? window : {});
|
|
14819
14825
|
}, {}] }, {}, [10])(10);
|
|
14820
14826
|
});
|
|
14821
14827
|
})(lo);
|
|
@@ -15021,18 +15027,18 @@ function Br(c, i) {
|
|
|
15021
15027
|
const t = zn.getAllMatches(c, Gc), e = {};
|
|
15022
15028
|
for (let s = 0; s < t.length; s++) {
|
|
15023
15029
|
if (t[s][1].length === 0)
|
|
15024
|
-
return Pt("InvalidAttr", "Attribute '" + t[s][2] + "' has no space in starting.",
|
|
15030
|
+
return Pt("InvalidAttr", "Attribute '" + t[s][2] + "' has no space in starting.", Ni(t[s]));
|
|
15025
15031
|
if (t[s][3] !== void 0 && t[s][4] === void 0)
|
|
15026
|
-
return Pt("InvalidAttr", "Attribute '" + t[s][2] + "' is without value.",
|
|
15032
|
+
return Pt("InvalidAttr", "Attribute '" + t[s][2] + "' is without value.", Ni(t[s]));
|
|
15027
15033
|
if (t[s][3] === void 0 && !i.allowBooleanAttributes)
|
|
15028
|
-
return Pt("InvalidAttr", "boolean attribute '" + t[s][2] + "' is not allowed.",
|
|
15034
|
+
return Pt("InvalidAttr", "boolean attribute '" + t[s][2] + "' is not allowed.", Ni(t[s]));
|
|
15029
15035
|
const n = t[s][2];
|
|
15030
15036
|
if (!Hc(n))
|
|
15031
|
-
return Pt("InvalidAttr", "Attribute '" + n + "' is an invalid name.",
|
|
15037
|
+
return Pt("InvalidAttr", "Attribute '" + n + "' is an invalid name.", Ni(t[s]));
|
|
15032
15038
|
if (!e.hasOwnProperty(n))
|
|
15033
15039
|
e[n] = 1;
|
|
15034
15040
|
else
|
|
15035
|
-
return Pt("InvalidAttr", "Attribute '" + n + "' is repeated.",
|
|
15041
|
+
return Pt("InvalidAttr", "Attribute '" + n + "' is repeated.", Ni(t[s]));
|
|
15036
15042
|
}
|
|
15037
15043
|
return !0;
|
|
15038
15044
|
}
|
|
@@ -15084,7 +15090,7 @@ function xt(c, i) {
|
|
|
15084
15090
|
col: t[t.length - 1].length + 1
|
|
15085
15091
|
};
|
|
15086
15092
|
}
|
|
15087
|
-
function
|
|
15093
|
+
function Ni(c) {
|
|
15088
15094
|
return c.startIndex + c[1].length;
|
|
15089
15095
|
}
|
|
15090
15096
|
var kn = {};
|
|
@@ -15256,7 +15262,7 @@ function ll(c) {
|
|
|
15256
15262
|
return c && c.indexOf(".") !== -1 && (c = c.replace(/0+$/, ""), c === "." ? c = "0" : c[0] === "." ? c = "0" + c : c[c.length - 1] === "." && (c = c.substr(0, c.length - 1))), c;
|
|
15257
15263
|
}
|
|
15258
15264
|
var hl = cl;
|
|
15259
|
-
const uo = zs,
|
|
15265
|
+
const uo = zs, yi = Zc, ul = nl, fl = hl;
|
|
15260
15266
|
let Il = class {
|
|
15261
15267
|
constructor(i) {
|
|
15262
15268
|
this.options = i, this.currentNode = null, this.tagsNodeStack = [], this.docTypeEntities = {}, this.lastEntities = {
|
|
@@ -15340,12 +15346,12 @@ function Tl(c, i, t) {
|
|
|
15340
15346
|
const ml = function(c) {
|
|
15341
15347
|
c = c.replace(/\r\n?/g, `
|
|
15342
15348
|
`);
|
|
15343
|
-
const i = new
|
|
15349
|
+
const i = new yi("!xml");
|
|
15344
15350
|
let t = i, e = "", s = "";
|
|
15345
15351
|
for (let n = 0; n < c.length; n++)
|
|
15346
15352
|
if (c[n] === "<")
|
|
15347
15353
|
if (c[n + 1] === "/") {
|
|
15348
|
-
const o =
|
|
15354
|
+
const o = Be(c, ">", n, "Closing Tag is not closed.");
|
|
15349
15355
|
let a = c.substring(n + 2, o).trim();
|
|
15350
15356
|
if (this.options.removeNSPrefix) {
|
|
15351
15357
|
const f = a.indexOf(":");
|
|
@@ -15362,12 +15368,12 @@ const ml = function(c) {
|
|
|
15362
15368
|
if (!o)
|
|
15363
15369
|
throw new Error("Pi Tag is not closed.");
|
|
15364
15370
|
if (e = this.saveTextToParentTag(e, t, s), !(this.options.ignoreDeclaration && o.tagName === "?xml" || this.options.ignorePiTags)) {
|
|
15365
|
-
const a = new
|
|
15371
|
+
const a = new yi(o.tagName);
|
|
15366
15372
|
a.add(this.options.textNodeName, ""), o.tagName !== o.tagExp && o.attrExpPresent && (a[":@"] = this.buildAttributesMap(o.tagExp, s, o.tagName)), this.addChild(t, a, s);
|
|
15367
15373
|
}
|
|
15368
15374
|
n = o.closeIndex + 1;
|
|
15369
15375
|
} else if (c.substr(n + 1, 3) === "!--") {
|
|
15370
|
-
const o =
|
|
15376
|
+
const o = Be(c, "-->", n + 4, "Comment is not closed.");
|
|
15371
15377
|
if (this.options.commentPropName) {
|
|
15372
15378
|
const a = c.substring(n + 4, o - 2);
|
|
15373
15379
|
e = this.saveTextToParentTag(e, t, s), t.add(this.options.commentPropName, [{ [this.options.textNodeName]: a }]);
|
|
@@ -15377,7 +15383,7 @@ const ml = function(c) {
|
|
|
15377
15383
|
const o = ul(c, n);
|
|
15378
15384
|
this.docTypeEntities = o.entities, n = o.i;
|
|
15379
15385
|
} else if (c.substr(n + 1, 2) === "![") {
|
|
15380
|
-
const o =
|
|
15386
|
+
const o = Be(c, "]]>", n, "CDATA is not closed.") - 2, a = c.substring(n + 9, o);
|
|
15381
15387
|
e = this.saveTextToParentTag(e, t, s);
|
|
15382
15388
|
let l = this.parseTextData(a, t.tagname, s, !0, !1, !0, !0);
|
|
15383
15389
|
l == null && (l = ""), this.options.cdataPropName ? t.add(this.options.cdataPropName, [{ [this.options.textNodeName]: a }]) : t.add(this.options.textNodeName, l), n = o + 2;
|
|
@@ -15399,15 +15405,15 @@ const ml = function(c) {
|
|
|
15399
15405
|
throw new Error(`Unexpected end of ${l}`);
|
|
15400
15406
|
n = T.i, d = T.tagContent;
|
|
15401
15407
|
}
|
|
15402
|
-
const E = new
|
|
15408
|
+
const E = new yi(a);
|
|
15403
15409
|
a !== h && f && (E[":@"] = this.buildAttributesMap(h, s, a)), d && (d = this.parseTextData(d, a, s, !0, f, !0, !0)), s = s.substr(0, s.lastIndexOf(".")), E.add(this.options.textNodeName, d), this.addChild(t, E, s);
|
|
15404
15410
|
} else {
|
|
15405
15411
|
if (h.length > 0 && h.lastIndexOf("/") === h.length - 1) {
|
|
15406
15412
|
a[a.length - 1] === "/" ? (a = a.substr(0, a.length - 1), s = s.substr(0, s.length - 1), h = a) : h = h.substr(0, h.length - 1), this.options.transformTagName && (a = this.options.transformTagName(a));
|
|
15407
|
-
const d = new
|
|
15413
|
+
const d = new yi(a);
|
|
15408
15414
|
a !== h && f && (d[":@"] = this.buildAttributesMap(h, s, a)), this.addChild(t, d, s), s = s.substr(0, s.lastIndexOf("."));
|
|
15409
15415
|
} else {
|
|
15410
|
-
const d = new
|
|
15416
|
+
const d = new yi(a);
|
|
15411
15417
|
this.tagsNodeStack.push(t), a !== h && f && (d[":@"] = this.buildAttributesMap(h, s, a)), this.addChild(t, d, s), t = d;
|
|
15412
15418
|
}
|
|
15413
15419
|
e = "", n = I;
|
|
@@ -15484,7 +15490,7 @@ function Sl(c, i, t = ">") {
|
|
|
15484
15490
|
s += r;
|
|
15485
15491
|
}
|
|
15486
15492
|
}
|
|
15487
|
-
function
|
|
15493
|
+
function Be(c, i, t, e) {
|
|
15488
15494
|
const s = c.indexOf(i, t);
|
|
15489
15495
|
if (s === -1)
|
|
15490
15496
|
throw new Error(e);
|
|
@@ -15517,7 +15523,7 @@ function Ol(c, i, t) {
|
|
|
15517
15523
|
for (; t < c.length; t++)
|
|
15518
15524
|
if (c[t] === "<")
|
|
15519
15525
|
if (c[t + 1] === "/") {
|
|
15520
|
-
const n =
|
|
15526
|
+
const n = Be(c, ">", t, `${i} is not closed`);
|
|
15521
15527
|
if (c.substring(t + 2, n).trim() === i && (s--, s === 0))
|
|
15522
15528
|
return {
|
|
15523
15529
|
tagContent: c.substring(e, t),
|
|
@@ -15525,11 +15531,11 @@ function Ol(c, i, t) {
|
|
|
15525
15531
|
};
|
|
15526
15532
|
t = n;
|
|
15527
15533
|
} else if (c[t + 1] === "?")
|
|
15528
|
-
t =
|
|
15534
|
+
t = Be(c, "?>", t + 1, "StopNode is not closed.");
|
|
15529
15535
|
else if (c.substr(t + 1, 3) === "!--")
|
|
15530
|
-
t =
|
|
15536
|
+
t = Be(c, "-->", t + 3, "StopNode is not closed.");
|
|
15531
15537
|
else if (c.substr(t + 1, 2) === "![")
|
|
15532
|
-
t =
|
|
15538
|
+
t = Be(c, "]]>", t, "StopNode is not closed.") - 2;
|
|
15533
15539
|
else {
|
|
15534
15540
|
const n = Ln(c, t, ">");
|
|
15535
15541
|
n && ((n && n.tagName) === i && n.tagExp[n.tagExp.length - 1] !== "/" && s++, t = n.closeIndex);
|
|
@@ -15860,7 +15866,7 @@ class Pn {
|
|
|
15860
15866
|
constructor(i, t) {
|
|
15861
15867
|
C(this, "date", /* @__PURE__ */ new Date());
|
|
15862
15868
|
C(this, "author");
|
|
15863
|
-
C(this, "guid",
|
|
15869
|
+
C(this, "guid", oe.create());
|
|
15864
15870
|
C(this, "viewpoint");
|
|
15865
15871
|
C(this, "modifiedAuthor");
|
|
15866
15872
|
C(this, "modifiedDate");
|
|
@@ -15911,7 +15917,7 @@ class Pn {
|
|
|
15911
15917
|
`;
|
|
15912
15918
|
}
|
|
15913
15919
|
}
|
|
15914
|
-
const
|
|
15920
|
+
const Ie = class Ie {
|
|
15915
15921
|
/**
|
|
15916
15922
|
* Initializes a new instance of the `Topic` class representing a BCF (BIM Collaboration Format) topic.
|
|
15917
15923
|
* It provides methods and properties to manage and serialize BCF topics.
|
|
@@ -15929,16 +15935,16 @@ const fe = class fe {
|
|
|
15929
15935
|
* @remarks
|
|
15930
15936
|
* The `guid` is automatically generated upon topic creation and by no means it should change.
|
|
15931
15937
|
*/
|
|
15932
|
-
C(this, "guid",
|
|
15933
|
-
C(this, "title",
|
|
15938
|
+
C(this, "guid", oe.create());
|
|
15939
|
+
C(this, "title", Ie.default.title);
|
|
15934
15940
|
C(this, "creationDate", /* @__PURE__ */ new Date());
|
|
15935
15941
|
C(this, "creationAuthor", "");
|
|
15936
15942
|
// Store viewpoint guids instead of the actual Viewpoint to prevent a possible memory leak
|
|
15937
|
-
C(this, "viewpoints", new
|
|
15943
|
+
C(this, "viewpoints", new Pe());
|
|
15938
15944
|
// Store topic guids instead of the actual Topic to prevent a possible memory leak
|
|
15939
|
-
C(this, "relatedTopics", new
|
|
15945
|
+
C(this, "relatedTopics", new Pe());
|
|
15940
15946
|
// There is no problem to store the comment it-self as it is not referenced anywhere else
|
|
15941
|
-
C(this, "comments", new
|
|
15947
|
+
C(this, "comments", new re());
|
|
15942
15948
|
C(this, "customData", {});
|
|
15943
15949
|
C(this, "description");
|
|
15944
15950
|
C(this, "serverAssignedId");
|
|
@@ -15946,12 +15952,12 @@ const fe = class fe {
|
|
|
15946
15952
|
C(this, "modifiedAuthor");
|
|
15947
15953
|
C(this, "modifiedDate");
|
|
15948
15954
|
C(this, "index");
|
|
15949
|
-
C(this, "_type",
|
|
15950
|
-
C(this, "_status",
|
|
15951
|
-
C(this, "_priority",
|
|
15952
|
-
C(this, "_stage",
|
|
15953
|
-
C(this, "_assignedTo",
|
|
15954
|
-
C(this, "_labels",
|
|
15955
|
+
C(this, "_type", Ie.default.type);
|
|
15956
|
+
C(this, "_status", Ie.default.status);
|
|
15957
|
+
C(this, "_priority", Ie.default.priority);
|
|
15958
|
+
C(this, "_stage", Ie.default.priority);
|
|
15959
|
+
C(this, "_assignedTo", Ie.default.assignedTo);
|
|
15960
|
+
C(this, "_labels", Ie.default.labels);
|
|
15955
15961
|
C(this, "_components");
|
|
15956
15962
|
this._components = i;
|
|
15957
15963
|
const t = i.get(Mt);
|
|
@@ -16100,7 +16106,7 @@ ${t}
|
|
|
16100
16106
|
createViewpointTags(i = this._managerVersion) {
|
|
16101
16107
|
let t = "Viewpoints";
|
|
16102
16108
|
i === "2.1" && (t = "Viewpoints"), i === "3" && (t = "ViewPoint");
|
|
16103
|
-
const e = this._components.get(
|
|
16109
|
+
const e = this._components.get(ie), n = [...this.viewpoints].map((r) => e.list.get(r)).filter((r) => r).map((r) => `<${t} Guid="${r.guid}">
|
|
16104
16110
|
<Viewpoint>${r.guid}.bcfv</Viewpoint>
|
|
16105
16111
|
<Snapshot>${r.guid}.jpeg</Snapshot>
|
|
16106
16112
|
</${t}>
|
|
@@ -16188,13 +16194,13 @@ ${t}
|
|
|
16188
16194
|
/**
|
|
16189
16195
|
* Default values for a BCF Topic, excluding `guid`, `creationDate`, and `creationAuthor`.
|
|
16190
16196
|
*/
|
|
16191
|
-
C(
|
|
16197
|
+
C(Ie, "default", {
|
|
16192
16198
|
title: "BCF Topic",
|
|
16193
16199
|
type: "Issue",
|
|
16194
16200
|
status: "Active",
|
|
16195
16201
|
labels: /* @__PURE__ */ new Set()
|
|
16196
16202
|
});
|
|
16197
|
-
let
|
|
16203
|
+
let Rs = Ie;
|
|
16198
16204
|
const Ql = (c, i) => {
|
|
16199
16205
|
if (i.trim() === "")
|
|
16200
16206
|
return;
|
|
@@ -16374,7 +16380,7 @@ class Kl extends Ye {
|
|
|
16374
16380
|
this._config.ignoreIncompleteTopicsOnImport.value = t;
|
|
16375
16381
|
}
|
|
16376
16382
|
}
|
|
16377
|
-
const
|
|
16383
|
+
const Le = class Le extends At {
|
|
16378
16384
|
constructor() {
|
|
16379
16385
|
super(...arguments);
|
|
16380
16386
|
C(this, "enabled", !1);
|
|
@@ -16402,8 +16408,13 @@ const Be = class Be extends At {
|
|
|
16402
16408
|
fallbackVersionOnImport: "2.1",
|
|
16403
16409
|
ignoreIncompleteTopicsOnImport: !1
|
|
16404
16410
|
});
|
|
16405
|
-
C(this, "config", new Kl(
|
|
16406
|
-
|
|
16411
|
+
C(this, "config", new Kl(
|
|
16412
|
+
this,
|
|
16413
|
+
this.components,
|
|
16414
|
+
"BCF Topics",
|
|
16415
|
+
Le.uuid
|
|
16416
|
+
));
|
|
16417
|
+
C(this, "list", new re());
|
|
16407
16418
|
C(this, "onSetup", new Z());
|
|
16408
16419
|
C(this, "isSetup", !1);
|
|
16409
16420
|
C(this, "onBCFImported", new Z());
|
|
@@ -16423,7 +16434,7 @@ const Be = class Be extends At {
|
|
|
16423
16434
|
* @returns The newly created BCFTopic instance.
|
|
16424
16435
|
*/
|
|
16425
16436
|
create(t) {
|
|
16426
|
-
const e = new
|
|
16437
|
+
const e = new Rs(this.components);
|
|
16427
16438
|
return t && (e.guid = t.guid ?? e.guid, e.set(t)), this.list.set(e.guid, e), e;
|
|
16428
16439
|
}
|
|
16429
16440
|
/**
|
|
@@ -16519,7 +16530,7 @@ const Be = class Be extends At {
|
|
|
16519
16530
|
* If a viewpoint does not exist, it is removed from the topic's viewpoints.
|
|
16520
16531
|
*/
|
|
16521
16532
|
updateViewpointReferences() {
|
|
16522
|
-
const t = this.components.get(
|
|
16533
|
+
const t = this.components.get(ie);
|
|
16523
16534
|
for (const [e, s] of this.list)
|
|
16524
16535
|
for (const n of s.viewpoints)
|
|
16525
16536
|
t.list.has(n) || s.viewpoints.delete(n);
|
|
@@ -16541,7 +16552,7 @@ const Be = class Be extends At {
|
|
|
16541
16552
|
), e.file("bcf.extensions", this.serializeExtensions());
|
|
16542
16553
|
const n = await (await fetch(
|
|
16543
16554
|
"https://thatopen.github.io/engine_components/resources/favicon.ico"
|
|
16544
|
-
)).blob(), r = this.components.get(
|
|
16555
|
+
)).blob(), r = this.components.get(ie);
|
|
16545
16556
|
for (const a of t) {
|
|
16546
16557
|
const l = e.folder(a.guid);
|
|
16547
16558
|
l.file("markup.bcf", a.serialize());
|
|
@@ -16596,7 +16607,7 @@ ${o}
|
|
|
16596
16607
|
} = t;
|
|
16597
16608
|
if (!(e && s && n && (Pn || o)))
|
|
16598
16609
|
return null;
|
|
16599
|
-
const a = this.components.get(
|
|
16610
|
+
const a = this.components.get(ie), l = new Pn(this.components, r ?? "");
|
|
16600
16611
|
return l.guid = e, l.date = new Date(s), l.author = n, l.viewpoint = o != null && o.Guid ? a.list.get(o.Guid) : void 0, l.modifiedAuthor = t.ModifiedAuthor, l.modifiedDate = t.ModifiedDate ? new Date(t.ModifiedDate) : void 0, l;
|
|
16601
16612
|
}
|
|
16602
16613
|
getMarkupComments(t, e) {
|
|
@@ -16645,7 +16656,7 @@ ${o}
|
|
|
16645
16656
|
let l = s;
|
|
16646
16657
|
const h = a.find((F) => F.name.endsWith(".version"));
|
|
16647
16658
|
if (h) {
|
|
16648
|
-
const F = await h.async("string"), R =
|
|
16659
|
+
const F = await h.async("string"), R = Le.xmlParser.parse(F).Version.VersionId;
|
|
16649
16660
|
l = String(R);
|
|
16650
16661
|
}
|
|
16651
16662
|
if (!(l && (l === "2.1" || l === "3")))
|
|
@@ -16657,9 +16668,9 @@ ${o}
|
|
|
16657
16668
|
const F = await f.async("string");
|
|
16658
16669
|
Ql(this, F);
|
|
16659
16670
|
}
|
|
16660
|
-
const I = [], u = this.components.get(
|
|
16671
|
+
const I = [], u = this.components.get(ie), d = a.filter((F) => F.name.endsWith(".bcfv"));
|
|
16661
16672
|
for (const F of d) {
|
|
16662
|
-
const R = await F.async("string"), S =
|
|
16673
|
+
const R = await F.async("string"), S = Le.xmlParser.parse(R).VisualizationInfo;
|
|
16663
16674
|
if (!S) {
|
|
16664
16675
|
console.warn("Missing VisualizationInfo in Viewpoint");
|
|
16665
16676
|
continue;
|
|
@@ -16746,7 +16757,7 @@ ${o}
|
|
|
16746
16757
|
}
|
|
16747
16758
|
const E = {}, T = [], p = a.filter((F) => F.name.endsWith(".bcf"));
|
|
16748
16759
|
for (const F of p) {
|
|
16749
|
-
const R = await F.async("string"), S =
|
|
16760
|
+
const R = await F.async("string"), S = Le.xmlParser.parse(R).Markup, N = S.Topic, {
|
|
16750
16761
|
Guid: y,
|
|
16751
16762
|
TopicType: M,
|
|
16752
16763
|
TopicStatus: L,
|
|
@@ -16756,7 +16767,7 @@ ${o}
|
|
|
16756
16767
|
} = N;
|
|
16757
16768
|
if (n && !(y && M && L && b && G && O))
|
|
16758
16769
|
continue;
|
|
16759
|
-
const w = new
|
|
16770
|
+
const w = new Rs(this.components);
|
|
16760
16771
|
w.guid = y ?? w.guid;
|
|
16761
16772
|
const g = this.getMarkupRelatedTopics(S, l);
|
|
16762
16773
|
E[w.guid] = new Set(g), w.type = M ?? w.type, w.status = L ?? w.status, w.title = b ?? w.title, w.creationDate = G ? new Date(G) : w.creationDate, w.creationAuthor = O ?? w.creationAuthor, w.serverAssignedId = N.ServerAssignedId, w.priority = N.Priority, w.index = N.Index, w.modifiedDate = N.ModifiedDate ? new Date(N.ModifiedDate) : void 0, w.modifiedAuthor = N.ModifiedAuthor, w.dueDate = N.DueDate ? new Date(N.DueDate) : void 0, w.assignedTo = N.AssignedTo, w.description = N.Description, w.stage = N.Stage;
|
|
@@ -16786,7 +16797,7 @@ ${o}
|
|
|
16786
16797
|
return this.onBCFImported.trigger(T), { viewpoints: I, topics: T };
|
|
16787
16798
|
}
|
|
16788
16799
|
};
|
|
16789
|
-
C(
|
|
16800
|
+
C(Le, "uuid", "de977976-e4f6-4e4f-a01a-204727839802"), C(Le, "xmlParser", new Co.XMLParser({
|
|
16790
16801
|
allowBooleanAttributes: !0,
|
|
16791
16802
|
attributeNamePrefix: "",
|
|
16792
16803
|
ignoreAttributes: !1,
|
|
@@ -16799,8 +16810,8 @@ C(Be, "uuid", "de977976-e4f6-4e4f-a01a-204727839802"), C(Be, "xmlParser", new Co
|
|
|
16799
16810
|
removeNSPrefix: !0,
|
|
16800
16811
|
trimValues: !0
|
|
16801
16812
|
}));
|
|
16802
|
-
let Mt =
|
|
16803
|
-
const
|
|
16813
|
+
let Mt = Le;
|
|
16814
|
+
const ee = class ee extends At {
|
|
16804
16815
|
constructor(t) {
|
|
16805
16816
|
super(t);
|
|
16806
16817
|
/** {@link Component.enabled} */
|
|
@@ -16810,7 +16821,7 @@ const ie = class ie extends At {
|
|
|
16810
16821
|
C(this, "_absoluteMin");
|
|
16811
16822
|
C(this, "_absoluteMax");
|
|
16812
16823
|
C(this, "_meshes", []);
|
|
16813
|
-
this.components.add(
|
|
16824
|
+
this.components.add(ee.uuid, this), this._absoluteMin = ee.newBound(!0), this._absoluteMax = ee.newBound(!1);
|
|
16814
16825
|
}
|
|
16815
16826
|
/**
|
|
16816
16827
|
* A static method to calculate the dimensions of a given bounding box.
|
|
@@ -16885,7 +16896,7 @@ const ie = class ie extends At {
|
|
|
16885
16896
|
const t = this.components.get(Me);
|
|
16886
16897
|
for (const e of this._meshes)
|
|
16887
16898
|
t.destroy(e);
|
|
16888
|
-
this._meshes = [], this.onDisposed.trigger(
|
|
16899
|
+
this._meshes = [], this.onDisposed.trigger(ee.uuid), this.onDisposed.reset();
|
|
16889
16900
|
}
|
|
16890
16901
|
/**
|
|
16891
16902
|
* Returns the bounding box of the calculated fragments.
|
|
@@ -16948,7 +16959,7 @@ const ie = class ie extends At {
|
|
|
16948
16959
|
* ```
|
|
16949
16960
|
*/
|
|
16950
16961
|
getMesh() {
|
|
16951
|
-
const t = new D.Box3(this._absoluteMin, this._absoluteMax), e =
|
|
16962
|
+
const t = new D.Box3(this._absoluteMin, this._absoluteMax), e = ee.getDimensions(t), { width: s, height: n, depth: r, center: o } = e, a = new D.BoxGeometry(s, n, r), l = new D.Mesh(a);
|
|
16952
16963
|
return this._meshes.push(l), l.position.copy(o), l;
|
|
16953
16964
|
}
|
|
16954
16965
|
/**
|
|
@@ -16968,7 +16979,7 @@ const ie = class ie extends At {
|
|
|
16968
16979
|
* ```
|
|
16969
16980
|
*/
|
|
16970
16981
|
reset() {
|
|
16971
|
-
this._absoluteMin =
|
|
16982
|
+
this._absoluteMin = ee.newBound(!0), this._absoluteMax = ee.newBound(!1);
|
|
16972
16983
|
}
|
|
16973
16984
|
/**
|
|
16974
16985
|
* Adds a FragmentsGroup to the BoundingBoxer.
|
|
@@ -17009,7 +17020,7 @@ const ie = class ie extends At {
|
|
|
17009
17020
|
addMesh(t, e) {
|
|
17010
17021
|
if (!t.geometry.index)
|
|
17011
17022
|
return;
|
|
17012
|
-
const s =
|
|
17023
|
+
const s = ee.getFragmentBounds(t);
|
|
17013
17024
|
t.updateMatrixWorld();
|
|
17014
17025
|
const n = t.matrixWorld, r = new D.Matrix4(), o = t instanceof D.InstancedMesh, a = /* @__PURE__ */ new Set();
|
|
17015
17026
|
if (t instanceof Qt.FragmentMesh) {
|
|
@@ -17075,9 +17086,9 @@ const ie = class ie extends At {
|
|
|
17075
17086
|
return new D.Box3(r, o);
|
|
17076
17087
|
}
|
|
17077
17088
|
};
|
|
17078
|
-
C(
|
|
17079
|
-
let wn =
|
|
17080
|
-
const
|
|
17089
|
+
C(ee, "uuid", "d1444724-dba6-4cdd-a0c7-68ee1450d166");
|
|
17090
|
+
let wn = ee;
|
|
17091
|
+
const Ps = class Ps {
|
|
17081
17092
|
constructor(i) {
|
|
17082
17093
|
/**
|
|
17083
17094
|
* Event used to notify the progress when performing a query on an IFC file.
|
|
@@ -17109,7 +17120,7 @@ const _s = class _s {
|
|
|
17109
17120
|
* @param data the data of the query to import as a serializable object.
|
|
17110
17121
|
*/
|
|
17111
17122
|
static import(i, t) {
|
|
17112
|
-
const e =
|
|
17123
|
+
const e = Ps.importers.get(t.type);
|
|
17113
17124
|
return e ? e(i, t) : (console.warn("Invalid query data:.", t), null);
|
|
17114
17125
|
}
|
|
17115
17126
|
/**
|
|
@@ -17315,8 +17326,8 @@ const _s = class _s {
|
|
|
17315
17326
|
/**
|
|
17316
17327
|
* The list of functions to import the queries. If you create your own custom query, you should add its importer here. See the other queries provided by the library for reference.
|
|
17317
17328
|
*/
|
|
17318
|
-
C(
|
|
17319
|
-
let
|
|
17329
|
+
C(Ps, "importers", /* @__PURE__ */ new Map());
|
|
17330
|
+
let se = Ps;
|
|
17320
17331
|
class Yr {
|
|
17321
17332
|
constructor(i) {
|
|
17322
17333
|
/**
|
|
@@ -17377,7 +17388,7 @@ class Yr {
|
|
|
17377
17388
|
import(i) {
|
|
17378
17389
|
this.mode = i.mode, this.id = i.id;
|
|
17379
17390
|
for (const t in i.queries) {
|
|
17380
|
-
const e =
|
|
17391
|
+
const e = se.import(this._components, i.queries[t]);
|
|
17381
17392
|
e && this.list.set(t, e);
|
|
17382
17393
|
}
|
|
17383
17394
|
}
|
|
@@ -17406,7 +17417,7 @@ class Yr {
|
|
|
17406
17417
|
}
|
|
17407
17418
|
}
|
|
17408
17419
|
}
|
|
17409
|
-
const
|
|
17420
|
+
const ws = class ws extends se {
|
|
17410
17421
|
constructor(t, e) {
|
|
17411
17422
|
super(t);
|
|
17412
17423
|
/**
|
|
@@ -17436,7 +17447,7 @@ const Ps = class Ps extends ne {
|
|
|
17436
17447
|
*/
|
|
17437
17448
|
export() {
|
|
17438
17449
|
const t = this.getData();
|
|
17439
|
-
return t.type =
|
|
17450
|
+
return t.type = ws.type, t;
|
|
17440
17451
|
}
|
|
17441
17452
|
/**
|
|
17442
17453
|
* {@link IfcFinderQuery.update}
|
|
@@ -17455,20 +17466,20 @@ const Ps = class Ps extends ne {
|
|
|
17455
17466
|
/**
|
|
17456
17467
|
* The type of this query.
|
|
17457
17468
|
*/
|
|
17458
|
-
C(
|
|
17459
|
-
let
|
|
17460
|
-
|
|
17461
|
-
|
|
17469
|
+
C(ws, "type", "IfcBasicQuery");
|
|
17470
|
+
let gs = ws;
|
|
17471
|
+
se.importers.set(
|
|
17472
|
+
gs.type,
|
|
17462
17473
|
(c, i) => {
|
|
17463
|
-
const t = new
|
|
17474
|
+
const t = new gs(c, {
|
|
17464
17475
|
name: i.name,
|
|
17465
|
-
rules:
|
|
17476
|
+
rules: se.importRules(i.rules),
|
|
17466
17477
|
inclusive: i.inclusive
|
|
17467
17478
|
});
|
|
17468
|
-
return t.ids =
|
|
17479
|
+
return t.ids = se.importIds(i), t;
|
|
17469
17480
|
}
|
|
17470
17481
|
);
|
|
17471
|
-
const
|
|
17482
|
+
const Ms = class Ms extends se {
|
|
17472
17483
|
constructor(t, e) {
|
|
17473
17484
|
super(t);
|
|
17474
17485
|
/**
|
|
@@ -17509,7 +17520,7 @@ const ws = class ws extends ne {
|
|
|
17509
17520
|
*/
|
|
17510
17521
|
export() {
|
|
17511
17522
|
const t = this.getData();
|
|
17512
|
-
return t.type =
|
|
17523
|
+
return t.type = Ms.type, t;
|
|
17513
17524
|
}
|
|
17514
17525
|
/**
|
|
17515
17526
|
* {@link IfcFinderQuery.update}
|
|
@@ -17552,20 +17563,20 @@ const ws = class ws extends ne {
|
|
|
17552
17563
|
/**
|
|
17553
17564
|
* The type of this query.
|
|
17554
17565
|
*/
|
|
17555
|
-
C(
|
|
17556
|
-
let
|
|
17557
|
-
|
|
17558
|
-
|
|
17566
|
+
C(Ms, "type", "IfcPropertyQuery");
|
|
17567
|
+
let As = Ms;
|
|
17568
|
+
se.importers.set(
|
|
17569
|
+
As.type,
|
|
17559
17570
|
(c, i) => {
|
|
17560
|
-
const t = new
|
|
17571
|
+
const t = new As(c, {
|
|
17561
17572
|
name: i.name,
|
|
17562
17573
|
inclusive: i.inclusive,
|
|
17563
|
-
rules:
|
|
17574
|
+
rules: se.importRules(i.rules)
|
|
17564
17575
|
});
|
|
17565
|
-
return t.ids =
|
|
17576
|
+
return t.ids = se.importIds(i), t;
|
|
17566
17577
|
}
|
|
17567
17578
|
);
|
|
17568
|
-
const
|
|
17579
|
+
const Ds = class Ds extends At {
|
|
17569
17580
|
constructor(t) {
|
|
17570
17581
|
super(t);
|
|
17571
17582
|
/** {@link Component.enabled} */
|
|
@@ -17574,7 +17585,7 @@ const Ms = class Ms extends At {
|
|
|
17574
17585
|
* List of all created {@link IfcQueryGroup} instances.
|
|
17575
17586
|
*/
|
|
17576
17587
|
C(this, "list", /* @__PURE__ */ new Map());
|
|
17577
|
-
t.add(
|
|
17588
|
+
t.add(Ds.uuid, this);
|
|
17578
17589
|
}
|
|
17579
17590
|
/**
|
|
17580
17591
|
* List of all queries from all created {@link IfcQueryGroup} instances.
|
|
@@ -17629,9 +17640,9 @@ const Ms = class Ms extends At {
|
|
|
17629
17640
|
* A unique identifier for the component.
|
|
17630
17641
|
* This UUID is used to register the component within the Components system.
|
|
17631
17642
|
*/
|
|
17632
|
-
C(
|
|
17633
|
-
let Gr =
|
|
17634
|
-
const
|
|
17643
|
+
C(Ds, "uuid", "0da7ad77-f734-42ca-942f-a074adfd1e3a");
|
|
17644
|
+
let Gr = Ds;
|
|
17645
|
+
const bs = class bs extends At {
|
|
17635
17646
|
constructor(t) {
|
|
17636
17647
|
super(t);
|
|
17637
17648
|
/** {@link Component.enabled} */
|
|
@@ -17658,7 +17669,7 @@ const Ds = class Ds extends At {
|
|
|
17658
17669
|
}
|
|
17659
17670
|
}
|
|
17660
17671
|
});
|
|
17661
|
-
t.add(
|
|
17672
|
+
t.add(bs.uuid, this), t.get(Tt).onFragmentsDisposed.add(this.onFragmentsDisposed);
|
|
17662
17673
|
}
|
|
17663
17674
|
/** {@link Disposable.dispose} */
|
|
17664
17675
|
dispose() {
|
|
@@ -17811,7 +17822,7 @@ const Ds = class Ds extends At {
|
|
|
17811
17822
|
byEntity(t) {
|
|
17812
17823
|
this.list.entities || (this.list.entities = {});
|
|
17813
17824
|
for (const [e, s] of t.data) {
|
|
17814
|
-
const r = s[1][1], o =
|
|
17825
|
+
const r = s[1][1], o = ms[r];
|
|
17815
17826
|
this.saveItem(t, "entities", o, e);
|
|
17816
17827
|
}
|
|
17817
17828
|
}
|
|
@@ -17831,11 +17842,11 @@ const Ds = class Ds extends At {
|
|
|
17831
17842
|
* @throws Will throw an error if the fragment ID is not found or if the IFC relationship is not valid.
|
|
17832
17843
|
*/
|
|
17833
17844
|
async byIfcRel(t, e, s) {
|
|
17834
|
-
|
|
17845
|
+
ri.isRel(e) && await ri.getRelationMap(
|
|
17835
17846
|
t,
|
|
17836
17847
|
e,
|
|
17837
17848
|
async (n, r) => {
|
|
17838
|
-
const { name: o } = await
|
|
17849
|
+
const { name: o } = await ri.getEntityName(
|
|
17839
17850
|
t,
|
|
17840
17851
|
n
|
|
17841
17852
|
);
|
|
@@ -17986,9 +17997,9 @@ const Ds = class Ds extends At {
|
|
|
17986
17997
|
* A unique identifier for the component.
|
|
17987
17998
|
* This UUID is used to register the component within the Components system.
|
|
17988
17999
|
*/
|
|
17989
|
-
C(
|
|
17990
|
-
let
|
|
17991
|
-
const
|
|
18000
|
+
C(bs, "uuid", "e25a7f3c-46c4-4a14-9d3d-5115f24ebeb7");
|
|
18001
|
+
let xi = bs;
|
|
18002
|
+
const vs = class vs extends At {
|
|
17992
18003
|
constructor(t) {
|
|
17993
18004
|
super(t);
|
|
17994
18005
|
/** {@link Disposable.onDisposed} */
|
|
@@ -18012,7 +18023,7 @@ const bs = class bs extends At {
|
|
|
18012
18023
|
* This set is used to keep track of which items have been exploded.
|
|
18013
18024
|
*/
|
|
18014
18025
|
C(this, "list", /* @__PURE__ */ new Set());
|
|
18015
|
-
t.add(
|
|
18026
|
+
t.add(vs.uuid, this);
|
|
18016
18027
|
}
|
|
18017
18028
|
/** {@link Disposable.dispose} */
|
|
18018
18029
|
dispose() {
|
|
@@ -18035,7 +18046,7 @@ const bs = class bs extends At {
|
|
|
18035
18046
|
set(t) {
|
|
18036
18047
|
if (!this.enabled)
|
|
18037
18048
|
return;
|
|
18038
|
-
const e = this.components.get(
|
|
18049
|
+
const e = this.components.get(xi), s = this.components.get(Tt), n = t ? 1 : -1;
|
|
18039
18050
|
let r = 0;
|
|
18040
18051
|
const o = e.list[this.groupName], a = new D.Matrix4();
|
|
18041
18052
|
for (const l in o) {
|
|
@@ -18056,14 +18067,14 @@ const bs = class bs extends At {
|
|
|
18056
18067
|
* A unique identifier for the component.
|
|
18057
18068
|
* This UUID is used to register the component within the Components system.
|
|
18058
18069
|
*/
|
|
18059
|
-
C(
|
|
18060
|
-
let zr =
|
|
18061
|
-
const
|
|
18070
|
+
C(vs, "uuid", "d260618b-ce88-4c7d-826c-6debb91de3e2");
|
|
18071
|
+
let zr = vs;
|
|
18072
|
+
const Us = class Us extends At {
|
|
18062
18073
|
constructor(t) {
|
|
18063
18074
|
super(t);
|
|
18064
18075
|
/** {@link Component.enabled} */
|
|
18065
18076
|
C(this, "enabled", !0);
|
|
18066
|
-
this.components.add(
|
|
18077
|
+
this.components.add(Us.uuid, this);
|
|
18067
18078
|
}
|
|
18068
18079
|
/**
|
|
18069
18080
|
* Sets the visibility of fragments within the 3D scene.
|
|
@@ -18112,8 +18123,8 @@ const vs = class vs extends At {
|
|
|
18112
18123
|
* A unique identifier for the component.
|
|
18113
18124
|
* This UUID is used to register the component within the Components system.
|
|
18114
18125
|
*/
|
|
18115
|
-
C(
|
|
18116
|
-
let Mn =
|
|
18126
|
+
C(Us, "uuid", "dd9ccf2d-8a21-4821-b7f6-2949add16a29");
|
|
18127
|
+
let Mn = Us;
|
|
18117
18128
|
class Jl extends Yn {
|
|
18118
18129
|
constructor() {
|
|
18119
18130
|
super(...arguments);
|
|
@@ -18133,7 +18144,7 @@ class Jl extends Yn {
|
|
|
18133
18144
|
C(this, "maxTriangles", null);
|
|
18134
18145
|
}
|
|
18135
18146
|
}
|
|
18136
|
-
const
|
|
18147
|
+
const xs = class xs extends At {
|
|
18137
18148
|
constructor(t) {
|
|
18138
18149
|
super(t);
|
|
18139
18150
|
/**
|
|
@@ -18180,7 +18191,7 @@ const Us = class Us extends At {
|
|
|
18180
18191
|
C(this, "_groupSerializer", new Qt.Serializer());
|
|
18181
18192
|
C(this, "_assets", []);
|
|
18182
18193
|
C(this, "_meshesWithHoles", /* @__PURE__ */ new Set());
|
|
18183
|
-
this.components.add(
|
|
18194
|
+
this.components.add(xs.uuid, this), this.settings.excludedCategories.add(z.IFCOPENINGELEMENT);
|
|
18184
18195
|
}
|
|
18185
18196
|
/** {@link Disposable.dispose} */
|
|
18186
18197
|
dispose() {
|
|
@@ -18360,8 +18371,8 @@ const Us = class Us extends At {
|
|
|
18360
18371
|
* A unique identifier for the component.
|
|
18361
18372
|
* This UUID is used to register the component within the Components system.
|
|
18362
18373
|
*/
|
|
18363
|
-
C(
|
|
18364
|
-
let kr =
|
|
18374
|
+
C(xs, "uuid", "d9999a00-e1f5-4d3f-8cfe-c56e08609764");
|
|
18375
|
+
let kr = xs;
|
|
18365
18376
|
class th extends Yn {
|
|
18366
18377
|
constructor() {
|
|
18367
18378
|
super(...arguments);
|
|
@@ -18379,17 +18390,17 @@ class eh extends At {
|
|
|
18379
18390
|
* An event that is triggered when properties are streamed from the IFC file.
|
|
18380
18391
|
* The event provides the type of the IFC entity and the corresponding data.
|
|
18381
18392
|
*/
|
|
18382
|
-
C(this, "onPropertiesStreamed", new
|
|
18393
|
+
C(this, "onPropertiesStreamed", new Is());
|
|
18383
18394
|
/**
|
|
18384
18395
|
* An event that is triggered to indicate the progress of the streaming process.
|
|
18385
18396
|
* The event provides a number between 0 and 1 representing the progress percentage.
|
|
18386
18397
|
*/
|
|
18387
|
-
C(this, "onProgress", new
|
|
18398
|
+
C(this, "onProgress", new Is());
|
|
18388
18399
|
/**
|
|
18389
18400
|
* An event that is triggered when indices are streamed from the IFC file.
|
|
18390
18401
|
* The event provides a map of indices, where the key is the entity type and the value is another map of indices.
|
|
18391
18402
|
*/
|
|
18392
|
-
C(this, "onIndicesStreamed", new
|
|
18403
|
+
C(this, "onIndicesStreamed", new Is());
|
|
18393
18404
|
/** {@link Disposable.onDisposed} */
|
|
18394
18405
|
C(this, "onDisposed", new Z());
|
|
18395
18406
|
/** {@link Component.enabled} */
|
|
@@ -18494,14 +18505,14 @@ C(eh, "uuid", "88d2c89c-ce32-47d7-8cb6-d51e4b311a0b");
|
|
|
18494
18505
|
class To {
|
|
18495
18506
|
constructor(i, t, e) {
|
|
18496
18507
|
C(this, "title");
|
|
18497
|
-
C(this, "guid",
|
|
18508
|
+
C(this, "guid", oe.create());
|
|
18498
18509
|
/**
|
|
18499
18510
|
* ClippingPlanes can be used to define a subsection of a building model that is related to the topic.
|
|
18500
18511
|
* Each clipping plane is defined by Location and Direction.
|
|
18501
18512
|
* The Direction vector points in the invisible direction meaning the half-space that is clipped.
|
|
18502
18513
|
* @experimental
|
|
18503
18514
|
*/
|
|
18504
|
-
C(this, "clippingPlanes", new
|
|
18515
|
+
C(this, "clippingPlanes", new Pe());
|
|
18505
18516
|
C(this, "camera", {
|
|
18506
18517
|
aspectRatio: 0,
|
|
18507
18518
|
fov: 0,
|
|
@@ -18511,16 +18522,16 @@ class To {
|
|
|
18511
18522
|
/**
|
|
18512
18523
|
* A list of components GUIDs to hide when defaultVisibility = true or to show when defaultVisibility = false
|
|
18513
18524
|
*/
|
|
18514
|
-
C(this, "exceptionComponents", new
|
|
18525
|
+
C(this, "exceptionComponents", new Pe());
|
|
18515
18526
|
/**
|
|
18516
18527
|
* A list of components GUIDs that should be selected (highlighted) when displaying a viewpoint.
|
|
18517
18528
|
*/
|
|
18518
|
-
C(this, "selectionComponents", new
|
|
18529
|
+
C(this, "selectionComponents", new Pe());
|
|
18519
18530
|
/**
|
|
18520
18531
|
* A map of colors and components GUIDs that should be colorized when displaying a viewpoint.
|
|
18521
18532
|
* For this to work, call viewpoint.colorize()
|
|
18522
18533
|
*/
|
|
18523
|
-
C(this, "componentColors", new
|
|
18534
|
+
C(this, "componentColors", new re());
|
|
18524
18535
|
/**
|
|
18525
18536
|
* Boolean flags to allow fine control over the visibility of spaces.
|
|
18526
18537
|
* A typical use of these flags is when DefaultVisibility=true but spaces should remain hidden.
|
|
@@ -18651,7 +18662,7 @@ class To {
|
|
|
18651
18662
|
*/
|
|
18652
18663
|
addComponentsFromMap(i) {
|
|
18653
18664
|
const e = this._components.get(Tt).fragmentIdMapToGuids(i);
|
|
18654
|
-
this.selectionComponents.add(...e), this._components.get(
|
|
18665
|
+
this.selectionComponents.add(...e), this._components.get(ie).list.set(this.guid, this);
|
|
18655
18666
|
}
|
|
18656
18667
|
/**
|
|
18657
18668
|
* Replace the properties of the viewpoint with the provided data.
|
|
@@ -18680,7 +18691,7 @@ class To {
|
|
|
18680
18691
|
}
|
|
18681
18692
|
n in this && (e[n] = r);
|
|
18682
18693
|
}
|
|
18683
|
-
return this._components.get(
|
|
18694
|
+
return this._components.get(ie).list.set(this.guid, this), this;
|
|
18684
18695
|
}
|
|
18685
18696
|
/**
|
|
18686
18697
|
* Sets the viewpoint of the camera in the world.
|
|
@@ -18711,7 +18722,7 @@ class To {
|
|
|
18711
18722
|
};
|
|
18712
18723
|
const r = this.selection;
|
|
18713
18724
|
if (Object.keys(r).length === 0) {
|
|
18714
|
-
const h = this._components.get(
|
|
18725
|
+
const h = this._components.get(ai).get(this.world).castRayFromVector(e, this.direction);
|
|
18715
18726
|
h && (n = h.point);
|
|
18716
18727
|
} else {
|
|
18717
18728
|
const a = this._components.get(wn);
|
|
@@ -18765,7 +18776,7 @@ class To {
|
|
|
18765
18776
|
} : s instanceof D.OrthographicCamera && (this.camera = {
|
|
18766
18777
|
...h,
|
|
18767
18778
|
viewToWorldScale: s.top - s.bottom
|
|
18768
|
-
}), this._components.get(
|
|
18779
|
+
}), this._components.get(ie).list.set(this.guid, this);
|
|
18769
18780
|
}
|
|
18770
18781
|
/**
|
|
18771
18782
|
* Applies color to the components in the viewpoint based on their GUIDs.
|
|
@@ -18778,7 +18789,7 @@ class To {
|
|
|
18778
18789
|
* The color is provided as a hexadecimal string, prefixed with a '#'.
|
|
18779
18790
|
*/
|
|
18780
18791
|
colorize() {
|
|
18781
|
-
const i = this._components.get(
|
|
18792
|
+
const i = this._components.get(ie), t = this._components.get(Tt), e = this._components.get(xi);
|
|
18782
18793
|
for (const [s, n] of this.componentColors) {
|
|
18783
18794
|
const r = t.guidToFragmentIdMap(n), o = new D.Color(`#${s}`);
|
|
18784
18795
|
e.setColor(
|
|
@@ -18794,7 +18805,7 @@ class To {
|
|
|
18794
18805
|
* corresponding to each color, and then uses the `Classifier` to reset the color of those fragments.
|
|
18795
18806
|
*/
|
|
18796
18807
|
resetColors() {
|
|
18797
|
-
const i = this._components.get(Tt), t = this._components.get(
|
|
18808
|
+
const i = this._components.get(Tt), t = this._components.get(xi);
|
|
18798
18809
|
for (const [e, s] of this.componentColors) {
|
|
18799
18810
|
const n = i.guidToFragmentIdMap(s);
|
|
18800
18811
|
t.resetColor(n);
|
|
@@ -18907,7 +18918,7 @@ class ih extends Ye {
|
|
|
18907
18918
|
this._config.overwriteColors.value = t;
|
|
18908
18919
|
}
|
|
18909
18920
|
}
|
|
18910
|
-
const
|
|
18921
|
+
const vi = class vi extends At {
|
|
18911
18922
|
constructor(t) {
|
|
18912
18923
|
super(t);
|
|
18913
18924
|
C(this, "enabled", !0);
|
|
@@ -18915,13 +18926,18 @@ const xs = class xs extends At {
|
|
|
18915
18926
|
* A DataMap that stores Viewpoint instances, indexed by their unique identifiers (guid).
|
|
18916
18927
|
* This map is used to manage and retrieve Viewpoint instances within the Viewpoints component.
|
|
18917
18928
|
*/
|
|
18918
|
-
C(this, "list", new
|
|
18929
|
+
C(this, "list", new re());
|
|
18919
18930
|
C(this, "isSetup", !1);
|
|
18920
18931
|
C(this, "onSetup", new Z());
|
|
18921
|
-
C(this, "config", new ih(
|
|
18932
|
+
C(this, "config", new ih(
|
|
18933
|
+
this,
|
|
18934
|
+
this.components,
|
|
18935
|
+
"Viewpoints",
|
|
18936
|
+
vi.uuid
|
|
18937
|
+
));
|
|
18922
18938
|
/** {@link Disposable.onDisposed} */
|
|
18923
18939
|
C(this, "onDisposed", new Z());
|
|
18924
|
-
t.add(
|
|
18940
|
+
t.add(vi.uuid, this);
|
|
18925
18941
|
}
|
|
18926
18942
|
/**
|
|
18927
18943
|
* Creates a new Viewpoint instance and adds it to the list.
|
|
@@ -18948,8 +18964,8 @@ const xs = class xs extends At {
|
|
|
18948
18964
|
this.list.dispose(), this.onDisposed.trigger(), this.onDisposed.reset();
|
|
18949
18965
|
}
|
|
18950
18966
|
};
|
|
18951
|
-
C(
|
|
18952
|
-
let
|
|
18967
|
+
C(vi, "uuid", "ee867824-a796-408d-8aa0-4e5962a83c66");
|
|
18968
|
+
let ie = vi;
|
|
18953
18969
|
class sh extends Ye {
|
|
18954
18970
|
constructor() {
|
|
18955
18971
|
super(...arguments);
|
|
@@ -19172,7 +19188,7 @@ class nh {
|
|
|
19172
19188
|
e * s / 2,
|
|
19173
19189
|
e / 2,
|
|
19174
19190
|
e / -2
|
|
19175
|
-
), this.world.renderer.onClippingPlanesUpdated.add(this.updatePlanes), this._camera.position.set(0, 200, 0), this._camera.zoom = 0.1, this._camera.rotation.x = -Math.PI / 2, this._plane = new D.Plane(this.down, 200), this.updatePlanes(), this.config = new sh(this, t, "MiniMap")
|
|
19191
|
+
), this.world.renderer.onClippingPlanesUpdated.add(this.updatePlanes), this._camera.position.set(0, 200, 0), this._camera.zoom = 0.1, this._camera.rotation.x = -Math.PI / 2, this._plane = new D.Plane(this.down, 200), this.updatePlanes(), this.config = new sh(this, t, "MiniMap");
|
|
19176
19192
|
}
|
|
19177
19193
|
/**
|
|
19178
19194
|
* Gets or sets whether the minimap rotation is locked.
|
|
@@ -19630,7 +19646,7 @@ class ks {
|
|
|
19630
19646
|
this.testResult.push(n);
|
|
19631
19647
|
}
|
|
19632
19648
|
}
|
|
19633
|
-
const
|
|
19649
|
+
const me = (c, i) => {
|
|
19634
19650
|
let t = "";
|
|
19635
19651
|
return i ? (i.type === "simple" && (t = `<ids:simpleValue>${i.parameter}</ids:simpleValue>`), i.type === "enumeration" && (t = `<xs:restriction base="xs:string">
|
|
19636
19652
|
${i.parameter.map((n) => `<xs:enumeration value="${n}" />`).join(`\r
|
|
@@ -19649,7 +19665,7 @@ class rh extends ks {
|
|
|
19649
19665
|
this.name = e;
|
|
19650
19666
|
}
|
|
19651
19667
|
serialize(t) {
|
|
19652
|
-
const e =
|
|
19668
|
+
const e = me("Name", this.name), s = me("Value", this.value);
|
|
19653
19669
|
let n = "";
|
|
19654
19670
|
return t === "requirement" && (n += `cardinality="${this.cardinality}"`, n += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:attribute ${n}>
|
|
19655
19671
|
${e}
|
|
@@ -19751,7 +19767,7 @@ class oh extends ks {
|
|
|
19751
19767
|
this.system = e;
|
|
19752
19768
|
}
|
|
19753
19769
|
serialize(t) {
|
|
19754
|
-
const e =
|
|
19770
|
+
const e = me("System", this.system), s = me("Value", this.value);
|
|
19755
19771
|
let n = "";
|
|
19756
19772
|
return t === "requirement" && (n += `cardinality="${this.cardinality}"`, n += this.uri ? `uri=${this.uri}` : "", n += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:classification ${n}>
|
|
19757
19773
|
${e}
|
|
@@ -19949,7 +19965,7 @@ class ah extends ks {
|
|
|
19949
19965
|
this.name = e;
|
|
19950
19966
|
}
|
|
19951
19967
|
serialize(t) {
|
|
19952
|
-
const e =
|
|
19968
|
+
const e = me("Name", this.name), s = me("Name", this.predefinedType);
|
|
19953
19969
|
let n = "";
|
|
19954
19970
|
return t === "requirement" && (n += `cardinality="${this.cardinality}"`, n += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:entity ${n}>
|
|
19955
19971
|
${e}
|
|
@@ -19959,7 +19975,7 @@ class ah extends ks {
|
|
|
19959
19975
|
// IFCSURFACESTYLEREFRACTION is not present in the FragmentsGroup
|
|
19960
19976
|
// IFCSURFACESTYLERENDERING is not present in the FragmentsGroup
|
|
19961
19977
|
async getEntities(t, e = {}) {
|
|
19962
|
-
const s = Object.entries(
|
|
19978
|
+
const s = Object.entries(ms), n = [];
|
|
19963
19979
|
for (const [a] of s)
|
|
19964
19980
|
await this.evalName({ type: a }) && n.push(Number(a));
|
|
19965
19981
|
let r = {};
|
|
@@ -19998,7 +20014,7 @@ class ah extends ks {
|
|
|
19998
20014
|
return this.testResult;
|
|
19999
20015
|
}
|
|
20000
20016
|
async evalName(t, e) {
|
|
20001
|
-
const s =
|
|
20017
|
+
const s = ms[t.type];
|
|
20002
20018
|
return this.evalRequirement(s, this.name, "Name", e);
|
|
20003
20019
|
}
|
|
20004
20020
|
async evalPredefinedType(t, e, s) {
|
|
@@ -20052,7 +20068,7 @@ class ch extends ks {
|
|
|
20052
20068
|
this.propertySet = e, this.baseName = s;
|
|
20053
20069
|
}
|
|
20054
20070
|
serialize(t) {
|
|
20055
|
-
const e =
|
|
20071
|
+
const e = me("PropertySet", this.propertySet), s = me("BaseName", this.baseName), n = me("Value", this.value), r = this.dataType ? `dataType=${this.dataType}` : "";
|
|
20056
20072
|
let o = "";
|
|
20057
20073
|
return t === "requirement" && (o += `cardinality="${this.cardinality}"`, o += this.uri ? `uri=${this.uri}` : "", o += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:property ${r} ${o}>
|
|
20058
20074
|
${e}
|
|
@@ -20293,12 +20309,12 @@ class lh {
|
|
|
20293
20309
|
constructor(i, t, e) {
|
|
20294
20310
|
C(this, "name");
|
|
20295
20311
|
C(this, "ifcVersion", /* @__PURE__ */ new Set());
|
|
20296
|
-
C(this, "identifier",
|
|
20312
|
+
C(this, "identifier", oe.create());
|
|
20297
20313
|
C(this, "description");
|
|
20298
20314
|
C(this, "instructions");
|
|
20299
20315
|
C(this, "requirementsDescription");
|
|
20300
|
-
C(this, "applicability", new
|
|
20301
|
-
C(this, "requirements", new
|
|
20316
|
+
C(this, "applicability", new Pe());
|
|
20317
|
+
C(this, "requirements", new Pe());
|
|
20302
20318
|
C(this, "components");
|
|
20303
20319
|
this.components = i, this.name = t;
|
|
20304
20320
|
for (const s of e)
|
|
@@ -20339,7 +20355,7 @@ class lh {
|
|
|
20339
20355
|
</ids:specification>`;
|
|
20340
20356
|
}
|
|
20341
20357
|
}
|
|
20342
|
-
const
|
|
20358
|
+
const Re = (c) => {
|
|
20343
20359
|
if (!c)
|
|
20344
20360
|
return;
|
|
20345
20361
|
const i = { type: "simple" };
|
|
@@ -20358,53 +20374,53 @@ const Ae = (c) => {
|
|
|
20358
20374
|
}, Xr = (c, i) => {
|
|
20359
20375
|
const t = [];
|
|
20360
20376
|
for (const e of i) {
|
|
20361
|
-
const s = e.name, n =
|
|
20377
|
+
const s = e.name, n = Re(s);
|
|
20362
20378
|
if (!n)
|
|
20363
20379
|
continue;
|
|
20364
20380
|
const r = new ah(c, n);
|
|
20365
|
-
e.cardinality && (r.cardinality = e.cardinality), r.predefinedType =
|
|
20381
|
+
e.cardinality && (r.cardinality = e.cardinality), r.predefinedType = Re(e.predefinedType), t.push(r);
|
|
20366
20382
|
}
|
|
20367
20383
|
return t;
|
|
20368
20384
|
}, hh = (c, i) => {
|
|
20369
20385
|
const t = [];
|
|
20370
20386
|
for (const e of i) {
|
|
20371
|
-
const s = e.name, n =
|
|
20387
|
+
const s = e.name, n = Re(s);
|
|
20372
20388
|
if (!n)
|
|
20373
20389
|
continue;
|
|
20374
20390
|
const r = new rh(c, n);
|
|
20375
|
-
e.cardinality && (r.cardinality = e.cardinality), r.value =
|
|
20391
|
+
e.cardinality && (r.cardinality = e.cardinality), r.value = Re(e.value), t.push(r);
|
|
20376
20392
|
}
|
|
20377
20393
|
return t;
|
|
20378
20394
|
}, uh = (c, i) => {
|
|
20379
20395
|
const t = [];
|
|
20380
20396
|
for (const e of i) {
|
|
20381
|
-
const s = e.system, n =
|
|
20397
|
+
const s = e.system, n = Re(s);
|
|
20382
20398
|
if (!n)
|
|
20383
20399
|
continue;
|
|
20384
20400
|
const r = new oh(c, n);
|
|
20385
20401
|
e.cardinality && (r.cardinality = e.cardinality);
|
|
20386
|
-
const o =
|
|
20402
|
+
const o = Re(e.value);
|
|
20387
20403
|
(o == null ? void 0 : o.type) === "simple" && (o.parameter = String(o.parameter)), (o == null ? void 0 : o.type) === "enumeration" && Array.isArray(o.parameter) && (o.parameter = o.parameter.map(String)), r.value = o, r.uri = e.uri, t.push(r);
|
|
20388
20404
|
}
|
|
20389
20405
|
return t;
|
|
20390
20406
|
}, fh = (c, i) => {
|
|
20391
20407
|
const t = [];
|
|
20392
20408
|
for (const e of i) {
|
|
20393
|
-
const s = e.propertySet, n = e.baseName, r =
|
|
20409
|
+
const s = e.propertySet, n = e.baseName, r = Re(s), o = Re(n);
|
|
20394
20410
|
if (!(o && r))
|
|
20395
20411
|
continue;
|
|
20396
20412
|
const a = new ch(c, r, o);
|
|
20397
20413
|
e.cardinality && (a.cardinality = e.cardinality);
|
|
20398
|
-
const l =
|
|
20414
|
+
const l = Re(e.value);
|
|
20399
20415
|
(l == null ? void 0 : l.type) === "enumeration" && Array.isArray(l.parameter) && (l.parameter = l.parameter.map(String)), a.value = l, a.dataType = e.dataType, a.uri = e.uri, t.push(a);
|
|
20400
20416
|
}
|
|
20401
20417
|
return t;
|
|
20402
|
-
},
|
|
20418
|
+
}, ni = class ni extends At {
|
|
20403
20419
|
constructor(t) {
|
|
20404
20420
|
super(t);
|
|
20405
20421
|
C(this, "enabled", !0);
|
|
20406
|
-
C(this, "list", new
|
|
20407
|
-
t.add(
|
|
20422
|
+
C(this, "list", new re());
|
|
20423
|
+
t.add(ni.uuid, this);
|
|
20408
20424
|
}
|
|
20409
20425
|
/**
|
|
20410
20426
|
* Retrieves a FragmentIdMap based on the given IDSCheckResult array.
|
|
@@ -20447,7 +20463,7 @@ const Ae = (c) => {
|
|
|
20447
20463
|
* @returns An array of IDSSpecification instances created from the parsed data.
|
|
20448
20464
|
*/
|
|
20449
20465
|
load(t) {
|
|
20450
|
-
const e = [], s =
|
|
20466
|
+
const e = [], s = ni.xmlParser.parse(t).ids, { specifications: n } = s;
|
|
20451
20467
|
if (n && n.specification) {
|
|
20452
20468
|
const r = Array.isArray(n.specification) ? n.specification : [n.specification];
|
|
20453
20469
|
for (const o of r) {
|
|
@@ -20512,7 +20528,7 @@ const Ae = (c) => {
|
|
|
20512
20528
|
export(t, e = this.list.values()) {
|
|
20513
20529
|
const s = e ?? this.list;
|
|
20514
20530
|
return `<ids:ids xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS">
|
|
20515
|
-
<!-- Made with That Open Engine ${
|
|
20531
|
+
<!-- Made with That Open Engine ${Cs.release} (https://github.com/thatopen/engine_components) -->
|
|
20516
20532
|
<ids:info>
|
|
20517
20533
|
<ids:title>${t.title}</ids:title>
|
|
20518
20534
|
${t.copyright ? `<ids:copyright>${t.copyright}</ids:copyright>` : ""}
|
|
@@ -20530,7 +20546,7 @@ const Ae = (c) => {
|
|
|
20530
20546
|
</ids:ids>`;
|
|
20531
20547
|
}
|
|
20532
20548
|
};
|
|
20533
|
-
C(
|
|
20549
|
+
C(ni, "uuid", "9f0b9f78-9b2e-481a-b766-2fbfd01f342c"), C(ni, "xmlParser", new Co.XMLParser({
|
|
20534
20550
|
allowBooleanAttributes: !0,
|
|
20535
20551
|
attributeNamePrefix: "",
|
|
20536
20552
|
ignoreAttributes: !1,
|
|
@@ -20543,9 +20559,9 @@ C(si, "uuid", "9f0b9f78-9b2e-481a-b766-2fbfd01f342c"), C(si, "xmlParser", new Co
|
|
|
20543
20559
|
removeNSPrefix: !0,
|
|
20544
20560
|
trimValues: !0
|
|
20545
20561
|
}));
|
|
20546
|
-
let $r =
|
|
20562
|
+
let $r = ni;
|
|
20547
20563
|
export {
|
|
20548
|
-
|
|
20564
|
+
Is as AsyncEvent,
|
|
20549
20565
|
Mt as BCFTopics,
|
|
20550
20566
|
Kl as BCFTopicsConfigManager,
|
|
20551
20567
|
xn as Base,
|
|
@@ -20554,18 +20570,18 @@ export {
|
|
|
20554
20570
|
Ga as BaseScene,
|
|
20555
20571
|
Bn as BaseWorldItem,
|
|
20556
20572
|
wn as BoundingBoxer,
|
|
20557
|
-
|
|
20573
|
+
xi as Classifier,
|
|
20558
20574
|
Sn as Clipper,
|
|
20559
20575
|
Pn as Comment,
|
|
20560
20576
|
At as Component,
|
|
20561
20577
|
ph as ComponentWithUI,
|
|
20562
|
-
|
|
20563
|
-
|
|
20578
|
+
Cs as Components,
|
|
20579
|
+
Ve as ConfigManager,
|
|
20564
20580
|
Ye as Configurator,
|
|
20565
20581
|
lc as CullerRenderer,
|
|
20566
20582
|
Fn as Cullers,
|
|
20567
|
-
|
|
20568
|
-
|
|
20583
|
+
re as DataMap,
|
|
20584
|
+
Pe as DataSet,
|
|
20569
20585
|
Me as Disposer,
|
|
20570
20586
|
Z as Event,
|
|
20571
20587
|
zr as Exploder,
|
|
@@ -20581,20 +20597,20 @@ export {
|
|
|
20581
20597
|
ch as IDSProperty,
|
|
20582
20598
|
lh as IDSSpecification,
|
|
20583
20599
|
$r as IDSSpecifications,
|
|
20584
|
-
|
|
20600
|
+
gs as IfcBasicQuery,
|
|
20585
20601
|
gh as IfcCategories,
|
|
20586
|
-
|
|
20602
|
+
ms as IfcCategoryMap,
|
|
20587
20603
|
Pc as IfcElements,
|
|
20588
20604
|
Gr as IfcFinder,
|
|
20589
|
-
|
|
20605
|
+
se as IfcFinderQuery,
|
|
20590
20606
|
Yn as IfcFragmentSettings,
|
|
20591
20607
|
kr as IfcGeometryTiler,
|
|
20592
20608
|
On as IfcJsonExporter,
|
|
20593
20609
|
Nn as IfcLoader,
|
|
20594
20610
|
yn as IfcPropertiesManager,
|
|
20595
20611
|
eh as IfcPropertiesTiler,
|
|
20596
|
-
|
|
20597
|
-
|
|
20612
|
+
ri as IfcPropertiesUtils,
|
|
20613
|
+
As as IfcPropertyQuery,
|
|
20598
20614
|
kt as IfcRelationsIndexer,
|
|
20599
20615
|
Jl as IfcStreamingSettings,
|
|
20600
20616
|
pr as MaterialsUtils,
|
|
@@ -20609,9 +20625,9 @@ export {
|
|
|
20609
20625
|
yc as PlanMode,
|
|
20610
20626
|
Lc as ProjectionManager,
|
|
20611
20627
|
th as PropertiesStreamingSettings,
|
|
20612
|
-
|
|
20628
|
+
ai as Raycasters,
|
|
20613
20629
|
Rh as ShadowedScene,
|
|
20614
|
-
|
|
20630
|
+
Ui as SimpleCamera,
|
|
20615
20631
|
Ec as SimpleGrid,
|
|
20616
20632
|
dc as SimpleGridConfigManager,
|
|
20617
20633
|
Vn as SimplePlane,
|
|
@@ -20620,12 +20636,12 @@ export {
|
|
|
20620
20636
|
ec as SimpleScene,
|
|
20621
20637
|
tc as SimpleSceneConfigManager,
|
|
20622
20638
|
Qa as SimpleWorld,
|
|
20623
|
-
|
|
20624
|
-
|
|
20639
|
+
Rs as Topic,
|
|
20640
|
+
oe as UUID,
|
|
20625
20641
|
Th as VertexPicker,
|
|
20626
20642
|
To as Viewpoint,
|
|
20627
|
-
|
|
20628
|
-
|
|
20643
|
+
ie as Viewpoints,
|
|
20644
|
+
Ts as Worlds,
|
|
20629
20645
|
Ql as extensionsImporter,
|
|
20630
20646
|
wc as ifcCategoryCase,
|
|
20631
20647
|
Dc as ifcRelAttrsPosition,
|