@thatopen/components 2.3.13 → 2.3.14
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/ifc/IfcPropertiesManager/index.d.ts +0 -1
- package/dist/index.cjs +16 -16
- package/dist/index.mjs +235 -244
- package/dist/namespace.d.ts +2373 -2374
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2,10 +2,10 @@ 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 ai, Plane as Dn, Line3 as Ee, Triangle as ii, 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 Po, CylinderGeometry as Vt, BoxGeometry as Ut, BufferGeometry as $n, Float32BufferAttribute as Zn, OctahedronGeometry as Gi, Line as
|
|
5
|
+
import { BufferAttribute as Zr, Vector3 as Q, Vector2 as ai, Plane as Dn, Line3 as Ee, Triangle as ii, 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 Po, CylinderGeometry as Vt, BoxGeometry as Ut, BufferGeometry as $n, Float32BufferAttribute as Zn, OctahedronGeometry as Gi, Line as Fe, SphereGeometry as _o, TorusGeometry as Ii, 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
|
-
import * as
|
|
8
|
+
import * as k from "web-ifc";
|
|
9
9
|
const Qr = 0, bo = 1, vo = 2, jn = 2, Ws = 1.25, qn = 1, Is = 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;
|
|
@@ -139,7 +139,7 @@ function ko(c, i) {
|
|
|
139
139
|
}
|
|
140
140
|
return n;
|
|
141
141
|
}
|
|
142
|
-
const Te = 32, Ho = (c, i) => c.candidate - i.candidate,
|
|
142
|
+
const Te = 32, Ho = (c, i) => c.candidate - i.candidate, Se = new Array(Te).fill().map(() => ({
|
|
143
143
|
count: 0,
|
|
144
144
|
bounds: new Float32Array(6),
|
|
145
145
|
rightCacheBounds: new Float32Array(6),
|
|
@@ -159,7 +159,7 @@ function Wo(c, i, t, e, s, n) {
|
|
|
159
159
|
for (let I = 0; I < 3; I++) {
|
|
160
160
|
const u = i[I], T = (i[I + 3] - u) / Te;
|
|
161
161
|
if (s < Te / 4) {
|
|
162
|
-
const p = [...
|
|
162
|
+
const p = [...Se];
|
|
163
163
|
p.length = s;
|
|
164
164
|
let m = 0;
|
|
165
165
|
for (let R = h; R < f; R += 6, m++) {
|
|
@@ -199,7 +199,7 @@ function Wo(c, i, t, e, s, n) {
|
|
|
199
199
|
}
|
|
200
200
|
} else {
|
|
201
201
|
for (let F = 0; F < Te; F++) {
|
|
202
|
-
const R =
|
|
202
|
+
const R = Se[F];
|
|
203
203
|
R.count = 0, R.candidate = u + T + F * T;
|
|
204
204
|
const S = R.bounds;
|
|
205
205
|
for (let O = 0; O < 3; O++)
|
|
@@ -208,18 +208,18 @@ function Wo(c, i, t, e, s, n) {
|
|
|
208
208
|
for (let F = h; F < f; F += 6) {
|
|
209
209
|
let O = ~~((t[F + 2 * I] - u) / T);
|
|
210
210
|
O >= Te && (O = Te - 1);
|
|
211
|
-
const y =
|
|
211
|
+
const y = Se[O];
|
|
212
212
|
y.count++, zi(F, t, y.bounds);
|
|
213
213
|
}
|
|
214
|
-
const p =
|
|
214
|
+
const p = Se[Te - 1];
|
|
215
215
|
Kn(p.bounds, p.rightCacheBounds);
|
|
216
216
|
for (let F = Te - 2; F >= 0; F--) {
|
|
217
|
-
const R =
|
|
217
|
+
const R = Se[F], S = Se[F + 1];
|
|
218
218
|
Jn(R.bounds, S.rightCacheBounds, R.rightCacheBounds);
|
|
219
219
|
}
|
|
220
220
|
let m = 0;
|
|
221
221
|
for (let F = 0; F < Te - 1; F++) {
|
|
222
|
-
const R =
|
|
222
|
+
const R = Se[F], S = R.count, O = R.bounds, w = Se[F + 1].rightCacheBounds;
|
|
223
223
|
S !== 0 && (m === 0 ? Kn(O, ki) : Jn(O, ki, ki)), m += S;
|
|
224
224
|
let L = 0, b = 0;
|
|
225
225
|
m !== 0 && (L = di(ki) / a);
|
|
@@ -362,7 +362,7 @@ function Qo(c, i) {
|
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
class
|
|
365
|
+
class Ae {
|
|
366
366
|
constructor() {
|
|
367
367
|
this.min = 1 / 0, this.max = -1 / 0;
|
|
368
368
|
}
|
|
@@ -386,7 +386,7 @@ class ge {
|
|
|
386
386
|
return this.min > i.max || i.min > this.max;
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
|
-
|
|
389
|
+
Ae.prototype.setFromBox = function() {
|
|
390
390
|
const c = new Q();
|
|
391
391
|
return function(t, e) {
|
|
392
392
|
const s = e.min, n = e.max;
|
|
@@ -459,7 +459,7 @@ function Zs(c) {
|
|
|
459
459
|
}
|
|
460
460
|
class ne extends ii {
|
|
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 Ae()), 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);
|
|
@@ -488,7 +488,7 @@ ne.prototype.closestPointToSegment = function() {
|
|
|
488
488
|
};
|
|
489
489
|
}();
|
|
490
490
|
ne.prototype.intersectsTriangle = function() {
|
|
491
|
-
const c = new ne(), i = new Array(3), t = new Array(3), e = new
|
|
491
|
+
const c = new ne(), i = new Array(3), t = new Array(3), e = new Ae(), s = new Ae(), 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;
|
|
@@ -596,7 +596,7 @@ ne.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 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
|
|
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 Ae()), this.alignedSatBounds = new Array(3).fill().map(() => new Ae()), 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 Ae();
|
|
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 ne(), i = new Array(3), t = new
|
|
642
|
+
const c = new ne(), i = new Array(3), t = new Ae(), e = new Ae(), 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;
|
|
@@ -1281,7 +1281,7 @@ function Ma(c, i, t, e = {}, s = {}, n = 0, r = 1 / 0) {
|
|
|
1281
1281
|
function Da() {
|
|
1282
1282
|
return typeof SharedArrayBuffer < "u";
|
|
1283
1283
|
}
|
|
1284
|
-
const wi = new Ft.constructor(), ps = new Ft.constructor(),
|
|
1284
|
+
const wi = new Ft.constructor(), ps = new Ft.constructor(), ye = new vn(() => new ae()), qe = 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)
|
|
@@ -1292,7 +1292,7 @@ function ba(c, i, t, e) {
|
|
|
1292
1292
|
const l = new pe().copy(t).invert();
|
|
1293
1293
|
for (let h = 0, f = s.length; h < f; h++) {
|
|
1294
1294
|
wi.setBuffer(s[h]), a = 0;
|
|
1295
|
-
const I =
|
|
1295
|
+
const I = ye.getPrimitive();
|
|
1296
1296
|
Nt(0, wi.float32Array, I), I.applyMatrix4(l);
|
|
1297
1297
|
for (let u = 0, d = n.length; u < d && (ps.setBuffer(n[h]), r = Kt(
|
|
1298
1298
|
0,
|
|
@@ -1307,7 +1307,7 @@ function ba(c, i, t, e) {
|
|
|
1307
1307
|
I
|
|
1308
1308
|
), ps.clearBuffer(), a += n[u].length, !r); u++)
|
|
1309
1309
|
;
|
|
1310
|
-
if (
|
|
1310
|
+
if (ye.releasePrimitive(I), wi.clearBuffer(), o += s[h].length, r)
|
|
1311
1311
|
break;
|
|
1312
1312
|
}
|
|
1313
1313
|
return tn = !1, r;
|
|
@@ -1338,7 +1338,7 @@ function Kt(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 (O) {
|
|
1341
|
-
const w =
|
|
1341
|
+
const w = ye.getPrimitive();
|
|
1342
1342
|
Nt(i, T, w), w.applyMatrix4(t);
|
|
1343
1343
|
const L = jt(c), b = qt(c, d);
|
|
1344
1344
|
Nt(L, u, qe), Nt(b, u, Qe);
|
|
@@ -1367,7 +1367,7 @@ function Kt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1367
1367
|
o + 1,
|
|
1368
1368
|
w,
|
|
1369
1369
|
!h
|
|
1370
|
-
),
|
|
1370
|
+
), ye.releasePrimitive(w);
|
|
1371
1371
|
} else {
|
|
1372
1372
|
const w = jt(i), L = qt(i, p);
|
|
1373
1373
|
Nt(w, T, Ks), Nt(L, T, Js);
|
|
@@ -1414,7 +1414,7 @@ function Kt(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 N =
|
|
1417
|
+
const N = ye.getPrimitive();
|
|
1418
1418
|
N.copy(Ks).applyMatrix4(t);
|
|
1419
1419
|
const M = jt(c), g = qt(c, d);
|
|
1420
1420
|
Nt(M, u, qe), Nt(g, u, Qe);
|
|
@@ -1443,7 +1443,7 @@ function Kt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1443
1443
|
o + 1,
|
|
1444
1444
|
N,
|
|
1445
1445
|
!h
|
|
1446
|
-
),
|
|
1446
|
+
), ye.releasePrimitive(N);
|
|
1447
1447
|
}
|
|
1448
1448
|
else if (Y)
|
|
1449
1449
|
if (S)
|
|
@@ -1461,7 +1461,7 @@ function Kt(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 N =
|
|
1464
|
+
const N = ye.getPrimitive();
|
|
1465
1465
|
N.copy(Js).applyMatrix4(t);
|
|
1466
1466
|
const M = jt(c), g = qt(c, d);
|
|
1467
1467
|
Nt(M, u, qe), Nt(g, u, Qe);
|
|
@@ -1490,7 +1490,7 @@ function Kt(c, i, t, e, s, n = 0, r = 0, o = 0, a = 0, l = null, h = !1) {
|
|
|
1490
1490
|
o + 1,
|
|
1491
1491
|
N,
|
|
1492
1492
|
!h
|
|
1493
|
-
),
|
|
1493
|
+
), ye.releasePrimitive(N);
|
|
1494
1494
|
}
|
|
1495
1495
|
}
|
|
1496
1496
|
return y;
|
|
@@ -2542,8 +2542,8 @@ function qa(c) {
|
|
|
2542
2542
|
while (Ct !== ft.edge);
|
|
2543
2543
|
const Ht = n.length - 2;
|
|
2544
2544
|
for (let Dt = 1, A = Ht; Dt <= A; Dt++) {
|
|
2545
|
-
const X = n[0].vertex,
|
|
2546
|
-
r.push(X.point.x, X.point.y, X.point.z), r.push(
|
|
2545
|
+
const X = n[0].vertex, z = n[Dt + 0].vertex, _ = n[Dt + 1].vertex;
|
|
2546
|
+
r.push(X.point.x, X.point.y, X.point.z), r.push(z.point.x, z.point.y, z.point.z), r.push(_.point.x, _.point.y, _.point.z);
|
|
2547
2547
|
}
|
|
2548
2548
|
}
|
|
2549
2549
|
const o = new D.Vector3(), a = new D.Vector3(), l = new D.Vector3(), h = new D.Vector3(), f = new D.Vector3(), I = new D.Vector3(), u = new D.Vector3(), d = new D.Vector3();
|
|
@@ -3137,7 +3137,7 @@ const Fs = class Fs {
|
|
|
3137
3137
|
/**
|
|
3138
3138
|
* The version of the @thatopen/components library.
|
|
3139
3139
|
*/
|
|
3140
|
-
C(Fs, "release", "2.3.
|
|
3140
|
+
C(Fs, "release", "2.3.14");
|
|
3141
3141
|
let Cs = Fs;
|
|
3142
3142
|
class Qa extends xn {
|
|
3143
3143
|
constructor() {
|
|
@@ -3615,7 +3615,7 @@ const ht = {
|
|
|
3615
3615
|
function ve(c) {
|
|
3616
3616
|
return c.isPerspectiveCamera;
|
|
3617
3617
|
}
|
|
3618
|
-
function
|
|
3618
|
+
function Ne(c) {
|
|
3619
3619
|
return c.isOrthographicCamera;
|
|
3620
3620
|
}
|
|
3621
3621
|
const Je = Math.PI * 2, Cr = Math.PI / 2, eo = 1e-5, Ri = Math.PI / 180;
|
|
@@ -3669,7 +3669,7 @@ function rn(c, i) {
|
|
|
3669
3669
|
}), i.x /= c.length, i.y /= c.length;
|
|
3670
3670
|
}
|
|
3671
3671
|
function on(c, i) {
|
|
3672
|
-
return
|
|
3672
|
+
return Ne(c) ? (console.warn(`${i} is not supported in OrthographicCamera`), !0) : !1;
|
|
3673
3673
|
}
|
|
3674
3674
|
class ic {
|
|
3675
3675
|
constructor() {
|
|
@@ -3812,7 +3812,7 @@ class vt extends ic {
|
|
|
3812
3812
|
if (ve(this._camera)) {
|
|
3813
3813
|
const L = ut.copy(this._camera.position).sub(this._target), b = this._camera.getEffectiveFOV() * Ri, Y = L.length() * Math.tan(b * 0.5);
|
|
3814
3814
|
y = this.truckSpeed * R * Y / this._elementRect.height, w = this.truckSpeed * S * Y / this._elementRect.height;
|
|
3815
|
-
} else if (
|
|
3815
|
+
} else if (Ne(this._camera)) {
|
|
3816
3816
|
const L = this._camera;
|
|
3817
3817
|
y = R * (L.right - L.left) / L.zoom / this._elementRect.width, w = S * (L.top - L.bottom) / L.zoom / this._elementRect.height;
|
|
3818
3818
|
} else
|
|
@@ -3836,10 +3836,10 @@ class vt extends ic {
|
|
|
3836
3836
|
left: H.ROTATE,
|
|
3837
3837
|
middle: H.DOLLY,
|
|
3838
3838
|
right: H.TRUCK,
|
|
3839
|
-
wheel: ve(this._camera) ? H.DOLLY :
|
|
3839
|
+
wheel: ve(this._camera) ? H.DOLLY : Ne(this._camera) ? H.ZOOM : H.NONE
|
|
3840
3840
|
}, this.touches = {
|
|
3841
3841
|
one: H.TOUCH_ROTATE,
|
|
3842
|
-
two: ve(this._camera) ? H.TOUCH_DOLLY_TRUCK :
|
|
3842
|
+
two: ve(this._camera) ? H.TOUCH_DOLLY_TRUCK : Ne(this._camera) ? H.TOUCH_ZOOM_TRUCK : H.NONE,
|
|
3843
3843
|
three: H.TOUCH_TRUCK
|
|
3844
3844
|
};
|
|
3845
3845
|
const e = new lt.Vector2(), s = new lt.Vector2(), n = new lt.Vector2(), r = (R) => {
|
|
@@ -4425,7 +4425,7 @@ class vt extends ic {
|
|
|
4425
4425
|
if (ve(this._camera)) {
|
|
4426
4426
|
const m = this.getDistanceToFitBox(T.x, T.y, T.z, e);
|
|
4427
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));
|
|
4428
|
-
} else if (
|
|
4428
|
+
} else if (Ne(this._camera)) {
|
|
4429
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);
|
|
4430
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));
|
|
4431
4431
|
}
|
|
@@ -4442,7 +4442,7 @@ class vt extends ic {
|
|
|
4442
4442
|
if (e.push(this.moveTo(n.center.x, n.center.y, n.center.z, t)), ve(this._camera)) {
|
|
4443
4443
|
const r = this.getDistanceToFitSphere(n.radius);
|
|
4444
4444
|
e.push(this.dollyTo(r, t));
|
|
4445
|
-
} else if (
|
|
4445
|
+
} else if (Ne(this._camera)) {
|
|
4446
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);
|
|
4447
4447
|
e.push(this.zoomTo(l, t));
|
|
4448
4448
|
}
|
|
@@ -4745,7 +4745,7 @@ class vt extends ic {
|
|
|
4745
4745
|
this._boundary.clampPoint(R, R);
|
|
4746
4746
|
const y = Et.subVectors(R, this._targetEnd);
|
|
4747
4747
|
this._targetEnd.copy(R), this._target.add(y), this._changedDolly -= f, gt(this._changedDolly) && (this._changedDolly = 0);
|
|
4748
|
-
} else if (
|
|
4748
|
+
} else if (Ne(this._camera) && this._changedZoom !== 0) {
|
|
4749
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 = ti.copy(u).add(d.multiplyScalar(-u.dot(I.up))), p = -(this._zoom - f - this._zoom) / this._zoom, m = this._getCameraDirection(Fi), F = this._targetEnd.dot(m), R = ut.copy(this._targetEnd).lerp(E, p), S = R.dot(m), O = m.multiplyScalar(S - F);
|
|
4750
4750
|
R.sub(O), this._boundary.clampPoint(R, R);
|
|
4751
4751
|
const y = Et.subVectors(R, this._targetEnd);
|
|
@@ -4860,7 +4860,7 @@ class vt extends ic {
|
|
|
4860
4860
|
if (ve(this._camera)) {
|
|
4861
4861
|
const i = this._camera, t = i.near, e = i.getEffectiveFOV() * Ri, s = Math.tan(e * 0.5) * t, n = s * i.aspect;
|
|
4862
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);
|
|
4863
|
-
} else if (
|
|
4863
|
+
} else if (Ne(this._camera)) {
|
|
4864
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;
|
|
4865
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);
|
|
4866
4866
|
}
|
|
@@ -6434,7 +6434,7 @@ const ys = class ys extends At {
|
|
|
6434
6434
|
*/
|
|
6435
6435
|
C(ys, "uuid", "d1e814d5-b81c-4452-87a2-f039375e0489");
|
|
6436
6436
|
let Or = ys;
|
|
6437
|
-
const xe = new yo(), bt = new Q(),
|
|
6437
|
+
const xe = new yo(), bt = new Q(), Oe = new Q(), Ot = new de(), Nr = {
|
|
6438
6438
|
X: new Q(1, 0, 0),
|
|
6439
6439
|
Y: new Q(0, 1, 0),
|
|
6440
6440
|
Z: new Q(0, 0, 1)
|
|
@@ -6493,10 +6493,10 @@ class pc extends In {
|
|
|
6493
6493
|
else if (e === "scale") {
|
|
6494
6494
|
if (t.search("XYZ") !== -1) {
|
|
6495
6495
|
let o = this.pointEnd.length() / this.pointStart.length();
|
|
6496
|
-
this.pointEnd.dot(this.pointStart) < 0 && (o *= -1),
|
|
6496
|
+
this.pointEnd.dot(this.pointStart) < 0 && (o *= -1), Oe.set(o, o, o);
|
|
6497
6497
|
} else
|
|
6498
|
-
bt.copy(this.pointStart),
|
|
6499
|
-
s.scale.copy(this._scaleStart).multiply(
|
|
6498
|
+
bt.copy(this.pointStart), Oe.copy(this.pointEnd), bt.applyQuaternion(this._worldQuaternionInv), Oe.applyQuaternion(this._worldQuaternionInv), Oe.divide(bt), t.search("X") === -1 && (Oe.x = 1), t.search("Y") === -1 && (Oe.y = 1), t.search("Z") === -1 && (Oe.z = 1);
|
|
6499
|
+
s.scale.copy(this._scaleStart).multiply(Oe), 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));
|
|
6500
6500
|
} else if (e === "rotate") {
|
|
6501
6501
|
this._offset.copy(this.pointEnd).sub(this.pointStart);
|
|
6502
6502
|
const o = 20 / this.worldPosition.distanceTo(bt.setFromMatrixPosition(this.camera.matrixWorld));
|
|
@@ -6707,16 +6707,16 @@ class Ac extends In {
|
|
|
6707
6707
|
[new rt(new Gi(0.01, 2), s), null, null, null, "helper"]
|
|
6708
6708
|
],
|
|
6709
6709
|
DELTA: [
|
|
6710
|
-
[new
|
|
6710
|
+
[new Fe(R(), s), null, null, null, "helper"]
|
|
6711
6711
|
],
|
|
6712
6712
|
X: [
|
|
6713
|
-
[new
|
|
6713
|
+
[new Fe(p, s.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
6714
6714
|
],
|
|
6715
6715
|
Y: [
|
|
6716
|
-
[new
|
|
6716
|
+
[new Fe(p, s.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
|
|
6717
6717
|
],
|
|
6718
6718
|
Z: [
|
|
6719
|
-
[new
|
|
6719
|
+
[new Fe(p, s.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
|
|
6720
6720
|
]
|
|
6721
6721
|
}, w = {
|
|
6722
6722
|
XYZE: [
|
|
@@ -6736,7 +6736,7 @@ class Ac extends In {
|
|
|
6736
6736
|
]
|
|
6737
6737
|
}, L = {
|
|
6738
6738
|
AXIS: [
|
|
6739
|
-
[new
|
|
6739
|
+
[new Fe(p, s.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
6740
6740
|
]
|
|
6741
6741
|
}, b = {
|
|
6742
6742
|
XYZE: [
|
|
@@ -6809,13 +6809,13 @@ class Ac extends In {
|
|
|
6809
6809
|
]
|
|
6810
6810
|
}, M = {
|
|
6811
6811
|
X: [
|
|
6812
|
-
[new
|
|
6812
|
+
[new Fe(p, s.clone()), [-1e3, 0, 0], null, [1e6, 1, 1], "helper"]
|
|
6813
6813
|
],
|
|
6814
6814
|
Y: [
|
|
6815
|
-
[new
|
|
6815
|
+
[new Fe(p, s.clone()), [0, -1e3, 0], [0, 0, Math.PI / 2], [1e6, 1, 1], "helper"]
|
|
6816
6816
|
],
|
|
6817
6817
|
Z: [
|
|
6818
|
-
[new
|
|
6818
|
+
[new Fe(p, s.clone()), [0, 0, -1e3], [0, -Math.PI / 2, 0], [1e6, 1, 1], "helper"]
|
|
6819
6819
|
]
|
|
6820
6820
|
};
|
|
6821
6821
|
function g(v) {
|
|
@@ -7648,105 +7648,105 @@ class Pc extends xi {
|
|
|
7648
7648
|
}
|
|
7649
7649
|
const Dr = /* @__PURE__ */ new Map([
|
|
7650
7650
|
[
|
|
7651
|
-
|
|
7651
|
+
k.IFCRELAGGREGATES,
|
|
7652
7652
|
{
|
|
7653
7653
|
forRelated: "Decomposes",
|
|
7654
7654
|
forRelating: "IsDecomposedBy"
|
|
7655
7655
|
}
|
|
7656
7656
|
],
|
|
7657
7657
|
[
|
|
7658
|
-
|
|
7658
|
+
k.IFCRELASSOCIATESMATERIAL,
|
|
7659
7659
|
{
|
|
7660
7660
|
forRelated: "HasAssociations",
|
|
7661
7661
|
forRelating: "AssociatedTo"
|
|
7662
7662
|
}
|
|
7663
7663
|
],
|
|
7664
7664
|
[
|
|
7665
|
-
|
|
7665
|
+
k.IFCRELASSOCIATESCLASSIFICATION,
|
|
7666
7666
|
{
|
|
7667
7667
|
forRelated: "HasAssociations",
|
|
7668
7668
|
forRelating: "ClassificationForObjects"
|
|
7669
7669
|
}
|
|
7670
7670
|
],
|
|
7671
7671
|
[
|
|
7672
|
-
|
|
7672
|
+
k.IFCRELASSIGNSTOGROUP,
|
|
7673
7673
|
{
|
|
7674
7674
|
forRelated: "HasAssignments",
|
|
7675
7675
|
forRelating: "IsGroupedBy"
|
|
7676
7676
|
}
|
|
7677
7677
|
],
|
|
7678
7678
|
[
|
|
7679
|
-
|
|
7679
|
+
k.IFCRELDEFINESBYPROPERTIES,
|
|
7680
7680
|
{
|
|
7681
7681
|
forRelated: "IsDefinedBy",
|
|
7682
7682
|
forRelating: "DefinesOcurrence"
|
|
7683
7683
|
}
|
|
7684
7684
|
],
|
|
7685
7685
|
[
|
|
7686
|
-
|
|
7686
|
+
k.IFCRELDEFINESBYTYPE,
|
|
7687
7687
|
{
|
|
7688
7688
|
forRelated: "IsTypedBy",
|
|
7689
7689
|
forRelating: "Types"
|
|
7690
7690
|
}
|
|
7691
7691
|
],
|
|
7692
7692
|
[
|
|
7693
|
-
|
|
7693
|
+
k.IFCRELDEFINESBYTEMPLATE,
|
|
7694
7694
|
{
|
|
7695
7695
|
forRelated: "IsDefinedBy",
|
|
7696
7696
|
forRelating: "Defines"
|
|
7697
7697
|
}
|
|
7698
7698
|
],
|
|
7699
7699
|
[
|
|
7700
|
-
|
|
7700
|
+
k.IFCRELCONTAINEDINSPATIALSTRUCTURE,
|
|
7701
7701
|
{
|
|
7702
7702
|
forRelated: "ContainedInStructure",
|
|
7703
7703
|
forRelating: "ContainsElements"
|
|
7704
7704
|
}
|
|
7705
7705
|
],
|
|
7706
7706
|
[
|
|
7707
|
-
|
|
7707
|
+
k.IFCRELFLOWCONTROLELEMENTS,
|
|
7708
7708
|
{
|
|
7709
7709
|
forRelated: "AssignedToFlowElement",
|
|
7710
7710
|
forRelating: "HasControlElements"
|
|
7711
7711
|
}
|
|
7712
7712
|
],
|
|
7713
7713
|
[
|
|
7714
|
-
|
|
7714
|
+
k.IFCRELCONNECTSELEMENTS,
|
|
7715
7715
|
{
|
|
7716
7716
|
forRelated: "ConnectedFrom",
|
|
7717
7717
|
forRelating: "ConnectedTo"
|
|
7718
7718
|
}
|
|
7719
7719
|
],
|
|
7720
7720
|
[
|
|
7721
|
-
|
|
7721
|
+
k.IFCRELASSIGNSTOPRODUCT,
|
|
7722
7722
|
{
|
|
7723
7723
|
forRelated: "HasAssignments",
|
|
7724
7724
|
forRelating: "ReferencedBy"
|
|
7725
7725
|
}
|
|
7726
7726
|
],
|
|
7727
7727
|
[
|
|
7728
|
-
|
|
7728
|
+
k.IFCRELDECLARES,
|
|
7729
7729
|
{
|
|
7730
7730
|
forRelated: "HasContext",
|
|
7731
7731
|
forRelating: "Declares"
|
|
7732
7732
|
}
|
|
7733
7733
|
],
|
|
7734
7734
|
[
|
|
7735
|
-
|
|
7735
|
+
k.IFCRELASSIGNSTOCONTROL,
|
|
7736
7736
|
{
|
|
7737
7737
|
forRelated: "HasAssignments",
|
|
7738
7738
|
forRelating: "Controls"
|
|
7739
7739
|
}
|
|
7740
7740
|
],
|
|
7741
7741
|
[
|
|
7742
|
-
|
|
7742
|
+
k.IFCRELNESTS,
|
|
7743
7743
|
{
|
|
7744
7744
|
forRelated: "Nests",
|
|
7745
7745
|
forRelating: "IsNestedBy"
|
|
7746
7746
|
}
|
|
7747
7747
|
],
|
|
7748
7748
|
[
|
|
7749
|
-
|
|
7749
|
+
k.IFCRELASSOCIATESDOCUMENT,
|
|
7750
7750
|
{
|
|
7751
7751
|
forRelated: "HasAssociations",
|
|
7752
7752
|
forRelating: "DocumentRefForObjects"
|
|
@@ -9047,7 +9047,7 @@ const ms = {
|
|
|
9047
9047
|
class oi {
|
|
9048
9048
|
static async getUnits(i) {
|
|
9049
9049
|
var r, o, a;
|
|
9050
|
-
const { IFCUNITASSIGNMENT: t } =
|
|
9050
|
+
const { IFCUNITASSIGNMENT: t } = k, e = await i.getAllPropertiesOfType(t);
|
|
9051
9051
|
if (!e)
|
|
9052
9052
|
return 1;
|
|
9053
9053
|
const s = Object.keys(e), n = e[parseInt(s[0], 10)];
|
|
@@ -9098,19 +9098,19 @@ class oi {
|
|
|
9098
9098
|
static async getQsetQuantities(i, t, e) {
|
|
9099
9099
|
const n = e ?? (() => {
|
|
9100
9100
|
}), r = await i.getProperties(t);
|
|
9101
|
-
return !r || r.type !==
|
|
9101
|
+
return !r || r.type !== k.IFCELEMENTQUANTITY ? null : (r.Quantities ?? [{}]).map((l) => (l.value && n(l.value), l.value)).filter((l) => l !== null);
|
|
9102
9102
|
}
|
|
9103
9103
|
static async getPsetProps(i, t, e) {
|
|
9104
9104
|
const n = e ?? (() => {
|
|
9105
9105
|
}), r = await i.getProperties(t);
|
|
9106
|
-
return !r || r.type !==
|
|
9106
|
+
return !r || r.type !== k.IFCPROPERTYSET ? null : (r.HasProperties ?? [{}]).map((l) => (l.value && n(l.value), l.value)).filter((l) => l !== null);
|
|
9107
9107
|
}
|
|
9108
9108
|
static async getPsetRel(i, t) {
|
|
9109
9109
|
var o;
|
|
9110
9110
|
if (!await i.getProperties(t))
|
|
9111
9111
|
return null;
|
|
9112
9112
|
const s = await i.getAllPropertiesOfType(
|
|
9113
|
-
|
|
9113
|
+
k.IFCRELDEFINESBYPROPERTIES
|
|
9114
9114
|
);
|
|
9115
9115
|
if (!s)
|
|
9116
9116
|
return null;
|
|
@@ -10340,7 +10340,7 @@ class Mc {
|
|
|
10340
10340
|
try {
|
|
10341
10341
|
const e = i.GetLineIDsWithType(
|
|
10342
10342
|
0,
|
|
10343
|
-
|
|
10343
|
+
k.IFCUNITASSIGNMENT
|
|
10344
10344
|
).get(0), s = i.GetLine(0, e);
|
|
10345
10345
|
for (const n of s.Units) {
|
|
10346
10346
|
if (!n || n.value === null || n.value === void 0)
|
|
@@ -10387,11 +10387,11 @@ class no {
|
|
|
10387
10387
|
try {
|
|
10388
10388
|
const t = i.GetLineIDsWithType(
|
|
10389
10389
|
0,
|
|
10390
|
-
|
|
10391
|
-
), e = /* @__PURE__ */ new Set(), s = i.GetLineIDsWithType(0,
|
|
10390
|
+
k.IFCRELCONTAINEDINSPATIALSTRUCTURE
|
|
10391
|
+
), e = /* @__PURE__ */ new Set(), s = i.GetLineIDsWithType(0, k.IFCSPACE);
|
|
10392
10392
|
for (let l = 0; l < s.size(); l++)
|
|
10393
10393
|
e.add(s.get(l));
|
|
10394
|
-
const n = i.GetLineIDsWithType(0,
|
|
10394
|
+
const n = i.GetLineIDsWithType(0, k.IFCRELAGGREGATES), r = n.size();
|
|
10395
10395
|
for (let l = 0; l < r; l++) {
|
|
10396
10396
|
const h = n.get(l), f = i.GetLine(0, h);
|
|
10397
10397
|
if (!f || !f.RelatingObject || !f.RelatedObjects)
|
|
@@ -10454,12 +10454,12 @@ class Yn {
|
|
|
10454
10454
|
* Generate the geometry for categories that are not included by default,
|
|
10455
10455
|
* like IFCSPACE.
|
|
10456
10456
|
*/
|
|
10457
|
-
C(this, "optionalCategories", [
|
|
10457
|
+
C(this, "optionalCategories", [k.IFCSPACE]);
|
|
10458
10458
|
/** Path of the WASM for [web-ifc](https://github.com/ThatOpen/engine_web-ifc). */
|
|
10459
10459
|
C(this, "wasm", {
|
|
10460
10460
|
path: "",
|
|
10461
10461
|
absolute: !1,
|
|
10462
|
-
logLevel:
|
|
10462
|
+
logLevel: k.LogLevel.LOG_LEVEL_OFF
|
|
10463
10463
|
});
|
|
10464
10464
|
/** List of categories that won't be converted to fragments. */
|
|
10465
10465
|
C(this, "excludedCategories", /* @__PURE__ */ new Set());
|
|
@@ -10544,7 +10544,7 @@ class ro {
|
|
|
10544
10544
|
class oo {
|
|
10545
10545
|
getNameInfo(i) {
|
|
10546
10546
|
var f;
|
|
10547
|
-
const t = {}, { arguments: e } = i.GetHeaderLine(0,
|
|
10547
|
+
const t = {}, { arguments: e } = i.GetHeaderLine(0, k.FILE_NAME) || {};
|
|
10548
10548
|
if (!e)
|
|
10549
10549
|
return t;
|
|
10550
10550
|
const [
|
|
@@ -10565,7 +10565,7 @@ class oo {
|
|
|
10565
10565
|
}
|
|
10566
10566
|
getDescriptionInfo(i) {
|
|
10567
10567
|
var r;
|
|
10568
|
-
const t = {}, { arguments: e } = i.GetHeaderLine(0,
|
|
10568
|
+
const t = {}, { arguments: e } = i.GetHeaderLine(0, k.FILE_DESCRIPTION) || {};
|
|
10569
10569
|
if (!e)
|
|
10570
10570
|
return t;
|
|
10571
10571
|
const [s, n] = e;
|
|
@@ -10579,15 +10579,15 @@ class oo {
|
|
|
10579
10579
|
class ao {
|
|
10580
10580
|
static get(i, t) {
|
|
10581
10581
|
const e = [
|
|
10582
|
-
|
|
10583
|
-
|
|
10584
|
-
|
|
10585
|
-
|
|
10586
|
-
|
|
10587
|
-
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10582
|
+
k.IFCPROJECT,
|
|
10583
|
+
k.IFCSITE,
|
|
10584
|
+
k.IFCBUILDING,
|
|
10585
|
+
k.IFCBUILDINGSTOREY,
|
|
10586
|
+
k.IFCSPACE,
|
|
10587
|
+
k.IFCROAD,
|
|
10588
|
+
k.IFCFACILITY,
|
|
10589
|
+
k.IFCFACILITYPART,
|
|
10590
|
+
k.IFCBRIDGE
|
|
10591
10591
|
], s = i.data;
|
|
10592
10592
|
for (const n of e) {
|
|
10593
10593
|
const r = t.GetLineIDsWithType(0, n), o = r.size();
|
|
@@ -10748,11 +10748,11 @@ const co = /* @__PURE__ */ new Set([
|
|
|
10748
10748
|
*/
|
|
10749
10749
|
async export(t, e, s = !1, n = !0) {
|
|
10750
10750
|
const r = {}, o = new Set(t.GetIfcEntityList(e)), a = /* @__PURE__ */ new Set([
|
|
10751
|
-
|
|
10752
|
-
|
|
10753
|
-
|
|
10754
|
-
|
|
10755
|
-
|
|
10751
|
+
k.IFCPROJECT,
|
|
10752
|
+
k.IFCSITE,
|
|
10753
|
+
k.IFCBUILDING,
|
|
10754
|
+
k.IFCBUILDINGSTOREY,
|
|
10755
|
+
k.IFCSPACE
|
|
10756
10756
|
]);
|
|
10757
10757
|
for (const l of a)
|
|
10758
10758
|
o.add(l);
|
|
@@ -10800,7 +10800,7 @@ const bi = class bi extends At {
|
|
|
10800
10800
|
/**
|
|
10801
10801
|
* The instance of the Web-IFC library used for handling IFC data.
|
|
10802
10802
|
*/
|
|
10803
|
-
C(this, "webIfc", new
|
|
10803
|
+
C(this, "webIfc", new k.IfcAPI());
|
|
10804
10804
|
/** {@link Component.enabled} */
|
|
10805
10805
|
C(this, "enabled", !0);
|
|
10806
10806
|
C(this, "_material", new D.MeshLambertMaterial());
|
|
@@ -10813,7 +10813,7 @@ const bi = class bi extends At {
|
|
|
10813
10813
|
transparent: !0,
|
|
10814
10814
|
opacity: 0.5
|
|
10815
10815
|
}));
|
|
10816
|
-
this.components.add(bi.uuid, this), this.settings.excludedCategories.add(
|
|
10816
|
+
this.components.add(bi.uuid, this), this.settings.excludedCategories.add(k.IFCOPENINGELEMENT);
|
|
10817
10817
|
}
|
|
10818
10818
|
/** {@link Disposable.dispose} */
|
|
10819
10819
|
dispose() {
|
|
@@ -10915,7 +10915,7 @@ const bi = class bi extends At {
|
|
|
10915
10915
|
} catch {
|
|
10916
10916
|
console.log("Web-ifc wasn't disposed.");
|
|
10917
10917
|
}
|
|
10918
|
-
this.webIfc = null, this.webIfc = new
|
|
10918
|
+
this.webIfc = null, this.webIfc = new k.IfcAPI(), this._visitedFragments.clear(), this._fragmentInstances.clear();
|
|
10919
10919
|
}
|
|
10920
10920
|
async getAllGeometries() {
|
|
10921
10921
|
this._spatialTree.setUp(this.webIfc);
|
|
@@ -10930,7 +10930,7 @@ const bi = class bi extends At {
|
|
|
10930
10930
|
};
|
|
10931
10931
|
const s = [];
|
|
10932
10932
|
for (const r of t) {
|
|
10933
|
-
if (!this.webIfc.IsIfcElement(r) && r !==
|
|
10933
|
+
if (!this.webIfc.IsIfcElement(r) && r !== k.IFCSPACE)
|
|
10934
10934
|
continue;
|
|
10935
10935
|
const o = this.settings.includedCategories;
|
|
10936
10936
|
if (o.size > 0 && !o.has(r))
|
|
@@ -11061,27 +11061,27 @@ const Dc = {
|
|
|
11061
11061
|
IfcRelDefinesByTemplate: { related: 5, relating: 6 }
|
|
11062
11062
|
}, bc = {
|
|
11063
11063
|
// IfcRelAssigns
|
|
11064
|
-
[
|
|
11065
|
-
[
|
|
11066
|
-
[
|
|
11064
|
+
[k.IFCRELASSIGNSTOCONTROL]: "IfcRelAssignsToControl",
|
|
11065
|
+
[k.IFCRELASSIGNSTOGROUP]: "IfcRelAssignsToGroup",
|
|
11066
|
+
[k.IFCRELASSIGNSTOPRODUCT]: "IfcRelAssignsToProduct",
|
|
11067
11067
|
// IfcRelAssociates
|
|
11068
|
-
[
|
|
11069
|
-
[
|
|
11070
|
-
[
|
|
11068
|
+
[k.IFCRELASSOCIATESCLASSIFICATION]: "IfcRelAssociatesClassification",
|
|
11069
|
+
[k.IFCRELASSOCIATESMATERIAL]: "IfcRelAssociatesMaterial",
|
|
11070
|
+
[k.IFCRELASSOCIATESDOCUMENT]: "IfcRelAssociatesDocument",
|
|
11071
11071
|
// IfcRelConnects
|
|
11072
|
-
[
|
|
11073
|
-
[
|
|
11074
|
-
[
|
|
11072
|
+
[k.IFCRELCONTAINEDINSPATIALSTRUCTURE]: "IfcRelContainedInSpatialStructure",
|
|
11073
|
+
[k.IFCRELCONNECTSELEMENTS]: "IfcRelConnectsElements",
|
|
11074
|
+
[k.IFCRELFLOWCONTROLELEMENTS]: "IfcRelFlowControlElements",
|
|
11075
11075
|
// IfcRelDeclares
|
|
11076
|
-
[
|
|
11076
|
+
[k.IFCRELDECLARES]: "IfcRelDeclares",
|
|
11077
11077
|
// IfcRelDecomposes
|
|
11078
|
-
[
|
|
11079
|
-
[
|
|
11078
|
+
[k.IFCRELAGGREGATES]: "IfcRelAggregates",
|
|
11079
|
+
[k.IFCRELNESTS]: "IfcRelNests",
|
|
11080
11080
|
// IfcRelDefines
|
|
11081
|
-
[
|
|
11082
|
-
[
|
|
11083
|
-
[
|
|
11084
|
-
},
|
|
11081
|
+
[k.IFCRELDEFINESBYPROPERTIES]: "IfcRelDefinesByProperties",
|
|
11082
|
+
[k.IFCRELDEFINESBYTYPE]: "IfcRelDefinesByType",
|
|
11083
|
+
[k.IFCRELDEFINESBYTEMPLATE]: "IfcRelDefinesByTemplate"
|
|
11084
|
+
}, me = class me extends At {
|
|
11085
11085
|
constructor(t) {
|
|
11086
11086
|
super(t);
|
|
11087
11087
|
/** {@link Disposable.onDisposed} */
|
|
@@ -11131,11 +11131,11 @@ const Dc = {
|
|
|
11131
11131
|
* Map of changed entities in the model.
|
|
11132
11132
|
*/
|
|
11133
11133
|
C(this, "changeMap", {});
|
|
11134
|
-
this.components.add(
|
|
11134
|
+
this.components.add(me.uuid, this);
|
|
11135
11135
|
}
|
|
11136
11136
|
/** {@link Disposable.dispose} */
|
|
11137
11137
|
dispose() {
|
|
11138
|
-
this.selectedModel = void 0, this.attributeListeners = {}, this.changeMap = {}, this.onElementToPset.reset(), this.onPropToPset.reset(), this.onPsetRemoved.reset(), this.onDataChanged.reset(), this.onDisposed.trigger(
|
|
11138
|
+
this.selectedModel = void 0, this.attributeListeners = {}, this.changeMap = {}, this.onElementToPset.reset(), this.onPropToPset.reset(), this.onPsetRemoved.reset(), this.onDataChanged.reset(), this.onDisposed.trigger(me.uuid), this.onDisposed.reset();
|
|
11139
11139
|
}
|
|
11140
11140
|
/**
|
|
11141
11141
|
* Static method to retrieve the IFC schema from a given model.
|
|
@@ -11181,23 +11181,14 @@ const Dc = {
|
|
|
11181
11181
|
* @throws Will throw an error if no OwnerHistory is found in the model.
|
|
11182
11182
|
*/
|
|
11183
11183
|
async newPset(t, e, s) {
|
|
11184
|
-
const n =
|
|
11184
|
+
const n = me.getIFCSchema(t), { ownerHistoryHandle: r } = await this.getOwnerHistory(t), o = this.newGUID(t), a = new k[n].IfcLabel(e), l = s ? new k[n].IfcText(s) : null, h = new k[n].IfcPropertySet(
|
|
11185
11185
|
o,
|
|
11186
11186
|
r,
|
|
11187
11187
|
a,
|
|
11188
11188
|
l,
|
|
11189
11189
|
[]
|
|
11190
11190
|
);
|
|
11191
|
-
h.expressID = this.getNewExpressID(t);
|
|
11192
|
-
const f = this.newGUID(t), I = new z[n].IfcRelDefinesByProperties(
|
|
11193
|
-
f,
|
|
11194
|
-
r,
|
|
11195
|
-
null,
|
|
11196
|
-
null,
|
|
11197
|
-
[],
|
|
11198
|
-
new z.Handle(h.expressID)
|
|
11199
|
-
);
|
|
11200
|
-
return I.expressID = this.getNewExpressID(t), await this.setData(t, h, I), { pset: h, rel: I };
|
|
11191
|
+
return h.expressID = this.getNewExpressID(t), await this.setData(t, h), { pset: h };
|
|
11201
11192
|
}
|
|
11202
11193
|
/**
|
|
11203
11194
|
* Removes a Property Set (Pset) from the given model.
|
|
@@ -11214,7 +11205,7 @@ const Dc = {
|
|
|
11214
11205
|
async removePset(t, ...e) {
|
|
11215
11206
|
for (const s of e) {
|
|
11216
11207
|
const n = await t.getProperties(s);
|
|
11217
|
-
if ((n == null ? void 0 : n.type) !==
|
|
11208
|
+
if ((n == null ? void 0 : n.type) !== k.IFCPROPERTYSET)
|
|
11218
11209
|
continue;
|
|
11219
11210
|
const r = await oi.getPsetRel(t, s);
|
|
11220
11211
|
if (r && (await t.setProperties(r, null), this.registerChange(t, r)), n) {
|
|
@@ -11286,7 +11277,7 @@ const Dc = {
|
|
|
11286
11277
|
*/
|
|
11287
11278
|
async removePsetProp(t, e, s) {
|
|
11288
11279
|
const n = await t.getProperties(e), r = await t.getProperties(s);
|
|
11289
|
-
!n || !r || n.type ===
|
|
11280
|
+
!n || !r || n.type === k.IFCPROPERTYSET && r && (n.HasProperties = n.HasProperties.filter((o) => o.value !== s), await t.setProperties(s, null), this.registerChange(t, e, s));
|
|
11290
11281
|
}
|
|
11291
11282
|
/**
|
|
11292
11283
|
* @deprecated Use indexer.addEntitiesRelation instead. This will be removed in future releases.
|
|
@@ -11295,7 +11286,7 @@ const Dc = {
|
|
|
11295
11286
|
this.components.get(Gt).addEntitiesRelation(
|
|
11296
11287
|
t,
|
|
11297
11288
|
e,
|
|
11298
|
-
{ type:
|
|
11289
|
+
{ type: k.IFCRELDEFINESBYPROPERTIES, inv: "DefinesOcurrence" },
|
|
11299
11290
|
...s
|
|
11300
11291
|
);
|
|
11301
11292
|
}
|
|
@@ -11318,7 +11309,7 @@ const Dc = {
|
|
|
11318
11309
|
for (const r of s) {
|
|
11319
11310
|
if (n.HasProperties.includes(r))
|
|
11320
11311
|
continue;
|
|
11321
|
-
const o = new
|
|
11312
|
+
const o = new k.Handle(r);
|
|
11322
11313
|
n.HasProperties.push(o), this.onPropToPset.trigger({ model: t, psetID: e, propID: r });
|
|
11323
11314
|
}
|
|
11324
11315
|
this.registerChange(t, e);
|
|
@@ -11340,16 +11331,16 @@ const Dc = {
|
|
|
11340
11331
|
const r = bc[e];
|
|
11341
11332
|
if (!r)
|
|
11342
11333
|
throw new Error(`IfcPropertiesManager: ${r} is unsoported.`);
|
|
11343
|
-
const o = t
|
|
11334
|
+
const o = me.getIFCSchema(t), a = Dc[r], l = k[o][r];
|
|
11344
11335
|
if (!(a && l))
|
|
11345
11336
|
throw new Error(`IfcPropertiesManager: ${r} is unsoported.`);
|
|
11346
|
-
const h = [new
|
|
11347
|
-
(p) => new
|
|
11337
|
+
const h = [new k[o].IfcGloballyUniqueId(oe.create())], { related: f, relating: I } = a, d = [...new Set(n)].map(
|
|
11338
|
+
(p) => new k.Handle(p)
|
|
11348
11339
|
), E = (p, m) => {
|
|
11349
11340
|
for (let F = p; F < m - 1; F++)
|
|
11350
11341
|
h.push(null);
|
|
11351
11342
|
};
|
|
11352
|
-
f < I ? (E(1, f), h.push(d), E(f, I), h.push(new
|
|
11343
|
+
f < I ? (E(1, f), h.push(d), E(f, I), h.push(new k.Handle(s))) : (E(1, I), E(I, f), h.push(new k.Handle(s)), h.push(d));
|
|
11353
11344
|
const T = new l(...h);
|
|
11354
11345
|
return await this.setData(t, T), T;
|
|
11355
11346
|
}
|
|
@@ -11390,7 +11381,7 @@ const Dc = {
|
|
|
11390
11381
|
return null;
|
|
11391
11382
|
const n = [];
|
|
11392
11383
|
for (const r in s) {
|
|
11393
|
-
const o = new
|
|
11384
|
+
const o = new k.Handle(Number(r));
|
|
11394
11385
|
n.push(o);
|
|
11395
11386
|
}
|
|
11396
11387
|
return n;
|
|
@@ -11439,16 +11430,16 @@ const Dc = {
|
|
|
11439
11430
|
return t.ifcMetadata.maxExpressID++, t.ifcMetadata.maxExpressID;
|
|
11440
11431
|
}
|
|
11441
11432
|
newGUID(t) {
|
|
11442
|
-
const e =
|
|
11443
|
-
return new
|
|
11433
|
+
const e = me.getIFCSchema(t);
|
|
11434
|
+
return new k[e].IfcGloballyUniqueId(oe.create());
|
|
11444
11435
|
}
|
|
11445
11436
|
async getOwnerHistory(t) {
|
|
11446
11437
|
const e = await t.getAllPropertiesOfType(
|
|
11447
|
-
|
|
11438
|
+
k.IFCOWNERHISTORY
|
|
11448
11439
|
);
|
|
11449
11440
|
if (!e)
|
|
11450
11441
|
throw new Error("No OwnerHistory was found.");
|
|
11451
|
-
const s = Object.keys(e).map((o) => parseInt(o, 10)), n = e[s[0]], r = new
|
|
11442
|
+
const s = Object.keys(e).map((o) => parseInt(o, 10)), n = e[s[0]], r = new k.Handle(n.expressID);
|
|
11452
11443
|
return { ownerHistory: n, ownerHistoryHandle: r };
|
|
11453
11444
|
}
|
|
11454
11445
|
registerChange(t, ...e) {
|
|
@@ -11457,7 +11448,7 @@ const Dc = {
|
|
|
11457
11448
|
this.changeMap[t.uuid].add(s), this.onDataChanged.trigger({ model: t, expressID: s });
|
|
11458
11449
|
}
|
|
11459
11450
|
async newSingleProperty(t, e, s, n) {
|
|
11460
|
-
const r =
|
|
11451
|
+
const r = me.getIFCSchema(t), o = new k[r].IfcIdentifier(s), a = new k[r][e](n), l = new k[r].IfcPropertySingleValue(
|
|
11461
11452
|
o,
|
|
11462
11453
|
null,
|
|
11463
11454
|
a,
|
|
@@ -11470,8 +11461,8 @@ const Dc = {
|
|
|
11470
11461
|
* A unique identifier for the component.
|
|
11471
11462
|
* This UUID is used to register the component within the Components system.
|
|
11472
11463
|
*/
|
|
11473
|
-
C(
|
|
11474
|
-
let yn =
|
|
11464
|
+
C(me, "uuid", "58c2d9f0-183c-48d6-a402-dfcf5b9a34df");
|
|
11465
|
+
let yn = me;
|
|
11475
11466
|
const vi = class vi extends At {
|
|
11476
11467
|
constructor(t) {
|
|
11477
11468
|
super(t);
|
|
@@ -11526,21 +11517,21 @@ const vi = class vi extends At {
|
|
|
11526
11517
|
"DocumentRefForObjects"
|
|
11527
11518
|
]);
|
|
11528
11519
|
C(this, "_ifcRels", [
|
|
11529
|
-
|
|
11530
|
-
|
|
11531
|
-
|
|
11532
|
-
|
|
11533
|
-
|
|
11534
|
-
|
|
11535
|
-
|
|
11536
|
-
|
|
11537
|
-
|
|
11538
|
-
|
|
11539
|
-
|
|
11540
|
-
|
|
11541
|
-
|
|
11542
|
-
|
|
11543
|
-
|
|
11520
|
+
k.IFCRELAGGREGATES,
|
|
11521
|
+
k.IFCRELASSOCIATESMATERIAL,
|
|
11522
|
+
k.IFCRELASSOCIATESCLASSIFICATION,
|
|
11523
|
+
k.IFCRELASSIGNSTOGROUP,
|
|
11524
|
+
k.IFCRELDEFINESBYPROPERTIES,
|
|
11525
|
+
k.IFCRELDEFINESBYTYPE,
|
|
11526
|
+
k.IFCRELDEFINESBYTEMPLATE,
|
|
11527
|
+
k.IFCRELCONTAINEDINSPATIALSTRUCTURE,
|
|
11528
|
+
k.IFCRELFLOWCONTROLELEMENTS,
|
|
11529
|
+
k.IFCRELCONNECTSELEMENTS,
|
|
11530
|
+
k.IFCRELASSIGNSTOPRODUCT,
|
|
11531
|
+
k.IFCRELDECLARES,
|
|
11532
|
+
k.IFCRELASSIGNSTOCONTROL,
|
|
11533
|
+
k.IFCRELNESTS,
|
|
11534
|
+
k.IFCRELASSOCIATESDOCUMENT
|
|
11544
11535
|
]);
|
|
11545
11536
|
C(this, "onFragmentsDisposed", (t) => {
|
|
11546
11537
|
delete this.relationMaps[t.groupID];
|
|
@@ -11858,7 +11849,7 @@ const vi = class vi extends At {
|
|
|
11858
11849
|
const d = Object.keys(u), E = d.find((p) => p.startsWith("Related")), T = d.find((p) => p.startsWith("Relating"));
|
|
11859
11850
|
if (!(E && T))
|
|
11860
11851
|
continue;
|
|
11861
|
-
u[E] = [...f].map((p) => new
|
|
11852
|
+
u[E] = [...f].map((p) => new k.Handle(p)), u[T] = new k.Handle(l), await e.setData(n, u);
|
|
11862
11853
|
} else {
|
|
11863
11854
|
const u = await e.createIfcRel(
|
|
11864
11855
|
n,
|
|
@@ -13719,8 +13710,8 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13719
13710
|
A[X] = 0;
|
|
13720
13711
|
}
|
|
13721
13712
|
function V(A) {
|
|
13722
|
-
var X = A.state,
|
|
13723
|
-
|
|
13713
|
+
var X = A.state, z = X.pending;
|
|
13714
|
+
z > A.avail_out && (z = A.avail_out), z !== 0 && (r.arraySet(A.output, X.pending_buf, X.pending_out, z, A.next_out), A.next_out += z, X.pending_out += z, A.total_out += z, A.avail_out -= z, X.pending -= z, X.pending === 0 && (X.pending_out = 0));
|
|
13724
13715
|
}
|
|
13725
13716
|
function x(A, X) {
|
|
13726
13717
|
o._tr_flush_block(A, 0 <= A.block_start ? A.block_start : -1, A.strstart - A.block_start, X), A.block_start = A.strstart, V(A.strm);
|
|
@@ -13732,14 +13723,14 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13732
13723
|
A.pending_buf[A.pending++] = X >>> 8 & 255, A.pending_buf[A.pending++] = 255 & X;
|
|
13733
13724
|
}
|
|
13734
13725
|
function tt(A, X) {
|
|
13735
|
-
var
|
|
13726
|
+
var z, _, P = A.max_chain_length, U = A.strstart, $ = A.prev_length, Z = A.nice_match, B = A.strstart > A.w_size - Y ? A.strstart - (A.w_size - Y) : 0, K = A.window, st = A.w_mask, J = A.prev, ct = A.strstart + b, Rt = K[U + $ - 1], dt = K[U + $];
|
|
13736
13727
|
A.prev_length >= A.good_match && (P >>= 2), Z > A.lookahead && (Z = A.lookahead);
|
|
13737
13728
|
do
|
|
13738
|
-
if (K[(
|
|
13739
|
-
U += 2,
|
|
13729
|
+
if (K[(z = X) + $] === dt && K[z + $ - 1] === Rt && K[z] === K[U] && K[++z] === K[U + 1]) {
|
|
13730
|
+
U += 2, z++;
|
|
13740
13731
|
do
|
|
13741
13732
|
;
|
|
13742
|
-
while (K[++U] === K[++
|
|
13733
|
+
while (K[++U] === K[++z] && K[++U] === K[++z] && K[++U] === K[++z] && K[++U] === K[++z] && K[++U] === K[++z] && K[++U] === K[++z] && K[++U] === K[++z] && K[++U] === K[++z] && U < ct);
|
|
13743
13734
|
if (_ = b - (ct - U), U = ct - b, $ < _) {
|
|
13744
13735
|
if (A.match_start = X, Z <= ($ = _))
|
|
13745
13736
|
break;
|
|
@@ -13750,33 +13741,33 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13750
13741
|
return $ <= A.lookahead ? $ : A.lookahead;
|
|
13751
13742
|
}
|
|
13752
13743
|
function St(A) {
|
|
13753
|
-
var X,
|
|
13744
|
+
var X, z, _, P, U, $, Z, B, K, st, J = A.w_size;
|
|
13754
13745
|
do {
|
|
13755
13746
|
if (P = A.window_size - A.lookahead - A.strstart, A.strstart >= J + (J - Y)) {
|
|
13756
|
-
for (r.arraySet(A.window, A.window, J, J, 0), A.match_start -= J, A.strstart -= J, A.block_start -= J, X =
|
|
13747
|
+
for (r.arraySet(A.window, A.window, J, J, 0), A.match_start -= J, A.strstart -= J, A.block_start -= J, X = z = A.hash_size; _ = A.head[--X], A.head[X] = J <= _ ? _ - J : 0, --z; )
|
|
13757
13748
|
;
|
|
13758
|
-
for (X =
|
|
13749
|
+
for (X = z = J; _ = A.prev[--X], A.prev[X] = J <= _ ? _ - J : 0, --z; )
|
|
13759
13750
|
;
|
|
13760
13751
|
P += J;
|
|
13761
13752
|
}
|
|
13762
13753
|
if (A.strm.avail_in === 0)
|
|
13763
13754
|
break;
|
|
13764
|
-
if ($ = A.strm, Z = A.window, B = A.strstart + A.lookahead, K = P, st = void 0, st = $.avail_in, K < st && (st = K),
|
|
13755
|
+
if ($ = A.strm, Z = A.window, B = A.strstart + A.lookahead, K = P, st = void 0, st = $.avail_in, K < st && (st = K), z = st === 0 ? 0 : ($.avail_in -= st, r.arraySet(Z, $.input, $.next_in, st, B), $.state.wrap === 1 ? $.adler = a($.adler, Z, st, B) : $.state.wrap === 2 && ($.adler = l($.adler, Z, st, B)), $.next_in += st, $.total_in += st, st), A.lookahead += z, A.lookahead + A.insert >= L)
|
|
13765
13756
|
for (U = A.strstart - A.insert, A.ins_h = A.window[U], A.ins_h = (A.ins_h << A.hash_shift ^ A.window[U + 1]) & A.hash_mask; A.insert && (A.ins_h = (A.ins_h << A.hash_shift ^ A.window[U + L - 1]) & A.hash_mask, A.prev[U & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = U, U++, A.insert--, !(A.lookahead + A.insert < L)); )
|
|
13766
13757
|
;
|
|
13767
13758
|
} while (A.lookahead < Y && A.strm.avail_in !== 0);
|
|
13768
13759
|
}
|
|
13769
13760
|
function yt(A, X) {
|
|
13770
|
-
for (var
|
|
13761
|
+
for (var z, _; ; ) {
|
|
13771
13762
|
if (A.lookahead < Y) {
|
|
13772
13763
|
if (St(A), A.lookahead < Y && X === f)
|
|
13773
13764
|
return g;
|
|
13774
13765
|
if (A.lookahead === 0)
|
|
13775
13766
|
break;
|
|
13776
13767
|
}
|
|
13777
|
-
if (
|
|
13768
|
+
if (z = 0, A.lookahead >= L && (A.ins_h = (A.ins_h << A.hash_shift ^ A.window[A.strstart + L - 1]) & A.hash_mask, z = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart), z !== 0 && A.strstart - z <= A.w_size - Y && (A.match_length = tt(A, z)), A.match_length >= L)
|
|
13778
13769
|
if (_ = o._tr_tally(A, A.strstart - A.match_start, A.match_length - L), A.lookahead -= A.match_length, A.match_length <= A.max_lazy_match && A.lookahead >= L) {
|
|
13779
|
-
for (A.match_length--; A.strstart++, A.ins_h = (A.ins_h << A.hash_shift ^ A.window[A.strstart + L - 1]) & A.hash_mask,
|
|
13770
|
+
for (A.match_length--; A.strstart++, A.ins_h = (A.ins_h << A.hash_shift ^ A.window[A.strstart + L - 1]) & A.hash_mask, z = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart, --A.match_length != 0; )
|
|
13780
13771
|
;
|
|
13781
13772
|
A.strstart++;
|
|
13782
13773
|
} else
|
|
@@ -13789,15 +13780,15 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13789
13780
|
return A.insert = A.strstart < L - 1 ? A.strstart : L - 1, X === I ? (x(A, !0), A.strm.avail_out === 0 ? q : G) : A.last_lit && (x(A, !1), A.strm.avail_out === 0) ? g : v;
|
|
13790
13781
|
}
|
|
13791
13782
|
function at(A, X) {
|
|
13792
|
-
for (var
|
|
13783
|
+
for (var z, _, P; ; ) {
|
|
13793
13784
|
if (A.lookahead < Y) {
|
|
13794
13785
|
if (St(A), A.lookahead < Y && X === f)
|
|
13795
13786
|
return g;
|
|
13796
13787
|
if (A.lookahead === 0)
|
|
13797
13788
|
break;
|
|
13798
13789
|
}
|
|
13799
|
-
if (
|
|
13800
|
-
for (P = A.strstart + A.lookahead - L, _ = o._tr_tally(A, A.strstart - 1 - A.prev_match, A.prev_length - L), A.lookahead -= A.prev_length - 1, A.prev_length -= 2; ++A.strstart <= P && (A.ins_h = (A.ins_h << A.hash_shift ^ A.window[A.strstart + L - 1]) & A.hash_mask,
|
|
13790
|
+
if (z = 0, A.lookahead >= L && (A.ins_h = (A.ins_h << A.hash_shift ^ A.window[A.strstart + L - 1]) & A.hash_mask, z = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart), A.prev_length = A.match_length, A.prev_match = A.match_start, A.match_length = L - 1, z !== 0 && A.prev_length < A.max_lazy_match && A.strstart - z <= A.w_size - Y && (A.match_length = tt(A, z), A.match_length <= 5 && (A.strategy === 1 || A.match_length === L && 4096 < A.strstart - A.match_start) && (A.match_length = L - 1)), A.prev_length >= L && A.match_length <= A.prev_length) {
|
|
13791
|
+
for (P = A.strstart + A.lookahead - L, _ = o._tr_tally(A, A.strstart - 1 - A.prev_match, A.prev_length - L), A.lookahead -= A.prev_length - 1, A.prev_length -= 2; ++A.strstart <= P && (A.ins_h = (A.ins_h << A.hash_shift ^ A.window[A.strstart + L - 1]) & A.hash_mask, z = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart), --A.prev_length != 0; )
|
|
13801
13792
|
;
|
|
13802
13793
|
if (A.match_available = 0, A.match_length = L - 1, A.strstart++, _ && (x(A, !1), A.strm.avail_out === 0))
|
|
13803
13794
|
return g;
|
|
@@ -13809,8 +13800,8 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13809
13800
|
}
|
|
13810
13801
|
return A.match_available && (_ = o._tr_tally(A, 0, A.window[A.strstart - 1]), A.match_available = 0), A.insert = A.strstart < L - 1 ? A.strstart : L - 1, X === I ? (x(A, !0), A.strm.avail_out === 0 ? q : G) : A.last_lit && (x(A, !1), A.strm.avail_out === 0) ? g : v;
|
|
13811
13802
|
}
|
|
13812
|
-
function It(A, X,
|
|
13813
|
-
this.good_length = A, this.max_lazy = X, this.nice_length =
|
|
13803
|
+
function It(A, X, z, _, P) {
|
|
13804
|
+
this.good_length = A, this.max_lazy = X, this.nice_length = z, this.max_chain = _, this.func = P;
|
|
13814
13805
|
}
|
|
13815
13806
|
function ft() {
|
|
13816
13807
|
this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = m, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new r.Buf16(2 * y), this.dyn_dtree = new r.Buf16(2 * (2 * S + 1)), this.bl_tree = new r.Buf16(2 * (2 * O + 1)), nt(this.dyn_ltree), nt(this.dyn_dtree), nt(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new r.Buf16(w + 1), this.heap = new r.Buf16(2 * R + 1), nt(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new r.Buf16(2 * R + 1), nt(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
|
|
@@ -13821,23 +13812,23 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13821
13812
|
}
|
|
13822
13813
|
function Ht(A) {
|
|
13823
13814
|
var X = Ct(A);
|
|
13824
|
-
return X === u && function(
|
|
13825
|
-
|
|
13815
|
+
return X === u && function(z) {
|
|
13816
|
+
z.window_size = 2 * z.w_size, nt(z.head), z.max_lazy_match = n[z.level].max_lazy, z.good_match = n[z.level].good_length, z.nice_match = n[z.level].nice_length, z.max_chain_length = n[z.level].max_chain, z.strstart = 0, z.block_start = 0, z.lookahead = 0, z.insert = 0, z.match_length = z.prev_length = L - 1, z.match_available = 0, z.ins_h = 0;
|
|
13826
13817
|
}(A.state), X;
|
|
13827
13818
|
}
|
|
13828
|
-
function Dt(A, X,
|
|
13819
|
+
function Dt(A, X, z, _, P, U) {
|
|
13829
13820
|
if (!A)
|
|
13830
13821
|
return d;
|
|
13831
13822
|
var $ = 1;
|
|
13832
|
-
if (X === E && (X = 6), _ < 0 ? ($ = 0, _ = -_) : 15 < _ && ($ = 2, _ -= 16), P < 1 || F < P ||
|
|
13823
|
+
if (X === E && (X = 6), _ < 0 ? ($ = 0, _ = -_) : 15 < _ && ($ = 2, _ -= 16), P < 1 || F < P || z !== m || _ < 8 || 15 < _ || X < 0 || 9 < X || U < 0 || T < U)
|
|
13833
13824
|
return et(A, d);
|
|
13834
13825
|
_ === 8 && (_ = 9);
|
|
13835
13826
|
var Z = new ft();
|
|
13836
|
-
return (A.state = Z).strm = A, Z.wrap = $, Z.gzhead = null, Z.w_bits = _, Z.w_size = 1 << Z.w_bits, Z.w_mask = Z.w_size - 1, Z.hash_bits = P + 7, Z.hash_size = 1 << Z.hash_bits, Z.hash_mask = Z.hash_size - 1, Z.hash_shift = ~~((Z.hash_bits + L - 1) / L), Z.window = new r.Buf8(2 * Z.w_size), Z.head = new r.Buf16(Z.hash_size), Z.prev = new r.Buf16(Z.w_size), Z.lit_bufsize = 1 << P + 6, Z.pending_buf_size = 4 * Z.lit_bufsize, Z.pending_buf = new r.Buf8(Z.pending_buf_size), Z.d_buf = 1 * Z.lit_bufsize, Z.l_buf = 3 * Z.lit_bufsize, Z.level = X, Z.strategy = U, Z.method =
|
|
13827
|
+
return (A.state = Z).strm = A, Z.wrap = $, Z.gzhead = null, Z.w_bits = _, Z.w_size = 1 << Z.w_bits, Z.w_mask = Z.w_size - 1, Z.hash_bits = P + 7, Z.hash_size = 1 << Z.hash_bits, Z.hash_mask = Z.hash_size - 1, Z.hash_shift = ~~((Z.hash_bits + L - 1) / L), Z.window = new r.Buf8(2 * Z.w_size), Z.head = new r.Buf16(Z.hash_size), Z.prev = new r.Buf16(Z.w_size), Z.lit_bufsize = 1 << P + 6, Z.pending_buf_size = 4 * Z.lit_bufsize, Z.pending_buf = new r.Buf8(Z.pending_buf_size), Z.d_buf = 1 * Z.lit_bufsize, Z.l_buf = 3 * Z.lit_bufsize, Z.level = X, Z.strategy = U, Z.method = z, Ht(A);
|
|
13837
13828
|
}
|
|
13838
13829
|
n = [new It(0, 0, 0, 0, function(A, X) {
|
|
13839
|
-
var
|
|
13840
|
-
for (
|
|
13830
|
+
var z = 65535;
|
|
13831
|
+
for (z > A.pending_buf_size - 5 && (z = A.pending_buf_size - 5); ; ) {
|
|
13841
13832
|
if (A.lookahead <= 1) {
|
|
13842
13833
|
if (St(A), A.lookahead === 0 && X === f)
|
|
13843
13834
|
return g;
|
|
@@ -13845,7 +13836,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13845
13836
|
break;
|
|
13846
13837
|
}
|
|
13847
13838
|
A.strstart += A.lookahead, A.lookahead = 0;
|
|
13848
|
-
var _ = A.block_start +
|
|
13839
|
+
var _ = A.block_start + z;
|
|
13849
13840
|
if ((A.strstart === 0 || A.strstart >= _) && (A.lookahead = A.strstart - _, A.strstart = _, x(A, !1), A.strm.avail_out === 0) || A.strstart - A.block_start >= A.w_size - Y && (x(A, !1), A.strm.avail_out === 0))
|
|
13850
13841
|
return g;
|
|
13851
13842
|
}
|
|
@@ -13855,12 +13846,12 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13855
13846
|
}, s.deflateInit2 = Dt, s.deflateReset = Ht, s.deflateResetKeep = Ct, s.deflateSetHeader = function(A, X) {
|
|
13856
13847
|
return A && A.state ? A.state.wrap !== 2 ? d : (A.state.gzhead = X, u) : d;
|
|
13857
13848
|
}, s.deflate = function(A, X) {
|
|
13858
|
-
var
|
|
13849
|
+
var z, _, P, U;
|
|
13859
13850
|
if (!A || !A.state || 5 < X || X < 0)
|
|
13860
13851
|
return A ? et(A, d) : d;
|
|
13861
13852
|
if (_ = A.state, !A.output || !A.input && A.avail_in !== 0 || _.status === 666 && X !== I)
|
|
13862
13853
|
return et(A, A.avail_out === 0 ? -5 : d);
|
|
13863
|
-
if (_.strm = A,
|
|
13854
|
+
if (_.strm = A, z = _.last_flush, _.last_flush = X, _.status === N)
|
|
13864
13855
|
if (_.wrap === 2)
|
|
13865
13856
|
A.adler = 0, ot(_, 31), ot(_, 139), ot(_, 8), _.gzhead ? (ot(_, (_.gzhead.text ? 1 : 0) + (_.gzhead.hcrc ? 2 : 0) + (_.gzhead.extra ? 4 : 0) + (_.gzhead.name ? 8 : 0) + (_.gzhead.comment ? 16 : 0)), ot(_, 255 & _.gzhead.time), ot(_, _.gzhead.time >> 8 & 255), ot(_, _.gzhead.time >> 16 & 255), ot(_, _.gzhead.time >> 24 & 255), ot(_, _.level === 9 ? 2 : 2 <= _.strategy || _.level < 2 ? 4 : 0), ot(_, 255 & _.gzhead.os), _.gzhead.extra && _.gzhead.extra.length && (ot(_, 255 & _.gzhead.extra.length), ot(_, _.gzhead.extra.length >> 8 & 255)), _.gzhead.hcrc && (A.adler = l(A.adler, _.pending_buf, _.pending, 0)), _.gzindex = 0, _.status = 69) : (ot(_, 0), ot(_, 0), ot(_, 0), ot(_, 0), ot(_, 0), ot(_, _.level === 9 ? 2 : 2 <= _.strategy || _.level < 2 ? 4 : 0), ot(_, 3), _.status = M);
|
|
13866
13857
|
else {
|
|
@@ -13903,7 +13894,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13903
13894
|
if (_.status === 103 && (_.gzhead.hcrc ? (_.pending + 2 > _.pending_buf_size && V(A), _.pending + 2 <= _.pending_buf_size && (ot(_, 255 & A.adler), ot(_, A.adler >> 8 & 255), A.adler = 0, _.status = M)) : _.status = M), _.pending !== 0) {
|
|
13904
13895
|
if (V(A), A.avail_out === 0)
|
|
13905
13896
|
return _.last_flush = -1, u;
|
|
13906
|
-
} else if (A.avail_in === 0 && W(X) <= W(
|
|
13897
|
+
} else if (A.avail_in === 0 && W(X) <= W(z) && X !== I)
|
|
13907
13898
|
return et(A, -5);
|
|
13908
13899
|
if (_.status === 666 && A.avail_in !== 0)
|
|
13909
13900
|
return et(A, -5);
|
|
@@ -13949,15 +13940,15 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
13949
13940
|
var X;
|
|
13950
13941
|
return A && A.state ? (X = A.state.status) !== N && X !== 69 && X !== 73 && X !== 91 && X !== 103 && X !== M && X !== 666 ? et(A, d) : (A.state = null, X === M ? et(A, -3) : u) : d;
|
|
13951
13942
|
}, s.deflateSetDictionary = function(A, X) {
|
|
13952
|
-
var
|
|
13953
|
-
if (!A || !A.state || (U = (
|
|
13943
|
+
var z, _, P, U, $, Z, B, K, st = X.length;
|
|
13944
|
+
if (!A || !A.state || (U = (z = A.state).wrap) === 2 || U === 1 && z.status !== N || z.lookahead)
|
|
13954
13945
|
return d;
|
|
13955
|
-
for (U === 1 && (A.adler = a(A.adler, X, st, 0)),
|
|
13956
|
-
for (_ =
|
|
13946
|
+
for (U === 1 && (A.adler = a(A.adler, X, st, 0)), z.wrap = 0, st >= z.w_size && (U === 0 && (nt(z.head), z.strstart = 0, z.block_start = 0, z.insert = 0), K = new r.Buf8(z.w_size), r.arraySet(K, X, st - z.w_size, z.w_size, 0), X = K, st = z.w_size), $ = A.avail_in, Z = A.next_in, B = A.input, A.avail_in = st, A.next_in = 0, A.input = X, St(z); z.lookahead >= L; ) {
|
|
13947
|
+
for (_ = z.strstart, P = z.lookahead - (L - 1); z.ins_h = (z.ins_h << z.hash_shift ^ z.window[_ + L - 1]) & z.hash_mask, z.prev[_ & z.w_mask] = z.head[z.ins_h], z.head[z.ins_h] = _, _++, --P; )
|
|
13957
13948
|
;
|
|
13958
|
-
|
|
13949
|
+
z.strstart = _, z.lookahead = L - 1, St(z);
|
|
13959
13950
|
}
|
|
13960
|
-
return
|
|
13951
|
+
return z.strstart += z.lookahead, z.block_start = z.strstart, z.insert = z.lookahead, z.lookahead = 0, z.match_length = z.prev_length = L - 1, z.match_available = 0, A.next_in = Z, A.input = B, A.avail_in = $, z.wrap = U, u;
|
|
13961
13952
|
}, s.deflateInfo = "pako deflate (from Nodeca project)";
|
|
13962
13953
|
}, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(t, e, s) {
|
|
13963
13954
|
e.exports = function() {
|
|
@@ -14093,7 +14084,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14093
14084
|
s.inflateReset = R, s.inflateReset2 = S, s.inflateResetKeep = F, s.inflateInit = function(N) {
|
|
14094
14085
|
return O(N, 15);
|
|
14095
14086
|
}, s.inflateInit2 = O, s.inflate = function(N, M) {
|
|
14096
|
-
var g, v, q, G, et, W, nt, V, x, ot, it, tt, St, yt, at, It, ft, Ct, Ht, Dt, A, X,
|
|
14087
|
+
var g, v, q, G, et, W, nt, V, x, ot, it, tt, St, yt, at, It, ft, Ct, Ht, Dt, A, X, z, _, P = 0, U = new n.Buf8(4), $ = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
|
|
14097
14088
|
if (!N || !N.state || !N.output || !N.input && N.avail_in !== 0)
|
|
14098
14089
|
return u;
|
|
14099
14090
|
(g = N.state).mode === 12 && (g.mode = 13), et = N.next_out, q = N.output, nt = N.avail_out, G = N.next_in, v = N.input, W = N.avail_in, V = g.hold, x = g.bits, ot = W, it = nt, X = I;
|
|
@@ -14297,7 +14288,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14297
14288
|
}
|
|
14298
14289
|
for (; g.have < 19; )
|
|
14299
14290
|
g.lens[$[g.have++]] = 0;
|
|
14300
|
-
if (g.lencode = g.lendyn, g.lenbits = 7,
|
|
14291
|
+
if (g.lencode = g.lendyn, g.lenbits = 7, z = { bits: g.lenbits }, X = l(0, g.lens, 0, 19, g.lencode, 0, g.work, z), g.lenbits = z.bits, X) {
|
|
14301
14292
|
N.msg = "invalid code lengths set", g.mode = 30;
|
|
14302
14293
|
break;
|
|
14303
14294
|
}
|
|
@@ -14352,11 +14343,11 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14352
14343
|
N.msg = "invalid code -- missing end-of-block", g.mode = 30;
|
|
14353
14344
|
break;
|
|
14354
14345
|
}
|
|
14355
|
-
if (g.lenbits = 9,
|
|
14346
|
+
if (g.lenbits = 9, z = { bits: g.lenbits }, X = l(h, g.lens, 0, g.nlen, g.lencode, 0, g.work, z), g.lenbits = z.bits, X) {
|
|
14356
14347
|
N.msg = "invalid literal/lengths set", g.mode = 30;
|
|
14357
14348
|
break;
|
|
14358
14349
|
}
|
|
14359
|
-
if (g.distbits = 6, g.distcode = g.distdyn,
|
|
14350
|
+
if (g.distbits = 6, g.distcode = g.distdyn, z = { bits: g.distbits }, X = l(f, g.lens, g.nlen, g.ndist, g.distcode, 0, g.work, z), g.distbits = z.bits, X) {
|
|
14360
14351
|
N.msg = "invalid distances set", g.mode = 30;
|
|
14361
14352
|
break;
|
|
14362
14353
|
}
|
|
@@ -14682,14 +14673,14 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14682
14673
|
}
|
|
14683
14674
|
}
|
|
14684
14675
|
a(W);
|
|
14685
|
-
var
|
|
14676
|
+
var z = !1;
|
|
14686
14677
|
function _(P, U, $, Z) {
|
|
14687
14678
|
it(P, (l << 1) + (Z ? 1 : 0), 3), function(B, K, st, J) {
|
|
14688
14679
|
It(B), ot(B, st), ot(B, ~st), n.arraySet(B.pending_buf, B.window, K, st, B.pending), B.pending += st;
|
|
14689
14680
|
}(P, U, $);
|
|
14690
14681
|
}
|
|
14691
14682
|
s._tr_init = function(P) {
|
|
14692
|
-
|
|
14683
|
+
z || (function() {
|
|
14693
14684
|
var U, $, Z, B, K, st = new Array(T + 1);
|
|
14694
14685
|
for (B = Z = 0; B < h - 1; B++)
|
|
14695
14686
|
for (v[B] = Z, U = 0; U < 1 << y[B]; U++)
|
|
@@ -14713,7 +14704,7 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
14713
14704
|
for (yt(Y, I + 1, st), U = 0; U < u; U++)
|
|
14714
14705
|
N[2 * U + 1] = 5, N[2 * U] = St(U, 5);
|
|
14715
14706
|
q = new nt(Y, y, f + 1, I, T), G = new nt(N, w, 0, u, T), et = new nt(new Array(0), L, 0, d, m);
|
|
14716
|
-
}(),
|
|
14707
|
+
}(), z = !0), P.l_desc = new V(P.dyn_ltree, q), P.d_desc = new V(P.dyn_dtree, G), P.bl_desc = new V(P.bl_tree, et), P.bi_buf = 0, P.bi_valid = 0, at(P);
|
|
14717
14708
|
}, s._tr_stored_block = _, s._tr_flush_block = function(P, U, $, Z) {
|
|
14718
14709
|
var B, K, st = 0;
|
|
14719
14710
|
0 < P.level ? (P.strm.data_type === 2 && (P.strm.data_type = function(J) {
|
|
@@ -17250,7 +17241,7 @@ const _s = class _s {
|
|
|
17250
17241
|
n = !1;
|
|
17251
17242
|
break;
|
|
17252
17243
|
}
|
|
17253
|
-
if (s === null && (s = Object.keys(new
|
|
17244
|
+
if (s === null && (s = Object.keys(new k.IFC4[t]()), s = s.slice(2), s === null)) {
|
|
17254
17245
|
if (this.inclusive)
|
|
17255
17246
|
continue;
|
|
17256
17247
|
n = !1;
|
|
@@ -18183,7 +18174,7 @@ const xs = class xs extends At {
|
|
|
18183
18174
|
/**
|
|
18184
18175
|
* The WebIFC API instance used for IFC file processing.
|
|
18185
18176
|
*/
|
|
18186
|
-
C(this, "webIfc", new
|
|
18177
|
+
C(this, "webIfc", new k.IfcAPI());
|
|
18187
18178
|
C(this, "_nextAvailableID", 0);
|
|
18188
18179
|
C(this, "_splittedGeometries", /* @__PURE__ */ new Map());
|
|
18189
18180
|
C(this, "_spatialTree", new no());
|
|
@@ -18196,7 +18187,7 @@ const xs = class xs extends At {
|
|
|
18196
18187
|
C(this, "_groupSerializer", new Qt.Serializer());
|
|
18197
18188
|
C(this, "_assets", []);
|
|
18198
18189
|
C(this, "_meshesWithHoles", /* @__PURE__ */ new Set());
|
|
18199
|
-
this.components.add(xs.uuid, this), this.settings.excludedCategories.add(
|
|
18190
|
+
this.components.add(xs.uuid, this), this.settings.excludedCategories.add(k.IFCOPENINGELEMENT);
|
|
18200
18191
|
}
|
|
18201
18192
|
/** {@link Disposable.dispose} */
|
|
18202
18193
|
dispose() {
|
|
@@ -18257,7 +18248,7 @@ const xs = class xs extends At {
|
|
|
18257
18248
|
};
|
|
18258
18249
|
let o = 0, a = 0;
|
|
18259
18250
|
for (const E of s) {
|
|
18260
|
-
if (!this.webIfc.IsIfcElement(E) && E !==
|
|
18251
|
+
if (!this.webIfc.IsIfcElement(E) && E !== k.IFCSPACE || this.settings.excludedCategories.has(E))
|
|
18261
18252
|
continue;
|
|
18262
18253
|
const T = this.webIfc.GetLineIDsWithType(0, E), p = T.size();
|
|
18263
18254
|
for (let m = 0; m < p; m++) {
|
|
@@ -18297,7 +18288,7 @@ const xs = class xs extends At {
|
|
|
18297
18288
|
this.webIfc.Dispose();
|
|
18298
18289
|
} catch {
|
|
18299
18290
|
}
|
|
18300
|
-
this.webIfc = null, this.webIfc = new
|
|
18291
|
+
this.webIfc = null, this.webIfc = new k.IfcAPI(), this._visitedGeometries.clear(), this._geometries.clear(), this._assets = [], this._meshesWithHoles.clear();
|
|
18301
18292
|
}
|
|
18302
18293
|
getMesh(t, e, s) {
|
|
18303
18294
|
const n = e.geometries.size(), r = e.expressID, o = { id: r, geometries: [] };
|
|
@@ -18447,7 +18438,7 @@ class eh extends At {
|
|
|
18447
18438
|
/**
|
|
18448
18439
|
* An instance of the IfcAPI class from the Web-IFC library, which provides methods for reading and processing IFC data.
|
|
18449
18440
|
*/
|
|
18450
|
-
C(this, "webIfc", new
|
|
18441
|
+
C(this, "webIfc", new k.IfcAPI());
|
|
18451
18442
|
}
|
|
18452
18443
|
/** {@link Disposable.dispose} */
|
|
18453
18444
|
async dispose() {
|
|
@@ -18481,11 +18472,11 @@ class eh extends At {
|
|
|
18481
18472
|
}
|
|
18482
18473
|
async streamAllProperties() {
|
|
18483
18474
|
const { propertiesSize: t } = this.settings, e = new Set(this.webIfc.GetIfcEntityList(0)), s = /* @__PURE__ */ new Set([
|
|
18484
|
-
|
|
18485
|
-
|
|
18486
|
-
|
|
18487
|
-
|
|
18488
|
-
|
|
18475
|
+
k.IFCPROJECT,
|
|
18476
|
+
k.IFCSITE,
|
|
18477
|
+
k.IFCBUILDING,
|
|
18478
|
+
k.IFCBUILDINGSTOREY,
|
|
18479
|
+
k.IFCSPACE
|
|
18489
18480
|
]);
|
|
18490
18481
|
for (const l of s)
|
|
18491
18482
|
e.add(l);
|
|
@@ -18529,7 +18520,7 @@ class eh extends At {
|
|
|
18529
18520
|
await this.onIndicesStreamed.trigger(a);
|
|
18530
18521
|
}
|
|
18531
18522
|
cleanUp() {
|
|
18532
|
-
this.webIfc.Dispose(), this.webIfc = null, this.webIfc = new
|
|
18523
|
+
this.webIfc.Dispose(), this.webIfc = null, this.webIfc = new k.IfcAPI();
|
|
18533
18524
|
}
|
|
18534
18525
|
}
|
|
18535
18526
|
/**
|
|
@@ -19704,7 +19695,7 @@ class ks {
|
|
|
19704
19695
|
this.testResult.push(n);
|
|
19705
19696
|
}
|
|
19706
19697
|
}
|
|
19707
|
-
const
|
|
19698
|
+
const Re = (c, i) => {
|
|
19708
19699
|
let t = "";
|
|
19709
19700
|
return i ? (i.type === "simple" && (t = `<ids:simpleValue>${i.parameter}</ids:simpleValue>`), i.type === "enumeration" && (t = `<xs:restriction base="xs:string">
|
|
19710
19701
|
${i.parameter.map((n) => `<xs:enumeration value="${n}" />`).join(`\r
|
|
@@ -19723,7 +19714,7 @@ class rh extends ks {
|
|
|
19723
19714
|
this.name = e;
|
|
19724
19715
|
}
|
|
19725
19716
|
serialize(t) {
|
|
19726
|
-
const e =
|
|
19717
|
+
const e = Re("Name", this.name), s = Re("Value", this.value);
|
|
19727
19718
|
let n = "";
|
|
19728
19719
|
return t === "requirement" && (n += `cardinality="${this.cardinality}"`, n += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:attribute ${n}>
|
|
19729
19720
|
${e}
|
|
@@ -19825,7 +19816,7 @@ class oh extends ks {
|
|
|
19825
19816
|
this.system = e;
|
|
19826
19817
|
}
|
|
19827
19818
|
serialize(t) {
|
|
19828
|
-
const e =
|
|
19819
|
+
const e = Re("System", this.system), s = Re("Value", this.value);
|
|
19829
19820
|
let n = "";
|
|
19830
19821
|
return t === "requirement" && (n += `cardinality="${this.cardinality}"`, n += this.uri ? `uri=${this.uri}` : "", n += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:classification ${n}>
|
|
19831
19822
|
${e}
|
|
@@ -19835,9 +19826,9 @@ class oh extends ks {
|
|
|
19835
19826
|
async getEntities(t, e = {}) {
|
|
19836
19827
|
var h;
|
|
19837
19828
|
const s = [], n = await t.getAllPropertiesOfType(
|
|
19838
|
-
|
|
19829
|
+
k.IFCCLASSIFICATIONREFERENCE
|
|
19839
19830
|
), r = await t.getAllPropertiesOfType(
|
|
19840
|
-
|
|
19831
|
+
k.IFCCLASSIFICATION
|
|
19841
19832
|
), o = { ...n, ...r }, a = [];
|
|
19842
19833
|
for (const f in o) {
|
|
19843
19834
|
const I = Number(f), u = await t.getProperties(I);
|
|
@@ -19884,7 +19875,7 @@ class oh extends ks {
|
|
|
19884
19875
|
continue;
|
|
19885
19876
|
if (f = !1, !(this.value && this.system))
|
|
19886
19877
|
break;
|
|
19887
|
-
if (d.type !==
|
|
19878
|
+
if (d.type !== k.IFCCLASSIFICATIONREFERENCE)
|
|
19888
19879
|
continue;
|
|
19889
19880
|
const T = !this.value || this.evalValue(d, l), p = !this.uri || this.evalURI(d, l);
|
|
19890
19881
|
if (T && p)
|
|
@@ -19909,7 +19900,7 @@ class oh extends ks {
|
|
|
19909
19900
|
if (!s)
|
|
19910
19901
|
return null;
|
|
19911
19902
|
const n = await t.getProperties(s);
|
|
19912
|
-
return n ? (n.type ===
|
|
19903
|
+
return n ? (n.type === k.IFCCLASSIFICATIONREFERENCE && (n.ReferencedSource = await this.processReferencedSource(
|
|
19913
19904
|
t,
|
|
19914
19905
|
n
|
|
19915
19906
|
)), n) : null;
|
|
@@ -19924,14 +19915,14 @@ class oh extends ks {
|
|
|
19924
19915
|
if (r)
|
|
19925
19916
|
for (const I of r) {
|
|
19926
19917
|
const u = await t.getProperties(I);
|
|
19927
|
-
u && (u.type ===
|
|
19918
|
+
u && (u.type === k.IFCCLASSIFICATION && s.push(u), u.type === k.IFCCLASSIFICATIONREFERENCE && (u.ReferencedSource = await this.processReferencedSource(
|
|
19928
19919
|
t,
|
|
19929
19920
|
u
|
|
19930
19921
|
), u.ReferencedSource && s.push(u)));
|
|
19931
19922
|
}
|
|
19932
19923
|
const o = s.map((I) => {
|
|
19933
19924
|
var u, d, E;
|
|
19934
|
-
return I.type ===
|
|
19925
|
+
return I.type === k.IFCCLASSIFICATION ? (u = I.Name) == null ? void 0 : u.value : I.type === k.IFCCLASSIFICATIONREFERENCE ? (E = (d = I.ReferencedSource) == null ? void 0 : d.Name) == null ? void 0 : E.value : null;
|
|
19935
19926
|
}).filter((I) => I), a = n.getEntityRelations(t, e, "IsTypedBy");
|
|
19936
19927
|
if (!(a && a[0]))
|
|
19937
19928
|
return s;
|
|
@@ -19944,12 +19935,12 @@ class oh extends ks {
|
|
|
19944
19935
|
for (const I of h) {
|
|
19945
19936
|
const u = await t.getProperties(I);
|
|
19946
19937
|
if (u) {
|
|
19947
|
-
if (u.type ===
|
|
19938
|
+
if (u.type === k.IFCCLASSIFICATION) {
|
|
19948
19939
|
if (o.includes((f = u.Name) == null ? void 0 : f.value))
|
|
19949
19940
|
continue;
|
|
19950
19941
|
s.push(u);
|
|
19951
19942
|
}
|
|
19952
|
-
u.type ===
|
|
19943
|
+
u.type === k.IFCCLASSIFICATIONREFERENCE && (u.ReferencedSource = await this.processReferencedSource(
|
|
19953
19944
|
t,
|
|
19954
19945
|
u
|
|
19955
19946
|
), u.ReferencedSource && s.push(u));
|
|
@@ -19959,18 +19950,18 @@ class oh extends ks {
|
|
|
19959
19950
|
}
|
|
19960
19951
|
getSystemName(t) {
|
|
19961
19952
|
var e, s, n, r;
|
|
19962
|
-
if (t.type ===
|
|
19953
|
+
if (t.type === k.IFCCLASSIFICATION)
|
|
19963
19954
|
return (e = t.Name) == null ? void 0 : e.value;
|
|
19964
|
-
if (t.type ===
|
|
19965
|
-
if (((s = t.ReferencedSource) == null ? void 0 : s.type) ===
|
|
19955
|
+
if (t.type === k.IFCCLASSIFICATIONREFERENCE) {
|
|
19956
|
+
if (((s = t.ReferencedSource) == null ? void 0 : s.type) === k.IFCCLASSIFICATIONREFERENCE)
|
|
19966
19957
|
return this.getSystemName(t.ReferencedSource);
|
|
19967
|
-
if (((n = t.ReferencedSource) == null ? void 0 : n.type) ===
|
|
19958
|
+
if (((n = t.ReferencedSource) == null ? void 0 : n.type) === k.IFCCLASSIFICATION)
|
|
19968
19959
|
return (r = t.ReferencedSource.Name) == null ? void 0 : r.value;
|
|
19969
19960
|
}
|
|
19970
19961
|
return null;
|
|
19971
19962
|
}
|
|
19972
19963
|
getAllReferenceIdentifications(t) {
|
|
19973
|
-
if (t.type !==
|
|
19964
|
+
if (t.type !== k.IFCCLASSIFICATIONREFERENCE)
|
|
19974
19965
|
return null;
|
|
19975
19966
|
const e = [];
|
|
19976
19967
|
if (t.Identification && e.push(t.Identification.value), t.ReferencedSource) {
|
|
@@ -20023,7 +20014,7 @@ class ah extends ks {
|
|
|
20023
20014
|
this.name = e;
|
|
20024
20015
|
}
|
|
20025
20016
|
serialize(t) {
|
|
20026
|
-
const e =
|
|
20017
|
+
const e = Re("Name", this.name), s = Re("Name", this.predefinedType);
|
|
20027
20018
|
let n = "";
|
|
20028
20019
|
return t === "requirement" && (n += `cardinality="${this.cardinality}"`, n += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:entity ${n}>
|
|
20029
20020
|
${e}
|
|
@@ -20121,13 +20112,13 @@ class ch extends ks {
|
|
|
20121
20112
|
C(this, "uri");
|
|
20122
20113
|
// These are defined by the IDS specification
|
|
20123
20114
|
C(this, "_unsupportedTypes", [
|
|
20124
|
-
|
|
20125
|
-
|
|
20115
|
+
k.IFCCOMPLEXPROPERTY,
|
|
20116
|
+
k.IFCPHYSICALCOMPLEXQUANTITY
|
|
20126
20117
|
]);
|
|
20127
20118
|
this.propertySet = e, this.baseName = s;
|
|
20128
20119
|
}
|
|
20129
20120
|
serialize(t) {
|
|
20130
|
-
const e =
|
|
20121
|
+
const e = Re("PropertySet", this.propertySet), s = Re("BaseName", this.baseName), n = Re("Value", this.value), r = this.dataType ? `dataType=${this.dataType}` : "";
|
|
20131
20122
|
let o = "";
|
|
20132
20123
|
return t === "requirement" && (o += `cardinality="${this.cardinality}"`, o += this.uri ? `uri=${this.uri}` : "", o += this.instructions ? `instructions="${this.instructions}"` : ""), `<ids:property ${r} ${o}>
|
|
20133
20124
|
${e}
|
|
@@ -20138,9 +20129,9 @@ class ch extends ks {
|
|
|
20138
20129
|
async getEntities(t, e = {}) {
|
|
20139
20130
|
var l, h;
|
|
20140
20131
|
let s = {};
|
|
20141
|
-
const n = await t.getAllPropertiesOfType(
|
|
20132
|
+
const n = await t.getAllPropertiesOfType(k.IFCPROPERTYSET);
|
|
20142
20133
|
s = { ...s, ...n };
|
|
20143
|
-
const r = await t.getAllPropertiesOfType(
|
|
20134
|
+
const r = await t.getAllPropertiesOfType(k.IFCELEMENTQUANTITY);
|
|
20144
20135
|
if (s = { ...s, ...r }, Object.keys(s).length === 0)
|
|
20145
20136
|
return [];
|
|
20146
20137
|
const o = [];
|
|
@@ -20149,7 +20140,7 @@ class ch extends ks {
|
|
|
20149
20140
|
if (!u || !(((l = u.Name) == null ? void 0 : l.value) === this.propertySet.parameter))
|
|
20150
20141
|
continue;
|
|
20151
20142
|
let E;
|
|
20152
|
-
if (u.type ===
|
|
20143
|
+
if (u.type === k.IFCPROPERTYSET && (E = "HasProperties"), u.type === k.IFCELEMENTQUANTITY && (E = "Quantities"), !!E)
|
|
20153
20144
|
for (const T of u[E]) {
|
|
20154
20145
|
const p = await t.getProperties(T.value);
|
|
20155
20146
|
if (!(!p || !(((h = p.Name) == null ? void 0 : h.value) === this.baseName.parameter))) {
|
|
@@ -20257,7 +20248,7 @@ class ch extends ks {
|
|
|
20257
20248
|
}
|
|
20258
20249
|
getItemsAttrName(t) {
|
|
20259
20250
|
let e;
|
|
20260
|
-
return t ===
|
|
20251
|
+
return t === k.IFCPROPERTYSET && (e = "HasProperties"), t === k.IFCELEMENTQUANTITY && (e = "Quantities"), e;
|
|
20261
20252
|
}
|
|
20262
20253
|
getValueKey(t) {
|
|
20263
20254
|
return Object.keys(t).find(
|
|
@@ -20324,7 +20315,7 @@ class ch extends ks {
|
|
|
20324
20315
|
requiredValue: this.value.parameter
|
|
20325
20316
|
}), !1;
|
|
20326
20317
|
const r = t[s], o = structuredClone(this.value);
|
|
20327
|
-
if (r.name === "IFCLABEL" && o.type === "simple" && (o.parameter = String(o.parameter)), (t.type ===
|
|
20318
|
+
if (r.name === "IFCLABEL" && o.type === "simple" && (o.parameter = String(o.parameter)), (t.type === k.IFCPROPERTYLISTVALUE || t.type === k.IFCPROPERTYENUMERATEDVALUE) && Array.isArray(r)) {
|
|
20328
20319
|
const l = r.map((f) => f.value), h = r.find((f) => o ? this.evalRequirement(f.value, o, "Value") : !1);
|
|
20329
20320
|
return e == null || e.push({
|
|
20330
20321
|
currentValue: l,
|
|
@@ -20359,7 +20350,7 @@ class ch extends ks {
|
|
|
20359
20350
|
if (!this.dataType)
|
|
20360
20351
|
return !0;
|
|
20361
20352
|
const s = this.getValueKey(t), n = t[s];
|
|
20362
|
-
if ((t.type ===
|
|
20353
|
+
if ((t.type === k.IFCPROPERTYLISTVALUE || t.type === k.IFCPROPERTYENUMERATEDVALUE) && Array.isArray(n) && n[0]) {
|
|
20363
20354
|
const o = n[0].name;
|
|
20364
20355
|
return this.evalRequirement(
|
|
20365
20356
|
o,
|
|
@@ -20435,7 +20426,7 @@ class lh {
|
|
|
20435
20426
|
</ids:specification>`;
|
|
20436
20427
|
}
|
|
20437
20428
|
}
|
|
20438
|
-
const
|
|
20429
|
+
const ge = (c) => {
|
|
20439
20430
|
if (!c)
|
|
20440
20431
|
return;
|
|
20441
20432
|
const i = { type: "simple" };
|
|
@@ -20454,44 +20445,44 @@ const Re = (c) => {
|
|
|
20454
20445
|
}, Xr = (c, i) => {
|
|
20455
20446
|
const t = [];
|
|
20456
20447
|
for (const e of i) {
|
|
20457
|
-
const s = e.name, n =
|
|
20448
|
+
const s = e.name, n = ge(s);
|
|
20458
20449
|
if (!n)
|
|
20459
20450
|
continue;
|
|
20460
20451
|
const r = new ah(c, n);
|
|
20461
|
-
e.cardinality && (r.cardinality = e.cardinality), r.predefinedType =
|
|
20452
|
+
e.cardinality && (r.cardinality = e.cardinality), r.predefinedType = ge(e.predefinedType), r.instructions = e.instructions, t.push(r);
|
|
20462
20453
|
}
|
|
20463
20454
|
return t;
|
|
20464
20455
|
}, hh = (c, i) => {
|
|
20465
20456
|
const t = [];
|
|
20466
20457
|
for (const e of i) {
|
|
20467
|
-
const s = e.name, n =
|
|
20458
|
+
const s = e.name, n = ge(s);
|
|
20468
20459
|
if (!n)
|
|
20469
20460
|
continue;
|
|
20470
20461
|
const r = new rh(c, n);
|
|
20471
|
-
e.cardinality && (r.cardinality = e.cardinality), r.value =
|
|
20462
|
+
e.cardinality && (r.cardinality = e.cardinality), r.value = ge(e.value), r.instructions = e.instructions, t.push(r);
|
|
20472
20463
|
}
|
|
20473
20464
|
return t;
|
|
20474
20465
|
}, uh = (c, i) => {
|
|
20475
20466
|
const t = [];
|
|
20476
20467
|
for (const e of i) {
|
|
20477
|
-
const s = e.system, n =
|
|
20468
|
+
const s = e.system, n = ge(s);
|
|
20478
20469
|
if (!n)
|
|
20479
20470
|
continue;
|
|
20480
20471
|
const r = new oh(c, n);
|
|
20481
20472
|
e.cardinality && (r.cardinality = e.cardinality);
|
|
20482
|
-
const o =
|
|
20473
|
+
const o = ge(e.value);
|
|
20483
20474
|
(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, r.instructions = e.instructions, t.push(r);
|
|
20484
20475
|
}
|
|
20485
20476
|
return t;
|
|
20486
20477
|
}, fh = (c, i) => {
|
|
20487
20478
|
const t = [];
|
|
20488
20479
|
for (const e of i) {
|
|
20489
|
-
const s = e.propertySet, n = e.baseName, r =
|
|
20480
|
+
const s = e.propertySet, n = e.baseName, r = ge(s), o = ge(n);
|
|
20490
20481
|
if (!(o && r))
|
|
20491
20482
|
continue;
|
|
20492
20483
|
const a = new ch(c, r, o);
|
|
20493
20484
|
e.cardinality && (a.cardinality = e.cardinality);
|
|
20494
|
-
const l =
|
|
20485
|
+
const l = ge(e.value);
|
|
20495
20486
|
(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, a.instructions = e.instructions, t.push(a);
|
|
20496
20487
|
}
|
|
20497
20488
|
return t;
|