bimatter-viewer-react 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import e, { createContext as t, forwardRef as n, memo as r, useCallback as i, useContext as a, useEffect as o, useImperativeHandle as s, useMemo as c, useRef as l, useState as u } from "react";
2
2
  import { Canvas as d, useFrame as f, useThree as p } from "@react-three/fiber";
3
- import { OrbitControls as ee, Stats as m } from "@react-three/drei";
3
+ import { OrbitControls as m, Stats as ee } from "@react-three/drei";
4
4
  import { Box3 as te, BoxGeometry as ne, BufferAttribute as re, BufferGeometry as h, CanvasTexture as ie, Color as ae, ConeGeometry as oe, DataTexture as se, DoubleSide as ce, DynamicDrawUsage as le, Float32BufferAttribute as ue, Group as de, Line as fe, Line3 as pe, LineBasicMaterial as me, LineDashedMaterial as he, LineSegments as ge, LinearFilter as _e, MathUtils as ve, Matrix3 as ye, Matrix4 as be, Mesh as xe, MeshBasicMaterial as Se, MeshLambertMaterial as Ce, NearestFilter as we, Object3D as Te, OrthographicCamera as Ee, PerspectiveCamera as De, Plane as Oe, RGBAFormat as ke, SRGBColorSpace as Ae, Sphere as je, SphereGeometry as Me, Sprite as Ne, SpriteMaterial as Pe, UnsignedByteType as Fe, Vector2 as Ie, Vector3 as Le } from "three";
5
5
  import { useStore as Re } from "zustand";
6
6
  import { createStore as ze } from "zustand/vanilla";
@@ -190,12 +190,12 @@ function ht(e) {
190
190
  }, [t]), o(() => () => r.dispose(), [r]), o(() => {
191
191
  at(r, 1, new ae(n));
192
192
  }, [r, n]);
193
- let ee = i((e, t) => d.current[e]?.has(t) ? 1 : u.current.get(e)?.get(t) ?? 0, []), m = i((t, n) => {
193
+ let m = i((e, t) => d.current[e]?.has(t) ? 1 : u.current.get(e)?.get(t) ?? 0, []), ee = i((t, n) => {
194
194
  let r = e.buildIndex();
195
195
  n.forEach((e) => {
196
- ft(r.elementIndex.get(e), t, e, ee(t, e), p.current);
196
+ ft(r.elementIndex.get(e), t, e, m(t, e), p.current);
197
197
  });
198
- }, [e, ee]), te = i((e) => {
198
+ }, [e, m]), te = i((e) => {
199
199
  let t = new ae(e), n = it(t), i = a.current.get(n);
200
200
  if (i !== void 0) return i;
201
201
  let o = s.current;
@@ -205,21 +205,21 @@ function ht(e) {
205
205
  o(() => {
206
206
  let e = pt(t);
207
207
  mt(f.current, e).forEach((e, t) => {
208
- m(t, Array.from(e));
208
+ ee(t, Array.from(e));
209
209
  }), f.current = e;
210
- }, [m, t]);
210
+ }, [ee, t]);
211
211
  let ne = i((e, t, n) => {
212
212
  let r = te(n), i = u.current.get(e);
213
- i || (i = /* @__PURE__ */ new Map(), u.current.set(e, i)), t.forEach((e) => i.set(e, r)), m(e, t);
214
- }, [m, te]), re = i((e, t) => {
213
+ i || (i = /* @__PURE__ */ new Map(), u.current.set(e, i)), t.forEach((e) => i.set(e, r)), ee(e, t);
214
+ }, [ee, te]), re = i((e, t) => {
215
215
  let n = u.current.get(e);
216
- t.forEach((e) => n?.delete(e)), n?.size === 0 && u.current.delete(e), m(e, t);
217
- }, [m]), h = i((e) => {
216
+ t.forEach((e) => n?.delete(e)), n?.size === 0 && u.current.delete(e), ee(e, t);
217
+ }, [ee]), h = i((e) => {
218
218
  let t = u.current.get(e);
219
219
  if (!t?.size) return;
220
220
  let n = Array.from(t.keys());
221
- t.clear(), u.current.delete(e), m(e, n);
222
- }, [m]), ie = i(() => {
221
+ t.clear(), u.current.delete(e), ee(e, n);
222
+ }, [ee]), ie = i(() => {
223
223
  let t = e.buildIndex(), n = /* @__PURE__ */ new Map(), r = (e, t) => {
224
224
  let r = n.get(e);
225
225
  r || (r = /* @__PURE__ */ new Set(), n.set(e, r)), r.add(t);
@@ -232,10 +232,10 @@ function ht(e) {
232
232
  t.forEach((t) => r(Number(e), t));
233
233
  }), n.forEach((e, n) => {
234
234
  e.forEach((e) => {
235
- ft(t.elementIndex.get(e), n, e, ee(n, e), p.current);
235
+ ft(t.elementIndex.get(e), n, e, m(n, e), p.current);
236
236
  });
237
237
  });
238
- }, [e, ee]), oe = i(() => {
238
+ }, [e, m]), oe = i(() => {
239
239
  e.buildIndex().records.forEach((e) => {
240
240
  p.current.delete(e), lt(e);
241
241
  }), p.current = /* @__PURE__ */ new WeakMap(), u.current.clear(), ie();
@@ -340,15 +340,15 @@ function wt(e, t, n, r) {
340
340
  if (!o) throw Error("Could not create grid label canvas context");
341
341
  let s = `400 ${r}px system-ui, "Segoe UI", sans-serif`, c = Math.ceil(r * .5), l = Math.ceil(r * .35);
342
342
  o.font = s;
343
- let u = o.measureText(t), d = u.actualBoundingBoxAscent || r * .8, f = u.actualBoundingBoxDescent || r * .2, p = Math.max(1, Math.ceil(u.width + c * 2)), ee = Math.max(1, Math.ceil(d + f + l * 2));
344
- a.width = Math.ceil(p * i), a.height = Math.ceil(ee * i), o.scale(i, i), o.clearRect(0, 0, p, ee), o.font = s, o.fillStyle = n, o.textAlign = "left", o.textBaseline = "alphabetic", o.fillText(t, c, l + d);
345
- let m = new ie(a);
346
- return m.colorSpace = Ae, m.generateMipmaps = !1, m.magFilter = _e, m.minFilter = _e, m.needsUpdate = !0, {
343
+ let u = o.measureText(t), d = u.actualBoundingBoxAscent || r * .8, f = u.actualBoundingBoxDescent || r * .2, p = Math.max(1, Math.ceil(u.width + c * 2)), m = Math.max(1, Math.ceil(d + f + l * 2));
344
+ a.width = Math.ceil(p * i), a.height = Math.ceil(m * i), o.scale(i, i), o.clearRect(0, 0, p, m), o.font = s, o.fillStyle = n, o.textAlign = "left", o.textBaseline = "alphabetic", o.fillText(t, c, l + d);
345
+ let ee = new ie(a);
346
+ return ee.colorSpace = Ae, ee.generateMipmaps = !1, ee.magFilter = _e, ee.minFilter = _e, ee.needsUpdate = !0, {
347
347
  disposeTimer: null,
348
- height: ee,
348
+ height: m,
349
349
  key: e,
350
350
  refs: 0,
351
- texture: m,
351
+ texture: ee,
352
352
  width: p
353
353
  };
354
354
  }
@@ -523,7 +523,7 @@ function Ht({ cameraPosition: e, color: t, floorY: n, fontSize: r, labelOffset:
523
523
  showLeft: l,
524
524
  showRight: u,
525
525
  showTop: d
526
- }), ee = p ? Rt({
526
+ }), m = p ? Rt({
527
527
  endpoint: p,
528
528
  labelOffset: i,
529
529
  line: a
@@ -535,16 +535,16 @@ function Ht({ cameraPosition: e, color: t, floorY: n, fontSize: r, labelOffset:
535
535
  color: t,
536
536
  depthWrite: !1,
537
537
  linewidth: 2
538
- }), ee && /* @__PURE__ */ Ke(Vt, {
538
+ }), m && /* @__PURE__ */ Ke(Vt, {
539
539
  color: t,
540
540
  fontSize: r,
541
- position: ee,
541
+ position: m,
542
542
  text: a.name
543
543
  })]
544
544
  });
545
545
  }
546
- function Ut({ color: e, floorY: t, fontSize: n = _t, grids: r, labelOffset: i = yt, showBottom: a = !0, showLeft: o = !0, showRight: s = !0, showTop: d = !0, visible: ee = !0 }) {
547
- let m = p((e) => e.camera), te = l(null), [ne, re] = u(() => new Le()), h = Nt(e), ie = c(() => r ? Ft({
546
+ function Ut({ color: e, floorY: t, fontSize: n = _t, grids: r, labelOffset: i = yt, showBottom: a = !0, showLeft: o = !0, showRight: s = !0, showTop: d = !0, visible: m = !0 }) {
547
+ let ee = p((e) => e.camera), te = l(null), [ne, re] = u(() => new Le()), h = Nt(e), ie = c(() => r ? Ft({
548
548
  flattenToFloor: t !== void 0,
549
549
  grids: r,
550
550
  showBottom: a,
@@ -567,9 +567,9 @@ function Ut({ color: e, floorY: t, fontSize: n = _t, grids: r, labelOffset: i =
567
567
  return f(() => {
568
568
  let e = te.current;
569
569
  if (!e) return;
570
- let t = m.position.clone();
570
+ let t = ee.position.clone();
571
571
  e.worldToLocal(t), !(t.distanceToSquared(ne) < bt) && re(t);
572
- }), !ee || !ie.length ? null : /* @__PURE__ */ Ke("group", {
572
+ }), !m || !ie.length ? null : /* @__PURE__ */ Ke("group", {
573
573
  ref: te,
574
574
  userData: { modelGrids: !0 },
575
575
  children: ie.map((e) => /* @__PURE__ */ Ke(Ht, {
@@ -742,12 +742,12 @@ function rn(e) {
742
742
  d === null ? (d = t, f = e) : t !== d && (en(d, f, e - f, l, u, i), d = t, f = e);
743
743
  }
744
744
  d !== null && en(d, f, p - f, l, u, i);
745
- let ee = null, m = 0;
745
+ let m = null, ee = 0;
746
746
  for (let e = 0; e < o.count; e++) {
747
747
  let t = o.getX(e);
748
- ee === null ? (ee = t, m = e) : t !== ee && ($t(ee, m, e - m, l, u, i), ee = t, m = e);
748
+ m === null ? (m = t, ee = e) : t !== m && ($t(m, ee, e - ee, l, u, i), m = t, ee = e);
749
749
  }
750
- ee !== null && $t(ee, m, o.count - m, l, u, i), a.add(l);
750
+ m !== null && $t(m, ee, o.count - ee, l, u, i), a.add(l);
751
751
  }), t.current = {
752
752
  elementIndex: i,
753
753
  ifcSpacesVisible: r.ifcSpacesVisible,
@@ -891,21 +891,21 @@ function vn(e) {
891
891
  a,
892
892
  t,
893
893
  r
894
- ]), ee = i(() => {
894
+ ]), m = i(() => {
895
895
  let e = Date.now(), t = o();
896
896
  t.isolatedIdsByModel = null, t.isolatedIds = null, t.records.forEach((e) => gn(e, t.ifcSpacesVisible, _n(t, e), a)), hn(r, "resetIsolation", e);
897
897
  }, [
898
898
  o,
899
899
  a,
900
900
  r
901
- ]), m = i((e) => {
901
+ ]), ee = i((e) => {
902
902
  let t = o();
903
903
  t.ifcSpacesVisible !== e && (t.ifcSpacesVisible = e, t.records.forEach((e) => {
904
904
  e.isIfcSpace && gn(e, t.ifcSpacesVisible, _n(t, e), a);
905
905
  }));
906
906
  }, [o, a]), te = i(() => {
907
- m(!c());
908
- }, [c, m]);
907
+ ee(!c());
908
+ }, [c, ee]);
909
909
  return {
910
910
  buildIndex: o,
911
911
  getAllIds: s,
@@ -914,8 +914,8 @@ function vn(e) {
914
914
  hideSelected: u,
915
915
  isolateByIds: f,
916
916
  isolateSelected: p,
917
- resetIsolation: ee,
918
- setIfcSpacesVisibility: m,
917
+ resetIsolation: m,
918
+ setIfcSpacesVisibility: ee,
919
919
  showAll: i(() => {
920
920
  let e = Date.now(), t = o();
921
921
  t.isolatedIdsByModel = null, t.isolatedIds = null, t.records.forEach((e) => {
@@ -1288,14 +1288,14 @@ var Vn = class extends Te {
1288
1288
  minV: -Rn / 2,
1289
1289
  width: Rn
1290
1290
  };
1291
- let u = Bn(e), d = o - u, f = s + u, p = c - u, ee = l + u, m = Math.max(Rn, f - d), te = Math.max(Rn, ee - p), ne = (d + f) / 2, re = (p + ee) / 2;
1291
+ let u = Bn(e), d = o - u, f = s + u, p = c - u, m = l + u, ee = Math.max(Rn, f - d), te = Math.max(Rn, m - p), ne = (d + f) / 2, re = (p + m) / 2;
1292
1292
  return {
1293
1293
  height: te,
1294
- maxU: ne + m / 2,
1294
+ maxU: ne + ee / 2,
1295
1295
  maxV: re + te / 2,
1296
- minU: ne - m / 2,
1296
+ minU: ne - ee / 2,
1297
1297
  minV: re - te / 2,
1298
- width: m
1298
+ width: ee
1299
1299
  };
1300
1300
  }
1301
1301
  getPlaneBasis() {
@@ -2122,12 +2122,12 @@ function mr(e) {
2122
2122
  e.removeEventListener("pointermove", t), e.removeEventListener("pointerdown", t), e.removeEventListener("pointerleave", r);
2123
2123
  };
2124
2124
  }, [n]);
2125
- let ee = i((i = !1, { event: a, filter: o, object: c = e.current, recursive: l = !0, respectClipping: d = !0 } = {}) => {
2125
+ let m = i((i = !1, { event: a, filter: o, object: c = e.current, recursive: l = !0, respectClipping: d = !0 } = {}) => {
2126
2126
  let p = a ? dr(a, n.domElement) : s.current;
2127
2127
  if (!p || !c) return i ? null : [];
2128
- let ee = d ? f() : [], m = Array.isArray(c) ? c : [c];
2128
+ let m = d ? f() : [], ee = Array.isArray(c) ? c : [c];
2129
2129
  t.updateMatrixWorld(), e.current?.updateMatrixWorld(!0), u.current.copy(p), r.setFromCamera(u.current, t);
2130
- let te = r.intersectObjects(m, l).filter((e) => pr(e.object) ? ee.length ? fr(e.point, ee) : !0 : !1).filter((e) => o ? o(e) : !0);
2130
+ let te = r.intersectObjects(ee, l).filter((e) => pr(e.object) ? m.length ? fr(e.point, m) : !0 : !1).filter((e) => o ? o(e) : !0);
2131
2131
  return i ? te[0] ?? null : te;
2132
2132
  }, [
2133
2133
  t,
@@ -2138,11 +2138,11 @@ function mr(e) {
2138
2138
  ]);
2139
2139
  return c(() => ({
2140
2140
  getActiveClippingPlanes: f,
2141
- getIntersection: ee,
2141
+ getIntersection: m,
2142
2142
  setClippingSource: d
2143
2143
  }), [
2144
2144
  f,
2145
- ee,
2145
+ m,
2146
2146
  d
2147
2147
  ]);
2148
2148
  }
@@ -2298,13 +2298,13 @@ function Jr({ model: e, camera: t, viewport: n, rect: r, candidateIdsByModel: i,
2298
2298
  let f = Tr(s), p = u.getX(e);
2299
2299
  if (!i.get(f)?.has(p) || (l.fromBufferAttribute(d, e), !Dr(s, l, a))) continue;
2300
2300
  o && (o.containedCandidateVertices += 1);
2301
- let ee = `${f}:${p}`, m = c.get(ee);
2302
- m || (m = {
2301
+ let m = `${f}:${p}`, ee = c.get(m);
2302
+ ee || (ee = {
2303
2303
  id: p,
2304
2304
  inside: 0,
2305
2305
  modelID: f,
2306
2306
  total: 0
2307
- }, c.set(ee, m)), m.total += 1, Nr(Br(s, l, t, n), r) && (m.inside += 1);
2307
+ }, c.set(m, ee)), ee.total += 1, Nr(Br(s, l, t, n), r) && (ee.inside += 1);
2308
2308
  }
2309
2309
  }
2310
2310
  });
@@ -2434,14 +2434,14 @@ function oi(e) {
2434
2434
  return !!(t.index && t.attributes.ids);
2435
2435
  }
2436
2436
  function si(e, t, n) {
2437
- let r = l("end"), i = Xe((e) => e.selected), a = Xe((e) => e.setSelected), s = Xe((e) => e.addSelected), c = Xe((e) => e.removeSelected), u = Xe((e) => e.showStats), d = Ze(), f = l(null), ee = l(null), m = l(!1), te = l(!1), ne = l("add"), re = l(null), h = l(!1), ie = l(0), ae = l(null), oe = l(null), se = () => d.getState().selectionInteractionDisabled, ce = () => {
2437
+ let r = l("end"), i = Xe((e) => e.selected), a = Xe((e) => e.setSelected), s = Xe((e) => e.addSelected), c = Xe((e) => e.removeSelected), u = Xe((e) => e.showStats), d = Ze(), f = l(null), m = l(null), ee = l(!1), te = l(!1), ne = l("add"), re = l(null), h = l(!1), ie = l(0), ae = l(null), oe = l(null), se = () => d.getState().selectionInteractionDisabled, ce = () => {
2438
2438
  e.current?.traverse((e) => {
2439
2439
  if (!(e instanceof xe)) return;
2440
2440
  let t = e;
2441
2441
  t.preselected = !1, ni(t.material, -1);
2442
2442
  });
2443
2443
  }, le = () => {
2444
- f.current = null, m.current = !1, $r(ee), t.current && (t.current.enabled = !0);
2444
+ f.current = null, ee.current = !1, $r(m), t.current && (t.current.enabled = !0);
2445
2445
  }, ue = (t) => {
2446
2446
  if (se()) {
2447
2447
  ce();
@@ -2526,7 +2526,7 @@ function si(e, t, n) {
2526
2526
  }
2527
2527
  a(d, u === void 0 ? [] : [u], !0);
2528
2528
  }, ye = (e) => {
2529
- se() || e.button !== 0 || !e.shiftKey && !e.ctrlKey || (f.current = new Ie(e.clientX, e.clientY), ne.current = e.ctrlKey ? "remove" : "add", m.current = !1, t.current && (t.current.enabled = !1));
2529
+ se() || e.button !== 0 || !e.shiftKey && !e.ctrlKey || (f.current = new Ie(e.clientX, e.clientY), ne.current = e.ctrlKey ? "remove" : "add", ee.current = !1, t.current && (t.current.enabled = !1));
2530
2530
  }, be = (e) => {
2531
2531
  if (se()) {
2532
2532
  le();
@@ -2534,7 +2534,7 @@ function si(e, t, n) {
2534
2534
  }
2535
2535
  if (!f.current) return;
2536
2536
  let t = new Ie(e.clientX, e.clientY), n = Math.abs(t.x - f.current.x), r = Math.abs(t.y - f.current.y);
2537
- n < 6 && r < 6 || (m.current ||= !0, e.preventDefault(), Qr(ee, f.current, t));
2537
+ n < 6 && r < 6 || (ee.current ||= !0, e.preventDefault(), Qr(m, f.current, t));
2538
2538
  }, Se = (r) => {
2539
2539
  if (se()) {
2540
2540
  le();
@@ -2542,8 +2542,8 @@ function si(e, t, n) {
2542
2542
  }
2543
2543
  if (!f.current) return;
2544
2544
  pe.current = ge();
2545
- let i = m.current, a = new Ie(r.clientX, r.clientY), o = jr(f.current, a), l = Mr(f.current, a);
2546
- if (f.current = null, m.current = !1, $r(ee), t.current && setTimeout(() => {
2545
+ let i = ee.current, a = new Ie(r.clientX, r.clientY), o = jr(f.current, a), l = Mr(f.current, a);
2546
+ if (f.current = null, ee.current = !1, $r(m), t.current && setTimeout(() => {
2547
2547
  t.current && (t.current.enabled = !0);
2548
2548
  }, 100), !i) return;
2549
2549
  te.current = !0, r.preventDefault();
@@ -2588,7 +2588,7 @@ function si(e, t, n) {
2588
2588
  e.ctrlKey && e.preventDefault();
2589
2589
  }
2590
2590
  return () => {
2591
- $r(ee), ae.current !== null && (window.clearTimeout(ae.current), ae.current = null), oe.current = null, ce(), e.removeEventListener("change", n), he.domElement.removeEventListener("pointerdown", ye), he.domElement.removeEventListener("pointermove", be), window.removeEventListener("pointerup", Se), window.removeEventListener("pointerup", ve), he.domElement.removeEventListener("contextmenu", o), he.domElement.removeEventListener("pointerup", a), he.domElement.removeEventListener("pointerdown", i), he.domElement.removeEventListener("pointermove", fe), he.domElement.removeEventListener("pointerleave", ce);
2591
+ $r(m), ae.current !== null && (window.clearTimeout(ae.current), ae.current = null), oe.current = null, ce(), e.removeEventListener("change", n), he.domElement.removeEventListener("pointerdown", ye), he.domElement.removeEventListener("pointermove", be), window.removeEventListener("pointerup", Se), window.removeEventListener("pointerup", ve), he.domElement.removeEventListener("contextmenu", o), he.domElement.removeEventListener("pointerup", a), he.domElement.removeEventListener("pointerdown", i), he.domElement.removeEventListener("pointermove", fe), he.domElement.removeEventListener("pointerleave", ce);
2592
2592
  };
2593
2593
  });
2594
2594
  }
@@ -2971,7 +2971,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
2971
2971
  throw Error(t.status + " : " + t.url);
2972
2972
  };
2973
2973
  }
2974
- var p = console.log.bind(console), ee = console.error.bind(console), m, te, ne = !1, re;
2974
+ var p = console.log.bind(console), m = console.error.bind(console), ee, te, ne = !1, re;
2975
2975
  function h() {
2976
2976
  ct.buffer != ce.buffer && ye();
2977
2977
  }
@@ -2993,7 +2993,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
2993
2993
  handler: e,
2994
2994
  args: t
2995
2995
  });
2996
- }, e == "print" && (p = r[e]), e == "printErr" && (ee = r[e]));
2996
+ }, e == "print" && (p = r[e]), e == "printErr" && (m = r[e]));
2997
2997
  ct = n.wasmMemory, ye(), te = n.wasmModule, Me(), da();
2998
2998
  } else if (i === "run") {
2999
2999
  nt(n.pthread_ptr), Yi(n.pthread_ptr, 0, 0, 1, 0, 0), $e.threadInitTLS(), gr(n.pthread_ptr), se ||= (Gi(), !0);
@@ -3002,7 +3002,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3002
3002
  } catch (e) {
3003
3003
  if (e != "unwind") throw e;
3004
3004
  }
3005
- } else n.target === "setimmediate" || (i === "checkMailbox" ? se && _r() : i && (ee(`worker: received unknown command ${i}`), ee(n)));
3005
+ } else n.target === "setimmediate" || (i === "checkMailbox" ? se && _r() : i && (m(`worker: received unknown command ${i}`), m(n)));
3006
3006
  } catch (e) {
3007
3007
  throw Xi(), e;
3008
3008
  }
@@ -3046,7 +3046,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3046
3046
  }
3047
3047
  }
3048
3048
  function we(e) {
3049
- r.onAbort?.(e), e = "Aborted(" + e + ")", ee(e), ne = !0, e += ". Build with -sASSERTIONS for more info.";
3049
+ r.onAbort?.(e), e = "Aborted(" + e + ")", m(e), ne = !0, e += ". Build with -sASSERTIONS for more info.";
3050
3050
  var t = new WebAssembly.RuntimeError(e);
3051
3051
  throw ae?.(t), t;
3052
3052
  }
@@ -3055,12 +3055,12 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3055
3055
  return u("web-ifc-mt.wasm");
3056
3056
  }
3057
3057
  function De(e) {
3058
- if (e == Te && m) return new Uint8Array(m);
3058
+ if (e == Te && ee) return new Uint8Array(ee);
3059
3059
  if (f) return f(e);
3060
3060
  throw "both async and sync fetching of the wasm failed";
3061
3061
  }
3062
3062
  async function Oe(e) {
3063
- if (!m) try {
3063
+ if (!ee) try {
3064
3064
  var t = await d(e);
3065
3065
  return new Uint8Array(t);
3066
3066
  } catch {}
@@ -3071,7 +3071,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3071
3071
  var n = await Oe(e);
3072
3072
  return await WebAssembly.instantiate(n, t);
3073
3073
  } catch (e) {
3074
- ee(`failed to asynchronously prepare wasm: ${e}`), we(e);
3074
+ m(`failed to asynchronously prepare wasm: ${e}`), we(e);
3075
3075
  }
3076
3076
  }
3077
3077
  async function Ae(e, t, n) {
@@ -3079,7 +3079,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3079
3079
  var r = fetch(t, { credentials: "same-origin" });
3080
3080
  return await WebAssembly.instantiateStreaming(r, n);
3081
3081
  } catch (e) {
3082
- ee(`wasm streaming compile failed: ${e}`), ee("falling back to ArrayBuffer instantiation");
3082
+ m(`wasm streaming compile failed: ${e}`), m("falling back to ArrayBuffer instantiation");
3083
3083
  }
3084
3084
  return ke(t, n);
3085
3085
  }
@@ -3098,7 +3098,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3098
3098
  r.instantiateWasm(n, (n, r) => {
3099
3099
  t(e(n, r));
3100
3100
  });
3101
- }) : o ? e(new WebAssembly.Instance(te, je()), te) : (Te ??= Ee(), t(await Ae(m, Te, n)));
3101
+ }) : o ? e(new WebAssembly.Instance(te, je()), te) : (Te ??= Ee(), t(await Ae(ee, Te, n)));
3102
3102
  }
3103
3103
  class Ne {
3104
3104
  name = "ExitStatus";
@@ -3180,12 +3180,12 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3180
3180
  var i = n.data, a = i.cmd;
3181
3181
  if (i.targetThread && i.targetThread != Ji()) {
3182
3182
  var o = $e.pthreads[i.targetThread];
3183
- o ? o.postMessage(i, i.transferList) : ee(`Internal error! Worker sent a message "${a}" to target pthread ${i.targetThread}, but that thread no longer exists!`);
3183
+ o ? o.postMessage(i, i.transferList) : m(`Internal error! Worker sent a message "${a}" to target pthread ${i.targetThread}, but that thread no longer exists!`);
3184
3184
  return;
3185
3185
  }
3186
- a === "checkMailbox" ? _r() : a === "spawnThread" ? Ue(i) : a === "cleanupThread" ? mr(() => Fe(i.thread)) : a === "loaded" ? (e.loaded = !0, t(e)) : i.target === "setimmediate" ? e.postMessage(i) : a === "callHandler" ? r[i.handler](...i.args) : a && ee(`worker sent an unknown command ${a}`);
3186
+ a === "checkMailbox" ? _r() : a === "spawnThread" ? Ue(i) : a === "cleanupThread" ? mr(() => Fe(i.thread)) : a === "loaded" ? (e.loaded = !0, t(e)) : i.target === "setimmediate" ? e.postMessage(i) : a === "callHandler" ? r[i.handler](...i.args) : a && m(`worker sent an unknown command ${a}`);
3187
3187
  }, e.onerror = (e) => {
3188
- throw ee(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`), e;
3188
+ throw m(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`), e;
3189
3189
  };
3190
3190
  var n = [];
3191
3191
  for (var i of [
@@ -3666,13 +3666,13 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3666
3666
  o.prototype = c;
3667
3667
  var d = new nn(u, o, c, f, n, a, s, l);
3668
3668
  d.baseClass && (d.baseClass.__derivedClasses ??= [], d.baseClass.__derivedClasses.push(d));
3669
- var ee = new gn(u, d, !0, !1, !1), m = new gn(u + "*", d, !1, !1, !1), te = new gn(u + " const*", d, !1, !0, !1);
3669
+ var m = new gn(u, d, !0, !1, !1), ee = new gn(u + "*", d, !1, !1, !1), te = new gn(u + " const*", d, !1, !0, !1);
3670
3670
  return Xt[e] = {
3671
- pointerType: m,
3671
+ pointerType: ee,
3672
3672
  constPointerType: te
3673
3673
  }, _n(p, o), [
3674
- ee,
3675
3674
  m,
3675
+ ee,
3676
3676
  te
3677
3677
  ];
3678
3678
  });
@@ -3695,7 +3695,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3695
3695
  f.length = s ? 2 : 1, f[0] = i, s && (n = t[1].toWireType(p, this), f[1] = n);
3696
3696
  for (var a = 0; a < u; ++a) d[a] = t[a + 2].toWireType(p, e[a]), f.push(d[a]);
3697
3697
  var o = r(...f);
3698
- function ee(e) {
3698
+ function m(e) {
3699
3699
  if (c) vt(p);
3700
3700
  else for (var r = s ? 1 : 2; r < t.length; r++) {
3701
3701
  var i = r === 1 ? n : d[r - 2];
@@ -3703,7 +3703,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
3703
3703
  }
3704
3704
  if (l) return t[0].fromWireType(e);
3705
3705
  }
3706
- return ee(o);
3706
+ return m(o);
3707
3707
  });
3708
3708
  }
3709
3709
  var On = function(e, t, n, r, i, a) {
@@ -4480,10 +4480,10 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
4480
4480
  },
4481
4481
  default_tty1_ops: {
4482
4482
  put_char(e, t) {
4483
- t === null || t === 10 ? (ee(Yn(e.output)), e.output = []) : t != 0 && e.output.push(t);
4483
+ t === null || t === 10 ? (m(Yn(e.output)), e.output = []) : t != 0 && e.output.push(t);
4484
4484
  },
4485
4485
  fsync(e) {
4486
- e.output?.length > 0 && (ee(Yn(e.output)), e.output = []);
4486
+ e.output?.length > 0 && (m(Yn(e.output)), e.output = []);
4487
4487
  }
4488
4488
  }
4489
4489
  }, wi = (e) => {
@@ -4965,7 +4965,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
4965
4965
  return t;
4966
4966
  },
4967
4967
  syncfs(e, t) {
4968
- typeof e == "function" && (t = e, e = !1), _.syncFSRequests++, _.syncFSRequests > 1 && ee(`warning: ${_.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
4968
+ typeof e == "function" && (t = e, e = !1), _.syncFSRequests++, _.syncFSRequests > 1 && m(`warning: ${_.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
4969
4969
  var n = _.getMounts(_.root.mount), r = 0;
4970
4970
  function i(e) {
4971
4971
  return _.syncFSRequests--, t(e);
@@ -5644,7 +5644,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5644
5644
  return e.errno;
5645
5645
  }
5646
5646
  }
5647
- if ($e.init(), qt(), hn(), _.createPreloadedFile = Ni, _.preloadFile = Mi, _.staticInit(), be(), r.noExitRuntime && (ot = r.noExitRuntime), r.preloadPlugins && (Ai = r.preloadPlugins), r.print && (p = r.print), r.printErr && (ee = r.printErr), r.wasmBinary && (m = r.wasmBinary), r.arguments && r.arguments, r.thisProgram && (s = r.thisProgram), r.preInit) for (typeof r.preInit == "function" && (r.preInit = [r.preInit]); r.preInit.length > 0;) r.preInit.shift()();
5647
+ if ($e.init(), qt(), hn(), _.createPreloadedFile = Ni, _.preloadFile = Mi, _.staticInit(), be(), r.noExitRuntime && (ot = r.noExitRuntime), r.preloadPlugins && (Ai = r.preloadPlugins), r.print && (p = r.print), r.printErr && (m = r.printErr), r.wasmBinary && (ee = r.wasmBinary), r.arguments && r.arguments, r.thisProgram && (s = r.thisProgram), r.preInit) for (typeof r.preInit == "function" && (r.preInit = [r.preInit]); r.preInit.length > 0;) r.preInit.shift()();
5648
5648
  var Ui = [
5649
5649
  Xe,
5650
5650
  Ze,
@@ -5807,10 +5807,10 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5807
5807
  throw Error(t.status + " : " + t.url);
5808
5808
  };
5809
5809
  } else throw Error("environment detection error");
5810
- var ee = console.log.bind(console), m = console.error.bind(console);
5810
+ var m = console.log.bind(console), ee = console.error.bind(console);
5811
5811
  h(!a, "worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."), h(!o, "node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."), h(!s, "shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");
5812
5812
  var te;
5813
- globalThis.WebAssembly || m("no native wasm support detected");
5813
+ globalThis.WebAssembly || ee("no native wasm support detected");
5814
5814
  var ne = !1, re;
5815
5815
  function h(e, t) {
5816
5816
  e || Ae("Assertion failed" + (t ? ": " + t : ""));
@@ -5879,7 +5879,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5879
5879
  se("postRun"), Ve(He);
5880
5880
  }
5881
5881
  function Ae(e) {
5882
- r.onAbort?.(e), e = "Aborted(" + e + ")", m(e), ne = !0;
5882
+ r.onAbort?.(e), e = "Aborted(" + e + ")", ee(e), ne = !0;
5883
5883
  var t = new WebAssembly.RuntimeError(e);
5884
5884
  throw me?.(t), t;
5885
5885
  }
@@ -5911,7 +5911,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5911
5911
  var n = await Fe(e);
5912
5912
  return await WebAssembly.instantiate(n, t);
5913
5913
  } catch (t) {
5914
- m(`failed to asynchronously prepare wasm: ${t}`), ie(e) && m(`warning: Loading from a file URI (${e}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`), Ae(t);
5914
+ ee(`failed to asynchronously prepare wasm: ${t}`), ie(e) && ee(`warning: Loading from a file URI (${e}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`), Ae(t);
5915
5915
  }
5916
5916
  }
5917
5917
  async function Le(e, t, n) {
@@ -5919,7 +5919,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5919
5919
  var r = fetch(t, { credentials: "same-origin" });
5920
5920
  return await WebAssembly.instantiateStreaming(r, n);
5921
5921
  } catch (e) {
5922
- m(`wasm streaming compile failed: ${e}`), m("falling back to ArrayBuffer instantiation");
5922
+ ee(`wasm streaming compile failed: ${e}`), ee("falling back to ArrayBuffer instantiation");
5923
5923
  }
5924
5924
  return Ie(t, n);
5925
5925
  }
@@ -5944,7 +5944,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5944
5944
  t(e(n, r));
5945
5945
  });
5946
5946
  } catch (e) {
5947
- m(`Module.instantiateWasm callback failed with error: ${e}`), n(e);
5947
+ ee(`Module.instantiateWasm callback failed with error: ${e}`), n(e);
5948
5948
  }
5949
5949
  }) : (Me ??= Ne(), n(await Le(te, Me, i)));
5950
5950
  }
@@ -5957,7 +5957,7 @@ var ta = Object.getOwnPropertyNames, na = (e, t) => function() {
5957
5957
  var Ve = (e) => {
5958
5958
  for (; e.length > 0;) e.shift()(r);
5959
5959
  }, He = [], Ue = (e) => He.push(e), We = [], Ge = (e) => We.push(e), Ke = !0, qe = (e) => (h(typeof e == "number", `ptrToString expects a number, got ${typeof e}`), e >>>= 0, "0x" + e.toString(16).padStart(8, "0")), Je = (e) => {
5960
- Je.shown ||= {}, Je.shown[e] || (Je.shown[e] = 1, m(e));
5960
+ Je.shown ||= {}, Je.shown[e] || (Je.shown[e] = 1, ee(e));
5961
5961
  };
5962
5962
  class Ye {
5963
5963
  constructor(e) {
@@ -6407,13 +6407,13 @@ Originally allocated`);
6407
6407
  o.prototype = c;
6408
6408
  var d = new Yt(u, o, c, f, n, a, s, l);
6409
6409
  d.baseClass && (d.baseClass.__derivedClasses ??= [], d.baseClass.__derivedClasses.push(d));
6410
- var ee = new tn(u, d, !0, !1, !1), m = new tn(u + "*", d, !1, !1, !1), te = new tn(u + " const*", d, !1, !0, !1);
6410
+ var m = new tn(u, d, !0, !1, !1), ee = new tn(u + "*", d, !1, !1, !1), te = new tn(u + " const*", d, !1, !0, !1);
6411
6411
  return jt[e] = {
6412
- pointerType: m,
6412
+ pointerType: ee,
6413
6413
  constPointerType: te
6414
6414
  }, nn(p, o), [
6415
- ee,
6416
6415
  m,
6416
+ ee,
6417
6417
  te
6418
6418
  ];
6419
6419
  });
@@ -6436,22 +6436,22 @@ Originally allocated`);
6436
6436
  function _n(e, t, n, r, i, a) {
6437
6437
  var o = t.length;
6438
6438
  o < 2 && gt("argTypes array size mismatch! Must at least get return value and 'this' types!"), h(!a, "Async bindings are only supported with JSPI.");
6439
- var s = t[1] !== null && n !== null, c = mn(t), l = !t[0].isVoid, u = o - 2, d = hn(t), f = Array(u), p = [], ee = [];
6439
+ var s = t[1] !== null && n !== null, c = mn(t), l = !t[0].isVoid, u = o - 2, d = hn(t), f = Array(u), p = [], m = [];
6440
6440
  return Ut(e, function(...n) {
6441
- gn(n.length, d, u, e, gt), ee.length = 0;
6441
+ gn(n.length, d, u, e, gt), m.length = 0;
6442
6442
  var a;
6443
- p.length = s ? 2 : 1, p[0] = i, s && (a = t[1].toWireType(ee, this), p[1] = a);
6444
- for (var o = 0; o < u; ++o) f[o] = t[o + 2].toWireType(ee, n[o]), p.push(f[o]);
6445
- var m = r(...p);
6443
+ p.length = s ? 2 : 1, p[0] = i, s && (a = t[1].toWireType(m, this), p[1] = a);
6444
+ for (var o = 0; o < u; ++o) f[o] = t[o + 2].toWireType(m, n[o]), p.push(f[o]);
6445
+ var ee = r(...p);
6446
6446
  function te(e) {
6447
- if (c) rt(ee);
6447
+ if (c) rt(m);
6448
6448
  else for (var n = s ? 1 : 2; n < t.length; n++) {
6449
6449
  var r = n === 1 ? a : f[n - 2];
6450
6450
  t[n].destructorFunction !== null && t[n].destructorFunction(r);
6451
6451
  }
6452
6452
  if (l) return t[0].fromWireType(e);
6453
6453
  }
6454
- return te(m);
6454
+ return te(ee);
6455
6455
  });
6456
6456
  }
6457
6457
  var vn = function(e, t, n, r, i, a) {
@@ -6915,13 +6915,13 @@ Originally allocated`);
6915
6915
  }
6916
6916
  var kr = {}, Ar = (e) => {
6917
6917
  if (e instanceof Be || e == "unwind") return re;
6918
- oe(), e instanceof WebAssembly.RuntimeError && Hi() <= 0 && m("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)"), l(1, e);
6918
+ oe(), e instanceof WebAssembly.RuntimeError && Hi() <= 0 && ee("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)"), l(1, e);
6919
6919
  }, jr = () => Ke || tr > 0, Mr = (e) => {
6920
6920
  re = e, jr() || (r.onExit?.(e), ne = !0), l(e, new Be(e));
6921
6921
  }, Nr = (e, t) => {
6922
6922
  if (re = e, Zi(), jr() && !t) {
6923
6923
  var n = `program exited (with status: ${e}), but keepRuntimeAlive() is set (counter=${tr}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;
6924
- me?.(n), m(n);
6924
+ me?.(n), ee(n);
6925
6925
  }
6926
6926
  Mr(e);
6927
6927
  }, Pr = () => {
@@ -6932,7 +6932,7 @@ Originally allocated`);
6932
6932
  }
6933
6933
  }, Fr = (e) => {
6934
6934
  if (ne) {
6935
- m("user callback triggered after runtime exited or application aborted. Ignoring.");
6935
+ ee("user callback triggered after runtime exited or application aborted. Ignoring.");
6936
6936
  return;
6937
6937
  }
6938
6938
  try {
@@ -6969,7 +6969,7 @@ Originally allocated`);
6969
6969
  try {
6970
6970
  return Ui.grow(n), Ee(), 1;
6971
6971
  } catch (n) {
6972
- m(`growMemory: Attempted to grow heap from ${t} bytes to ${e} bytes, but got error: ${n}`);
6972
+ ee(`growMemory: Attempted to grow heap from ${t} bytes to ${e} bytes, but got error: ${n}`);
6973
6973
  }
6974
6974
  };
6975
6975
  function Kr(e) {
@@ -6977,14 +6977,14 @@ Originally allocated`);
6977
6977
  var t = ge.length;
6978
6978
  h(e > t);
6979
6979
  var n = Ur();
6980
- if (e > n) return m(`Cannot enlarge memory, requested ${e} bytes, but the limit is ${n} bytes!`), !1;
6980
+ if (e > n) return ee(`Cannot enlarge memory, requested ${e} bytes, but the limit is ${n} bytes!`), !1;
6981
6981
  for (var r = 1; r <= 4; r *= 2) {
6982
6982
  var i = t * (1 + .2 / r);
6983
6983
  i = Math.min(i, e + 100663296);
6984
6984
  var a = Math.min(n, Wr(Math.max(e, i), 65536));
6985
6985
  if (Gr(a)) return !0;
6986
6986
  }
6987
- return m(`Failed to grow the heap from ${t} bytes to ${a} bytes, not enough memory!`), !1;
6987
+ return ee(`Failed to grow the heap from ${t} bytes to ${a} bytes, not enough memory!`), !1;
6988
6988
  }
6989
6989
  var qr = {}, Jr = () => c || "./this.program", Yr = () => {
6990
6990
  if (!Yr.strings) {
@@ -7132,10 +7132,10 @@ Originally allocated`);
7132
7132
  return ii();
7133
7133
  },
7134
7134
  put_char(e, t) {
7135
- t === null || t === 10 ? (ee(zn(e.output)), e.output = []) : t != 0 && e.output.push(t);
7135
+ t === null || t === 10 ? (m(zn(e.output)), e.output = []) : t != 0 && e.output.push(t);
7136
7136
  },
7137
7137
  fsync(e) {
7138
- e.output?.length > 0 && (ee(zn(e.output)), e.output = []);
7138
+ e.output?.length > 0 && (m(zn(e.output)), e.output = []);
7139
7139
  },
7140
7140
  ioctl_tcgets(e) {
7141
7141
  return {
@@ -7188,10 +7188,10 @@ Originally allocated`);
7188
7188
  },
7189
7189
  default_tty1_ops: {
7190
7190
  put_char(e, t) {
7191
- t === null || t === 10 ? (m(zn(e.output)), e.output = []) : t != 0 && e.output.push(t);
7191
+ t === null || t === 10 ? (ee(zn(e.output)), e.output = []) : t != 0 && e.output.push(t);
7192
7192
  },
7193
7193
  fsync(e) {
7194
- e.output?.length > 0 && (m(zn(e.output)), e.output = []);
7194
+ e.output?.length > 0 && (ee(zn(e.output)), e.output = []);
7195
7195
  }
7196
7196
  }
7197
7197
  }, oi = (e) => {
@@ -7521,8 +7521,8 @@ Originally allocated`);
7521
7521
  return;
7522
7522
  }
7523
7523
  var e = !1;
7524
- for (var t in _i) e || (e = !0, m("still waiting on run dependencies:")), m(`dependency: ${t}`);
7525
- e && m("(end of list)");
7524
+ for (var t in _i) e || (e = !0, ee("still waiting on run dependencies:")), ee(`dependency: ${t}`);
7525
+ e && ee("(end of list)");
7526
7526
  }, 1e4));
7527
7527
  }, xi = [], Si = async (e, t) => {
7528
7528
  typeof Browser < "u" && Browser.init();
@@ -7819,7 +7819,7 @@ Originally allocated`);
7819
7819
  return t;
7820
7820
  },
7821
7821
  syncfs(e, t) {
7822
- typeof e == "function" && (t = e, e = !1), g.syncFSRequests++, g.syncFSRequests > 1 && m(`warning: ${g.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
7822
+ typeof e == "function" && (t = e, e = !1), g.syncFSRequests++, g.syncFSRequests > 1 && ee(`warning: ${g.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
7823
7823
  var n = g.getMounts(g.root.mount), r = 0;
7824
7824
  function i(e) {
7825
7825
  return h(g.syncFSRequests > 0), g.syncFSRequests--, t(e);
@@ -8340,7 +8340,7 @@ Originally allocated`);
8340
8340
  c.setDataGetter((e) => {
8341
8341
  var n = e * o, r = (e + 1) * o - 1;
8342
8342
  return r = Math.min(r, t - 1), c.chunks[e] === void 0 && (c.chunks[e] = s(n, r)), c.chunks[e] === void 0 && Ae("doXHR failed!"), c.chunks[e];
8343
- }), (a || !t) && (o = t = 1, t = this.getter(0).length, o = t, ee("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = t, this._chunkSize = o, this.lengthKnown = !0;
8343
+ }), (a || !t) && (o = t = 1, t = this.getter(0).length, o = t, m("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = t, this._chunkSize = o, this.lengthKnown = !0;
8344
8344
  }
8345
8345
  get length() {
8346
8346
  return this.lengthKnown || this.cacheLength(), this._length;
@@ -8514,7 +8514,7 @@ Originally allocated`);
8514
8514
  return e.errno;
8515
8515
  }
8516
8516
  }
8517
- if (Vt(), en(), h(Sn.length === 10), g.createPreloadedFile = wi, g.preloadFile = Ci, g.staticInit(), r.noExitRuntime && (Ke = r.noExitRuntime), r.preloadPlugins && (xi = r.preloadPlugins), r.print && (ee = r.print), r.printErr && (m = r.printErr), r.wasmBinary && (te = r.wasmBinary), _(), r.arguments && r.arguments, r.thisProgram && (c = r.thisProgram), h(r.memoryInitializerPrefixURL === void 0, "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"), h(r.pthreadMainPrefixURL === void 0, "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"), h(r.cdInitializerPrefixURL === void 0, "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"), h(r.filePackagePrefixURL === void 0, "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"), h(r.read === void 0, "Module.read option was removed"), h(r.readAsync === void 0, "Module.readAsync option was removed (modify readAsync in JS)"), h(r.readBinary === void 0, "Module.readBinary option was removed (modify readBinary in JS)"), h(r.setWindowTitle === void 0, "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"), h(r.TOTAL_MEMORY === void 0, "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"), h(r.ENVIRONMENT === void 0, "Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)"), h(r.STACK_SIZE === void 0, "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"), h(r.wasmMemory === void 0, "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"), h(r.INITIAL_MEMORY === void 0, "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"), r.preInit) for (typeof r.preInit == "function" && (r.preInit = [r.preInit]); r.preInit.length > 0;) r.preInit.shift()();
8517
+ if (Vt(), en(), h(Sn.length === 10), g.createPreloadedFile = wi, g.preloadFile = Ci, g.staticInit(), r.noExitRuntime && (Ke = r.noExitRuntime), r.preloadPlugins && (xi = r.preloadPlugins), r.print && (m = r.print), r.printErr && (ee = r.printErr), r.wasmBinary && (te = r.wasmBinary), _(), r.arguments && r.arguments, r.thisProgram && (c = r.thisProgram), h(r.memoryInitializerPrefixURL === void 0, "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"), h(r.pthreadMainPrefixURL === void 0, "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"), h(r.cdInitializerPrefixURL === void 0, "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"), h(r.filePackagePrefixURL === void 0, "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"), h(r.read === void 0, "Module.read option was removed"), h(r.readAsync === void 0, "Module.readAsync option was removed (modify readAsync in JS)"), h(r.readBinary === void 0, "Module.readBinary option was removed (modify readBinary in JS)"), h(r.setWindowTitle === void 0, "Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"), h(r.TOTAL_MEMORY === void 0, "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"), h(r.ENVIRONMENT === void 0, "Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)"), h(r.STACK_SIZE === void 0, "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"), h(r.wasmMemory === void 0, "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"), h(r.INITIAL_MEMORY === void 0, "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"), r.preInit) for (typeof r.preInit == "function" && (r.preInit = [r.preInit]); r.preInit.length > 0;) r.preInit.shift()();
8518
8518
  se("preInit"), (/* @__PURE__ */ "writeI53ToI64.writeI53ToI64Clamped.writeI53ToI64Signaling.writeI53ToU64Clamped.writeI53ToU64Signaling.readI53FromI64.readI53FromU64.convertI32PairToI53.convertI32PairToI53Checked.convertU32PairToI53.stackAlloc.getTempRet0.setTempRet0.zeroMemory.withStackSave.inetPton4.inetNtop4.inetPton6.inetNtop6.readSockaddr.writeSockaddr.readEmAsmArgs.jstoi_q.autoResumeAudioContext.runtimeKeepalivePush.runtimeKeepalivePop.asmjsMangle.HandleAllocator.addOnInit.addOnPostCtor.addOnPreMain.addOnExit.STACK_SIZE.STACK_ALIGN.POINTER_SIZE.ASSERTIONS.ccall.cwrap.convertJsFunctionToWasm.getEmptyTableSlot.updateTableMap.getFunctionAddress.addFunction.removeFunction.intArrayToString.stringToAscii.stringToNewUTF8.stringToUTF8OnStack.writeArrayToMemory.registerKeyEventCallback.maybeCStringToJsString.findEventTarget.getBoundingClientRect.fillMouseEventData.registerMouseEventCallback.registerWheelEventCallback.registerUiEventCallback.registerFocusEventCallback.fillDeviceOrientationEventData.registerDeviceOrientationEventCallback.fillDeviceMotionEventData.registerDeviceMotionEventCallback.screenOrientation.fillOrientationChangeEventData.registerOrientationChangeEventCallback.fillFullscreenChangeEventData.registerFullscreenChangeEventCallback.JSEvents_requestFullscreen.JSEvents_resizeCanvasForFullscreen.registerRestoreOldStyle.hideEverythingExceptGivenElement.restoreHiddenElements.setLetterbox.softFullscreenResizeWebGLRenderTarget.doRequestFullscreen.fillPointerlockChangeEventData.registerPointerlockChangeEventCallback.registerPointerlockErrorEventCallback.requestPointerLock.fillVisibilityChangeEventData.registerVisibilityChangeEventCallback.registerTouchEventCallback.fillGamepadEventData.registerGamepadEventCallback.registerBeforeUnloadEventCallback.fillBatteryEventData.registerBatteryEventCallback.setCanvasElementSize.getCanvasElementSize.jsStackTrace.getCallstack.convertPCtoSourceLocation.wasiRightsToMuslOFlags.wasiOFlagsToMuslOFlags.safeSetTimeout.setImmediateWrapped.safeRequestAnimationFrame.clearImmediateWrapped.registerPostMainLoop.registerPreMainLoop.getPromise.makePromise.idsToPromises.makePromiseCallback.findMatchingCatch.Browser_asyncPrepareDataCounter.arraySum.addDays.getSocketFromFD.getSocketAddress.FS_mkdirTree._setNetworkCallback.heapObjectForWebGLType.toTypedArrayIndex.webgl_enable_ANGLE_instanced_arrays.webgl_enable_OES_vertex_array_object.webgl_enable_WEBGL_draw_buffers.webgl_enable_WEBGL_multi_draw.webgl_enable_EXT_polygon_offset_clamp.webgl_enable_EXT_clip_control.webgl_enable_WEBGL_polygon_mode.emscriptenWebGLGet.computeUnpackAlignedImageSize.colorChannelsInGlTextureFormat.emscriptenWebGLGetTexPixelData.emscriptenWebGLGetUniform.webglGetUniformLocation.webglPrepareUniformLocationsBeforeFirstUse.webglGetLeftBracePos.emscriptenWebGLGetVertexAttrib.__glGetActiveAttribOrUniform.writeGLArray.registerWebGlEventCallback.runAndAbortIfError.ALLOC_NORMAL.ALLOC_STACK.allocate.writeStringToMemory.writeAsciiToMemory.allocateUTF8.allocateUTF8OnStack.demangle.stackTrace.getNativeTypeSize.getFunctionArgsName.createJsInvokerSignature.getEnumValueType.createJsInvoker.PureVirtualError.registerInheritedInstance.unregisterInheritedInstance.getInheritedInstanceCount.getLiveInheritedInstances.enumReadValueFromPointer.setDelayFunction.validateThis.count_emval_handles".split(".")).forEach(de), (/* @__PURE__ */ "run.out.err.callMain.abort.wasmExports.HEAPF64.HEAP8.HEAP16.HEAPU16.HEAP32.HEAP64.HEAPU64.writeStackCookie.checkStackCookie.INT53_MAX.INT53_MIN.bigintToI53Checked.stackSave.stackRestore.createNamedFunction.ptrToString.exitJS.getHeapMax.growMemory.ENV.ERRNO_CODES.strError.DNS.Protocols.Sockets.timers.warnOnce.readEmAsmArgsArray.getExecutableName.getDynCaller.dynCall.handleException.keepRuntimeAlive.callUserCallback.maybeExit.asyncLoad.alignMemory.mmapAlloc.wasmTable.wasmMemory.getUniqueRunDependency.noExitRuntime.addRunDependency.removeRunDependency.addOnPreRun.addOnPostRun.freeTableIndexes.functionsInTableMap.setValue.getValue.PATH.PATH_FS.UTF8Decoder.UTF8ArrayToString.UTF8ToString.stringToUTF8Array.stringToUTF8.lengthBytesUTF8.intArrayFromString.AsciiToString.UTF16Decoder.UTF16ToString.stringToUTF16.lengthBytesUTF16.UTF32ToString.stringToUTF32.lengthBytesUTF32.JSEvents.specialHTMLTargets.findCanvasEventTarget.currentFullscreenStrategy.restoreOldWindowedStyle.UNWIND_CACHE.ExitStatus.getEnvStrings.checkWasiClock.doReadv.doWritev.initRandomFill.randomFill.emSetImmediate.emClearImmediate_deps.emClearImmediate.promiseMap.uncaughtExceptionCount.exceptionLast.exceptionCaught.ExceptionInfo.Browser.requestFullscreen.requestFullScreen.setCanvasSize.getUserMedia.createContext.getPreloadedImageData__data.wget.MONTH_DAYS_REGULAR.MONTH_DAYS_LEAP.MONTH_DAYS_REGULAR_CUMULATIVE.MONTH_DAYS_LEAP_CUMULATIVE.isLeapYear.ydayFromDate.SYSCALLS.preloadPlugins.FS_createPreloadedFile.FS_preloadFile.FS_modeStringToFlags.FS_getMode.FS_stdin_getChar_buffer.FS_stdin_getChar.FS_unlink.FS_createPath.FS_createDevice.FS_readFile.FS.FS_root.FS_mounts.FS_devices.FS_streams.FS_nextInode.FS_nameTable.FS_currentPath.FS_initialized.FS_ignorePermissions.FS_filesystems.FS_syncFSRequests.FS_readFiles.FS_lookupPath.FS_getPath.FS_hashName.FS_hashAddNode.FS_hashRemoveNode.FS_lookupNode.FS_createNode.FS_destroyNode.FS_isRoot.FS_isMountpoint.FS_isFile.FS_isDir.FS_isLink.FS_isChrdev.FS_isBlkdev.FS_isFIFO.FS_isSocket.FS_flagsToPermissionString.FS_nodePermissions.FS_mayLookup.FS_mayCreate.FS_mayDelete.FS_mayOpen.FS_checkOpExists.FS_nextfd.FS_getStreamChecked.FS_getStream.FS_createStream.FS_closeStream.FS_dupStream.FS_doSetAttr.FS_chrdev_stream_ops.FS_major.FS_minor.FS_makedev.FS_registerDevice.FS_getDevice.FS_getMounts.FS_syncfs.FS_mount.FS_unmount.FS_lookup.FS_mknod.FS_statfs.FS_statfsStream.FS_statfsNode.FS_create.FS_mkdir.FS_mkdev.FS_symlink.FS_rename.FS_rmdir.FS_readdir.FS_readlink.FS_stat.FS_fstat.FS_lstat.FS_doChmod.FS_chmod.FS_lchmod.FS_fchmod.FS_doChown.FS_chown.FS_lchown.FS_fchown.FS_doTruncate.FS_truncate.FS_ftruncate.FS_utime.FS_open.FS_close.FS_isClosed.FS_llseek.FS_read.FS_write.FS_mmap.FS_msync.FS_ioctl.FS_writeFile.FS_cwd.FS_chdir.FS_createDefaultDirectories.FS_createDefaultDevices.FS_createSpecialDirectories.FS_createStandardStreams.FS_staticInit.FS_init.FS_quit.FS_findObject.FS_analyzePath.FS_createFile.FS_createDataFile.FS_forceLoadFile.FS_createLazyFile.FS_absolutePath.FS_createFolder.FS_createLink.FS_joinPath.FS_mmapAlloc.FS_standardizePath.MEMFS.TTY.PIPEFS.SOCKFS.tempFixedLengthArray.miniTempWebGLFloatBuffers.miniTempWebGLIntBuffers.GL.AL.GLUT.EGL.GLEW.IDBStore.SDL.SDL_gfx.print.printErr.jstoi_s.InternalError.BindingError.throwInternalError.throwBindingError.registeredTypes.awaitingDependencies.typeDependencies.tupleRegistrations.structRegistrations.sharedRegisterType.whenDependentTypesAreResolved.getTypeName.getFunctionName.heap32VectorToArray.requireRegisteredType.usesDestructorStack.checkArgCount.getRequiredArgCount.UnboundTypeError.EmValType.EmValOptionalType.throwUnboundTypeError.ensureOverloadTable.exposePublicSymbol.replacePublicSymbol.embindRepr.registeredInstances.getBasestPointer.getInheritedInstance.registeredPointers.registerType.integerReadValueFromPointer.floatReadValueFromPointer.assertIntegerRange.readPointer.runDestructors.craftInvokerFunction.embind__requireFunction.genericPointerToWireType.constNoSmartPtrRawPointerToWireType.nonConstNoSmartPtrRawPointerToWireType.init_RegisteredPointer.RegisteredPointer.RegisteredPointer_fromWireType.runDestructor.releaseClassHandle.finalizationRegistry.detachFinalizer_deps.detachFinalizer.attachFinalizer.makeClassHandle.init_ClassHandle.ClassHandle.throwInstanceAlreadyDeleted.deletionQueue.flushPendingDeletes.delayFunction.RegisteredClass.shallowCopyInternalPointer.downcastPointer.upcastPointer.char_0.char_9.makeLegalFunctionName.emval_freelist.emval_handles.emval_symbols.getStringOrSymbol.Emval.emval_returnValue.emval_lookupTypes.emval_methodCallers.emval_addMethodCaller".split(".")).forEach(fe);
8519
8519
  function _() {
8520
8520
  le("fetchSettings");
@@ -8603,8 +8603,8 @@ Originally allocated`);
8603
8603
  }, 1)) : e(), oe();
8604
8604
  }
8605
8605
  function Zi() {
8606
- var e = ee, t = m, n = !1;
8607
- ee = m = (e) => {
8606
+ var e = m, t = ee, n = !1;
8607
+ m = ee = (e) => {
8608
8608
  n = !0;
8609
8609
  };
8610
8610
  try {
@@ -8616,7 +8616,7 @@ Originally allocated`);
8616
8616
  ai.ttys[a]?.output?.length && (n = !0);
8617
8617
  }
8618
8618
  } catch {}
8619
- ee = e, m = t, n && Je("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.");
8619
+ m = e, ee = t, n && Je("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.");
8620
8620
  }
8621
8621
  var Qi = await ze();
8622
8622
  Xi(), n = Te ? r : new Promise((e, t) => {
@@ -33308,18 +33308,18 @@ var Z;
33308
33308
  }
33309
33309
  }
33310
33310
  e.IfcDayInMonthNumber = p;
33311
- class ee extends q {
33311
+ class m extends q {
33312
33312
  constructor() {
33313
33313
  super(...arguments), this.type = 10, this.name = "IFCDAYLIGHTSAVINGHOUR";
33314
33314
  }
33315
33315
  }
33316
- e.IfcDaylightSavingHour = ee;
33317
- class m {
33316
+ e.IfcDaylightSavingHour = m;
33317
+ class ee {
33318
33318
  constructor(e) {
33319
33319
  this.value = e, this.type = 1, this.name = "IFCDESCRIPTIVEMEASURE";
33320
33320
  }
33321
33321
  }
33322
- e.IfcDescriptiveMeasure = m;
33322
+ e.IfcDescriptiveMeasure = ee;
33323
33323
  class te extends q {
33324
33324
  constructor() {
33325
33325
  super(...arguments), this.type = 10, this.name = "IFCDIMENSIONCOUNT";
@@ -42525,8 +42525,8 @@ var Z;
42525
42525
  }
42526
42526
  e.IfcDocumentElectronicFormat = Pa;
42527
42527
  class Fa extends J {
42528
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
42529
- super(), this.DocumentId = e, this.Name = t, this.Description = n, this.DocumentReferences = r, this.Purpose = i, this.IntendedUse = a, this.Scope = o, this.Revision = s, this.DocumentOwner = c, this.Editors = l, this.CreationTime = u, this.LastRevisionTime = d, this.ElectronicFormat = f, this.ValidFrom = p, this.ValidUntil = ee, this.Confidentiality = m, this.Status = te, this.type = 1154170062;
42528
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
42529
+ super(), this.DocumentId = e, this.Name = t, this.Description = n, this.DocumentReferences = r, this.Purpose = i, this.IntendedUse = a, this.Scope = o, this.Revision = s, this.DocumentOwner = c, this.Editors = l, this.CreationTime = u, this.LastRevisionTime = d, this.ElectronicFormat = f, this.ValidFrom = p, this.ValidUntil = m, this.Confidentiality = ee, this.Status = te, this.type = 1154170062;
42530
42530
  }
42531
42531
  }
42532
42532
  e.IfcDocumentInformation = Fa;
@@ -43839,14 +43839,14 @@ var Z;
43839
43839
  }
43840
43840
  e.IfcStructuralLoadSingleForceWarping = Il;
43841
43841
  class Ll extends Cc {
43842
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h, ie, ae, oe) {
43843
- super(e, t, n, r, i, a, o), this.ProfileName = e, this.ProfileDefinition = t, this.PhysicalWeight = n, this.Perimeter = r, this.MinimumPlateThickness = i, this.MaximumPlateThickness = a, this.CrossSectionArea = o, this.TorsionalConstantX = s, this.MomentOfInertiaYZ = c, this.MomentOfInertiaY = l, this.MomentOfInertiaZ = u, this.WarpingConstant = d, this.ShearCentreZ = f, this.ShearCentreY = p, this.ShearDeformationAreaZ = ee, this.ShearDeformationAreaY = m, this.MaximumSectionModulusY = te, this.MinimumSectionModulusY = ne, this.MaximumSectionModulusZ = re, this.MinimumSectionModulusZ = h, this.TorsionalSectionModulus = ie, this.CentreOfGravityInX = ae, this.CentreOfGravityInY = oe, this.type = 3843319758;
43842
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h, ie, ae, oe) {
43843
+ super(e, t, n, r, i, a, o), this.ProfileName = e, this.ProfileDefinition = t, this.PhysicalWeight = n, this.Perimeter = r, this.MinimumPlateThickness = i, this.MaximumPlateThickness = a, this.CrossSectionArea = o, this.TorsionalConstantX = s, this.MomentOfInertiaYZ = c, this.MomentOfInertiaY = l, this.MomentOfInertiaZ = u, this.WarpingConstant = d, this.ShearCentreZ = f, this.ShearCentreY = p, this.ShearDeformationAreaZ = m, this.ShearDeformationAreaY = ee, this.MaximumSectionModulusY = te, this.MinimumSectionModulusY = ne, this.MaximumSectionModulusZ = re, this.MinimumSectionModulusZ = h, this.TorsionalSectionModulus = ie, this.CentreOfGravityInX = ae, this.CentreOfGravityInY = oe, this.type = 3843319758;
43844
43844
  }
43845
43845
  }
43846
43846
  e.IfcStructuralProfileProperties = Ll;
43847
43847
  class Rl extends Ll {
43848
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h, ie, ae, oe, se, ce, le, ue) {
43849
- super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h, ie, ae, oe), this.ProfileName = e, this.ProfileDefinition = t, this.PhysicalWeight = n, this.Perimeter = r, this.MinimumPlateThickness = i, this.MaximumPlateThickness = a, this.CrossSectionArea = o, this.TorsionalConstantX = s, this.MomentOfInertiaYZ = c, this.MomentOfInertiaY = l, this.MomentOfInertiaZ = u, this.WarpingConstant = d, this.ShearCentreZ = f, this.ShearCentreY = p, this.ShearDeformationAreaZ = ee, this.ShearDeformationAreaY = m, this.MaximumSectionModulusY = te, this.MinimumSectionModulusY = ne, this.MaximumSectionModulusZ = re, this.MinimumSectionModulusZ = h, this.TorsionalSectionModulus = ie, this.CentreOfGravityInX = ae, this.CentreOfGravityInY = oe, this.ShearAreaZ = se, this.ShearAreaY = ce, this.PlasticShapeFactorY = le, this.PlasticShapeFactorZ = ue, this.type = 3653947884;
43848
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h, ie, ae, oe, se, ce, le, ue) {
43849
+ super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h, ie, ae, oe), this.ProfileName = e, this.ProfileDefinition = t, this.PhysicalWeight = n, this.Perimeter = r, this.MinimumPlateThickness = i, this.MaximumPlateThickness = a, this.CrossSectionArea = o, this.TorsionalConstantX = s, this.MomentOfInertiaYZ = c, this.MomentOfInertiaY = l, this.MomentOfInertiaZ = u, this.WarpingConstant = d, this.ShearCentreZ = f, this.ShearCentreY = p, this.ShearDeformationAreaZ = m, this.ShearDeformationAreaY = ee, this.MaximumSectionModulusY = te, this.MinimumSectionModulusY = ne, this.MaximumSectionModulusZ = re, this.MinimumSectionModulusZ = h, this.TorsionalSectionModulus = ie, this.CentreOfGravityInX = ae, this.CentreOfGravityInY = oe, this.ShearAreaZ = se, this.ShearAreaY = ce, this.PlasticShapeFactorY = le, this.PlasticShapeFactorZ = ue, this.type = 3653947884;
43850
43850
  }
43851
43851
  }
43852
43852
  e.IfcStructuralSteelProfileProperties = Rl;
@@ -44103,8 +44103,8 @@ var Z;
44103
44103
  }
44104
44104
  e.IfcCompositeCurveSegment = Cu;
44105
44105
  class wu extends Jc {
44106
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
44107
- super(e, t, n), this.ProfileType = e, this.ProfileName = t, this.Position = n, this.OverallHeight = r, this.BaseWidth2 = i, this.Radius = a, this.HeadWidth = o, this.HeadDepth2 = s, this.HeadDepth3 = c, this.WebThickness = l, this.BaseWidth4 = u, this.BaseDepth1 = d, this.BaseDepth2 = f, this.BaseDepth3 = p, this.CentreOfGravityInY = ee, this.type = 4133800736;
44106
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
44107
+ super(e, t, n), this.ProfileType = e, this.ProfileName = t, this.Position = n, this.OverallHeight = r, this.BaseWidth2 = i, this.Radius = a, this.HeadWidth = o, this.HeadDepth2 = s, this.HeadDepth3 = c, this.WebThickness = l, this.BaseWidth4 = u, this.BaseDepth1 = d, this.BaseDepth2 = f, this.BaseDepth3 = p, this.CentreOfGravityInY = m, this.type = 4133800736;
44108
44108
  }
44109
44109
  }
44110
44110
  e.IfcCraneRailAShapeProfileDef = wu;
@@ -44163,8 +44163,8 @@ var Z;
44163
44163
  }
44164
44164
  e.IfcDirection = Nu;
44165
44165
  class Pu extends hl {
44166
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
44167
- super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.ThresholdDepth = o, this.ThresholdThickness = s, this.TransomThickness = c, this.TransomOffset = l, this.LiningOffset = u, this.ThresholdOffset = d, this.CasingThickness = f, this.CasingDepth = p, this.ShapeAspectStyle = ee, this.type = 2963535650;
44166
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
44167
+ super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.ThresholdDepth = o, this.ThresholdThickness = s, this.TransomThickness = c, this.TransomOffset = l, this.LiningOffset = u, this.ThresholdOffset = d, this.CasingThickness = f, this.CasingDepth = p, this.ShapeAspectStyle = m, this.type = 2963535650;
44168
44168
  }
44169
44169
  }
44170
44170
  e.IfcDoorLiningProperties = Pu;
@@ -44265,8 +44265,8 @@ var Z;
44265
44265
  }
44266
44266
  e.IfcFillAreaStyleTiles = Xu;
44267
44267
  class Zu extends hl {
44268
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re) {
44269
- super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.PropertySource = i, this.FlowConditionTimeSeries = a, this.VelocityTimeSeries = o, this.FlowrateTimeSeries = s, this.Fluid = c, this.PressureTimeSeries = l, this.UserDefinedPropertySource = u, this.TemperatureSingleValue = d, this.WetBulbTemperatureSingleValue = f, this.WetBulbTemperatureTimeSeries = p, this.TemperatureTimeSeries = ee, this.FlowrateSingleValue = m, this.FlowConditionSingleValue = te, this.VelocitySingleValue = ne, this.PressureSingleValue = re, this.type = 3455213021;
44268
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re) {
44269
+ super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.PropertySource = i, this.FlowConditionTimeSeries = a, this.VelocityTimeSeries = o, this.FlowrateTimeSeries = s, this.Fluid = c, this.PressureTimeSeries = l, this.UserDefinedPropertySource = u, this.TemperatureSingleValue = d, this.WetBulbTemperatureSingleValue = f, this.WetBulbTemperatureTimeSeries = p, this.TemperatureTimeSeries = m, this.FlowrateSingleValue = ee, this.FlowConditionSingleValue = te, this.VelocitySingleValue = ne, this.PressureSingleValue = re, this.type = 3455213021;
44270
44270
  }
44271
44271
  }
44272
44272
  e.IfcFluidFlowProperties = Zu;
@@ -45345,8 +45345,8 @@ var Z;
45345
45345
  }
45346
45346
  e.IfcSanitaryTerminalType = pm;
45347
45347
  class mm extends qf {
45348
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h, ie, ae, oe) {
45349
- super(e, t, n, r, i), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ActualStart = a, this.EarlyStart = o, this.LateStart = s, this.ScheduleStart = c, this.ActualFinish = l, this.EarlyFinish = u, this.LateFinish = d, this.ScheduleFinish = f, this.ScheduleDuration = p, this.ActualDuration = ee, this.RemainingTime = m, this.FreeFloat = te, this.TotalFloat = ne, this.IsCritical = re, this.StatusTime = h, this.StartFloat = ie, this.FinishFloat = ae, this.Completion = oe, this.type = 3517283431;
45348
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h, ie, ae, oe) {
45349
+ super(e, t, n, r, i), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ActualStart = a, this.EarlyStart = o, this.LateStart = s, this.ScheduleStart = c, this.ActualFinish = l, this.EarlyFinish = u, this.LateFinish = d, this.ScheduleFinish = f, this.ScheduleDuration = p, this.ActualDuration = m, this.RemainingTime = ee, this.FreeFloat = te, this.TotalFloat = ne, this.IsCritical = re, this.StatusTime = h, this.StartFloat = ie, this.FinishFloat = ae, this.Completion = oe, this.type = 3517283431;
45350
45350
  }
45351
45351
  }
45352
45352
  e.IfcScheduleTimeControl = mm;
@@ -45579,20 +45579,20 @@ var Z;
45579
45579
  }
45580
45580
  e.IfcWasteTerminalType = Qm;
45581
45581
  class $m extends qf {
45582
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
45583
- super(e, t, n, r, i), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.Identifier = a, this.CreationDate = o, this.Creators = s, this.Purpose = c, this.Duration = l, this.TotalFloat = u, this.StartTime = d, this.FinishTime = f, this.WorkControlType = p, this.UserDefinedControlType = ee, this.type = 1028945134;
45582
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
45583
+ super(e, t, n, r, i), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.Identifier = a, this.CreationDate = o, this.Creators = s, this.Purpose = c, this.Duration = l, this.TotalFloat = u, this.StartTime = d, this.FinishTime = f, this.WorkControlType = p, this.UserDefinedControlType = m, this.type = 1028945134;
45584
45584
  }
45585
45585
  }
45586
45586
  e.IfcWorkControl = $m;
45587
45587
  class eh extends $m {
45588
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
45589
- super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.Identifier = a, this.CreationDate = o, this.Creators = s, this.Purpose = c, this.Duration = l, this.TotalFloat = u, this.StartTime = d, this.FinishTime = f, this.WorkControlType = p, this.UserDefinedControlType = ee, this.type = 4218914973;
45588
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
45589
+ super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.Identifier = a, this.CreationDate = o, this.Creators = s, this.Purpose = c, this.Duration = l, this.TotalFloat = u, this.StartTime = d, this.FinishTime = f, this.WorkControlType = p, this.UserDefinedControlType = m, this.type = 4218914973;
45590
45590
  }
45591
45591
  }
45592
45592
  e.IfcWorkPlan = eh;
45593
45593
  class th extends $m {
45594
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
45595
- super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.Identifier = a, this.CreationDate = o, this.Creators = s, this.Purpose = c, this.Duration = l, this.TotalFloat = u, this.StartTime = d, this.FinishTime = f, this.WorkControlType = p, this.UserDefinedControlType = ee, this.type = 3342526732;
45594
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
45595
+ super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.Identifier = a, this.CreationDate = o, this.Creators = s, this.Purpose = c, this.Duration = l, this.TotalFloat = u, this.StartTime = d, this.FinishTime = f, this.WorkControlType = p, this.UserDefinedControlType = m, this.type = 3342526732;
45596
45596
  }
45597
45597
  }
45598
45598
  e.IfcWorkSchedule = th;
@@ -46065,8 +46065,8 @@ var Z;
46065
46065
  }
46066
46066
  e.IfcReinforcingElement = dg;
46067
46067
  class z extends dg {
46068
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
46069
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.MeshLength = l, this.MeshWidth = u, this.LongitudinalBarNominalDiameter = d, this.TransverseBarNominalDiameter = f, this.LongitudinalBarCrossSectionArea = p, this.TransverseBarCrossSectionArea = ee, this.LongitudinalBarSpacing = m, this.TransverseBarSpacing = te, this.type = 2320036040;
46068
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
46069
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.MeshLength = l, this.MeshWidth = u, this.LongitudinalBarNominalDiameter = d, this.TransverseBarNominalDiameter = f, this.LongitudinalBarCrossSectionArea = p, this.TransverseBarCrossSectionArea = m, this.LongitudinalBarSpacing = ee, this.TransverseBarSpacing = te, this.type = 2320036040;
46070
46070
  }
46071
46071
  }
46072
46072
  e.IfcReinforcingMesh = z;
@@ -46113,8 +46113,8 @@ var Z;
46113
46113
  }
46114
46114
  e.IfcStructuralAnalysisModel = _g;
46115
46115
  class vg extends dg {
46116
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
46117
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.TensionForce = f, this.PreStress = p, this.FrictionCoefficient = ee, this.AnchorageSlip = m, this.MinCurvatureRadius = te, this.type = 3824725483;
46116
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
46117
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.TensionForce = f, this.PreStress = p, this.FrictionCoefficient = m, this.AnchorageSlip = ee, this.MinCurvatureRadius = te, this.type = 3824725483;
46118
46118
  }
46119
46119
  }
46120
46120
  e.IfcTendon = vg;
@@ -96698,18 +96698,18 @@ var Q;
96698
96698
  }
96699
96699
  }
96700
96700
  e.IfcCompoundPlaneAngleMeasure = p;
96701
- class ee extends q {
96701
+ class m extends q {
96702
96702
  constructor() {
96703
96703
  super(...arguments), this.type = 4, this.name = "IFCCONTEXTDEPENDENTMEASURE";
96704
96704
  }
96705
96705
  }
96706
- e.IfcContextDependentMeasure = ee;
96707
- class m extends q {
96706
+ e.IfcContextDependentMeasure = m;
96707
+ class ee extends q {
96708
96708
  constructor() {
96709
96709
  super(...arguments), this.type = 4, this.name = "IFCCOUNTMEASURE";
96710
96710
  }
96711
96711
  }
96712
- e.IfcCountMeasure = m;
96712
+ e.IfcCountMeasure = ee;
96713
96713
  class te extends q {
96714
96714
  constructor() {
96715
96715
  super(...arguments), this.type = 4, this.name = "IFCCURVATUREMEASURE";
@@ -108438,14 +108438,14 @@ var Q;
108438
108438
  }
108439
108439
  e.IfcTableRow = Gs;
108440
108440
  class Ks extends Cs {
108441
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h) {
108442
- super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = ee, this.ActualDuration = m, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.type = 1549132990;
108441
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h) {
108442
+ super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = m, this.ActualDuration = ee, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.type = 1549132990;
108443
108443
  }
108444
108444
  }
108445
108445
  e.IfcTaskTime = Ks;
108446
108446
  class qs extends Ks {
108447
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h, ie) {
108448
- super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = ee, this.ActualDuration = m, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.Recurrence = ie, this.type = 2771591690;
108447
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h, ie) {
108448
+ super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = m, this.ActualDuration = ee, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.Recurrence = ie, this.type = 2771591690;
108449
108449
  }
108450
108450
  }
108451
108451
  e.IfcTaskTimeRecurring = qs;
@@ -108702,8 +108702,8 @@ var Q;
108702
108702
  }
108703
108703
  e.IfcDerivedProfileDef = Fc;
108704
108704
  class Ic extends vo {
108705
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
108706
- super(), this.Identification = e, this.Name = t, this.Description = n, this.Location = r, this.Purpose = i, this.IntendedUse = a, this.Scope = o, this.Revision = s, this.DocumentOwner = c, this.Editors = l, this.CreationTime = u, this.LastRevisionTime = d, this.ElectronicFormat = f, this.ValidFrom = p, this.ValidUntil = ee, this.Confidentiality = m, this.Status = te, this.type = 1154170062;
108705
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
108706
+ super(), this.Identification = e, this.Name = t, this.Description = n, this.Location = r, this.Purpose = i, this.IntendedUse = a, this.Scope = o, this.Revision = s, this.DocumentOwner = c, this.Editors = l, this.CreationTime = u, this.LastRevisionTime = d, this.ElectronicFormat = f, this.ValidFrom = p, this.ValidUntil = m, this.Confidentiality = ee, this.Status = te, this.type = 1154170062;
108707
108707
  }
108708
108708
  }
108709
108709
  e.IfcDocumentInformation = Ic;
@@ -109164,8 +109164,8 @@ var Q;
109164
109164
  }
109165
109165
  e.IfcResourceConstraintRelationship = iu;
109166
109166
  class au extends Cs {
109167
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne) {
109168
- super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.ScheduleWork = r, this.ScheduleUsage = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.ScheduleContour = s, this.LevelingDelay = c, this.IsOverAllocated = l, this.StatusTime = u, this.ActualWork = d, this.ActualUsage = f, this.ActualStart = p, this.ActualFinish = ee, this.RemainingWork = m, this.RemainingUsage = te, this.Completion = ne, this.type = 1042787934;
109167
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne) {
109168
+ super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.ScheduleWork = r, this.ScheduleUsage = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.ScheduleContour = s, this.LevelingDelay = c, this.IsOverAllocated = l, this.StatusTime = u, this.ActualWork = d, this.ActualUsage = f, this.ActualStart = p, this.ActualFinish = m, this.RemainingWork = ee, this.RemainingUsage = te, this.Completion = ne, this.type = 1042787934;
109169
109169
  }
109170
109170
  }
109171
109171
  e.IfcResourceTime = au;
@@ -109398,8 +109398,8 @@ var Q;
109398
109398
  }
109399
109399
  e.IfcAnnotationFillArea = Bu;
109400
109400
  class Vu extends jl {
109401
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
109402
- super(e, t, n), this.ProfileType = e, this.ProfileName = t, this.Position = n, this.BottomFlangeWidth = r, this.OverallDepth = i, this.WebThickness = a, this.BottomFlangeThickness = o, this.BottomFlangeFilletRadius = s, this.TopFlangeWidth = c, this.TopFlangeThickness = l, this.TopFlangeFilletRadius = u, this.BottomFlangeEdgeRadius = d, this.BottomFlangeSlope = f, this.TopFlangeEdgeRadius = p, this.TopFlangeSlope = ee, this.type = 3207858831;
109401
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
109402
+ super(e, t, n), this.ProfileType = e, this.ProfileName = t, this.Position = n, this.BottomFlangeWidth = r, this.OverallDepth = i, this.WebThickness = a, this.BottomFlangeThickness = o, this.BottomFlangeFilletRadius = s, this.TopFlangeWidth = c, this.TopFlangeThickness = l, this.TopFlangeFilletRadius = u, this.BottomFlangeEdgeRadius = d, this.BottomFlangeSlope = f, this.TopFlangeEdgeRadius = p, this.TopFlangeSlope = m, this.type = 3207858831;
109403
109403
  }
109404
109404
  }
109405
109405
  e.IfcAsymmetricIShapeProfileDef = Vu;
@@ -110382,8 +110382,8 @@ var Q;
110382
110382
  }
110383
110383
  e.IfcTriangulatedFaceSet = Hp;
110384
110384
  class Up extends Xd {
110385
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m) {
110386
- super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.TransomThickness = o, this.MullionThickness = s, this.FirstTransomOffset = c, this.SecondTransomOffset = l, this.FirstMullionOffset = u, this.SecondMullionOffset = d, this.ShapeAspectStyle = f, this.LiningOffset = p, this.LiningToPanelOffsetX = ee, this.LiningToPanelOffsetY = m, this.type = 336235671;
110385
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee) {
110386
+ super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.TransomThickness = o, this.MullionThickness = s, this.FirstTransomOffset = c, this.SecondTransomOffset = l, this.FirstMullionOffset = u, this.SecondMullionOffset = d, this.ShapeAspectStyle = f, this.LiningOffset = p, this.LiningToPanelOffsetX = m, this.LiningToPanelOffsetY = ee, this.type = 336235671;
110387
110387
  }
110388
110388
  }
110389
110389
  e.IfcWindowLiningProperties = Up;
@@ -110592,8 +110592,8 @@ var Q;
110592
110592
  }
110593
110593
  e.IfcDistributionFlowElementType = Sm;
110594
110594
  class Cm extends Xd {
110595
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
110596
- super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.ThresholdDepth = o, this.ThresholdThickness = s, this.TransomThickness = c, this.TransomOffset = l, this.LiningOffset = u, this.ThresholdOffset = d, this.CasingThickness = f, this.CasingDepth = p, this.ShapeAspectStyle = ee, this.LiningToPanelOffsetX = m, this.LiningToPanelOffsetY = te, this.type = 2963535650;
110595
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
110596
+ super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.ThresholdDepth = o, this.ThresholdThickness = s, this.TransomThickness = c, this.TransomOffset = l, this.LiningOffset = u, this.ThresholdOffset = d, this.CasingThickness = f, this.CasingDepth = p, this.ShapeAspectStyle = m, this.LiningToPanelOffsetX = ee, this.LiningToPanelOffsetY = te, this.type = 2963535650;
110597
110597
  }
110598
110598
  }
110599
110599
  e.IfcDoorLiningProperties = Cm;
@@ -111060,14 +111060,14 @@ var Q;
111060
111060
  }
111061
111061
  e.IfcReinforcingElementType = Kh;
111062
111062
  class qh extends Gh {
111063
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne) {
111064
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.MeshLength = l, this.MeshWidth = u, this.LongitudinalBarNominalDiameter = d, this.TransverseBarNominalDiameter = f, this.LongitudinalBarCrossSectionArea = p, this.TransverseBarCrossSectionArea = ee, this.LongitudinalBarSpacing = m, this.TransverseBarSpacing = te, this.PredefinedType = ne, this.type = 2320036040;
111063
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne) {
111064
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.MeshLength = l, this.MeshWidth = u, this.LongitudinalBarNominalDiameter = d, this.TransverseBarNominalDiameter = f, this.LongitudinalBarCrossSectionArea = p, this.TransverseBarCrossSectionArea = m, this.LongitudinalBarSpacing = ee, this.TransverseBarSpacing = te, this.PredefinedType = ne, this.type = 2320036040;
111065
111065
  }
111066
111066
  }
111067
111067
  e.IfcReinforcingMesh = qh;
111068
111068
  class Jh extends Kh {
111069
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h) {
111070
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.MeshLength = u, this.MeshWidth = d, this.LongitudinalBarNominalDiameter = f, this.TransverseBarNominalDiameter = p, this.LongitudinalBarCrossSectionArea = ee, this.TransverseBarCrossSectionArea = m, this.LongitudinalBarSpacing = te, this.TransverseBarSpacing = ne, this.BendingShapeCode = re, this.BendingParameters = h, this.type = 2310774935;
111069
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h) {
111070
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.MeshLength = u, this.MeshWidth = d, this.LongitudinalBarNominalDiameter = f, this.TransverseBarNominalDiameter = p, this.LongitudinalBarCrossSectionArea = m, this.TransverseBarCrossSectionArea = ee, this.LongitudinalBarSpacing = te, this.TransverseBarSpacing = ne, this.BendingShapeCode = re, this.BendingParameters = h, this.type = 2310774935;
111071
111071
  }
111072
111072
  }
111073
111073
  e.IfcReinforcingMeshType = Jh;
@@ -111282,8 +111282,8 @@ var Q;
111282
111282
  }
111283
111283
  e.IfcTankType = pg;
111284
111284
  class mg extends Gh {
111285
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
111286
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.TensionForce = f, this.PreStress = p, this.FrictionCoefficient = ee, this.AnchorageSlip = m, this.MinCurvatureRadius = te, this.type = 3824725483;
111285
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
111286
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.TensionForce = f, this.PreStress = p, this.FrictionCoefficient = m, this.AnchorageSlip = ee, this.MinCurvatureRadius = te, this.type = 3824725483;
111287
111287
  }
111288
111288
  }
111289
111289
  e.IfcTendon = mg;
@@ -112026,8 +112026,8 @@ var Q;
112026
112026
  }
112027
112027
  e.IfcReinforcingBar = Ev;
112028
112028
  class Dv extends Kh {
112029
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m) {
112030
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.BarLength = f, this.BarSurface = p, this.BendingShapeCode = ee, this.BendingParameters = m, this.type = 2572171363;
112029
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee) {
112030
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.BarLength = f, this.BarSurface = p, this.BendingShapeCode = m, this.BendingParameters = ee, this.type = 2572171363;
112031
112031
  }
112032
112032
  }
112033
112033
  e.IfcReinforcingBarType = Dv;
@@ -174094,18 +174094,18 @@ var $;
174094
174094
  }
174095
174095
  }
174096
174096
  e.IfcCompoundPlaneAngleMeasure = p;
174097
- class ee extends q {
174097
+ class m extends q {
174098
174098
  constructor() {
174099
174099
  super(...arguments), this.type = 4, this.name = "IFCCONTEXTDEPENDENTMEASURE";
174100
174100
  }
174101
174101
  }
174102
- e.IfcContextDependentMeasure = ee;
174103
- class m extends q {
174102
+ e.IfcContextDependentMeasure = m;
174103
+ class ee extends q {
174104
174104
  constructor() {
174105
174105
  super(...arguments), this.type = 10, this.name = "IFCCOUNTMEASURE";
174106
174106
  }
174107
174107
  }
174108
- e.IfcCountMeasure = m;
174108
+ e.IfcCountMeasure = ee;
174109
174109
  class te extends q {
174110
174110
  constructor() {
174111
174111
  super(...arguments), this.type = 4, this.name = "IFCCURVATUREMEASURE";
@@ -188894,14 +188894,14 @@ var $;
188894
188894
  }
188895
188895
  e.IfcTableRow = Pc;
188896
188896
  class Fc extends fc {
188897
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h) {
188898
- super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = ee, this.ActualDuration = m, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.type = 1549132990;
188897
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h) {
188898
+ super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = m, this.ActualDuration = ee, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.type = 1549132990;
188899
188899
  }
188900
188900
  }
188901
188901
  e.IfcTaskTime = Fc;
188902
188902
  class Ic extends Fc {
188903
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h, ie) {
188904
- super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = ee, this.ActualDuration = m, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.Recurrence = ie, this.type = 2771591690;
188903
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h, ie) {
188904
+ super(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.DurationType = r, this.ScheduleDuration = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.EarlyStart = s, this.EarlyFinish = c, this.LateStart = l, this.LateFinish = u, this.FreeFloat = d, this.TotalFloat = f, this.IsCritical = p, this.StatusTime = m, this.ActualDuration = ee, this.ActualStart = te, this.ActualFinish = ne, this.RemainingTime = re, this.Completion = h, this.Recurrence = ie, this.type = 2771591690;
188905
188905
  }
188906
188906
  }
188907
188907
  e.IfcTaskTimeRecurring = Ic;
@@ -189188,8 +189188,8 @@ var $;
189188
189188
  }
189189
189189
  e.IfcDerivedProfileDef = kl;
189190
189190
  class Al extends rs {
189191
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
189192
- super(), this.Identification = e, this.Name = t, this.Description = n, this.Location = r, this.Purpose = i, this.IntendedUse = a, this.Scope = o, this.Revision = s, this.DocumentOwner = c, this.Editors = l, this.CreationTime = u, this.LastRevisionTime = d, this.ElectronicFormat = f, this.ValidFrom = p, this.ValidUntil = ee, this.Confidentiality = m, this.Status = te, this.type = 1154170062;
189191
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
189192
+ super(), this.Identification = e, this.Name = t, this.Description = n, this.Location = r, this.Purpose = i, this.IntendedUse = a, this.Scope = o, this.Revision = s, this.DocumentOwner = c, this.Editors = l, this.CreationTime = u, this.LastRevisionTime = d, this.ElectronicFormat = f, this.ValidFrom = p, this.ValidUntil = m, this.Confidentiality = ee, this.Status = te, this.type = 1154170062;
189193
189193
  }
189194
189194
  }
189195
189195
  e.IfcDocumentInformation = Al;
@@ -189668,8 +189668,8 @@ var $;
189668
189668
  }
189669
189669
  e.IfcResourceConstraintRelationship = C;
189670
189670
  class Qu extends fc {
189671
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne) {
189672
- super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.ScheduleWork = r, this.ScheduleUsage = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.ScheduleContour = s, this.LevelingDelay = c, this.IsOverAllocated = l, this.StatusTime = u, this.ActualWork = d, this.ActualUsage = f, this.ActualStart = p, this.ActualFinish = ee, this.RemainingWork = m, this.RemainingUsage = te, this.Completion = ne, this.type = 1042787934;
189671
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne) {
189672
+ super(e, t, n), this.Name = e, this.DataOrigin = t, this.UserDefinedDataOrigin = n, this.ScheduleWork = r, this.ScheduleUsage = i, this.ScheduleStart = a, this.ScheduleFinish = o, this.ScheduleContour = s, this.LevelingDelay = c, this.IsOverAllocated = l, this.StatusTime = u, this.ActualWork = d, this.ActualUsage = f, this.ActualStart = p, this.ActualFinish = m, this.RemainingWork = ee, this.RemainingUsage = te, this.Completion = ne, this.type = 1042787934;
189673
189673
  }
189674
189674
  }
189675
189675
  e.IfcResourceTime = Qu;
@@ -189902,8 +189902,8 @@ var $;
189902
189902
  }
189903
189903
  e.IfcAnnotationFillArea = Id;
189904
189904
  class Ld extends wu {
189905
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee) {
189906
- super(e, t, n), this.ProfileType = e, this.ProfileName = t, this.Position = n, this.BottomFlangeWidth = r, this.OverallDepth = i, this.WebThickness = a, this.BottomFlangeThickness = o, this.BottomFlangeFilletRadius = s, this.TopFlangeWidth = c, this.TopFlangeThickness = l, this.TopFlangeFilletRadius = u, this.BottomFlangeEdgeRadius = d, this.BottomFlangeSlope = f, this.TopFlangeEdgeRadius = p, this.TopFlangeSlope = ee, this.type = 3207858831;
189905
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) {
189906
+ super(e, t, n), this.ProfileType = e, this.ProfileName = t, this.Position = n, this.BottomFlangeWidth = r, this.OverallDepth = i, this.WebThickness = a, this.BottomFlangeThickness = o, this.BottomFlangeFilletRadius = s, this.TopFlangeWidth = c, this.TopFlangeThickness = l, this.TopFlangeFilletRadius = u, this.BottomFlangeEdgeRadius = d, this.BottomFlangeSlope = f, this.TopFlangeEdgeRadius = p, this.TopFlangeSlope = m, this.type = 3207858831;
189907
189907
  }
189908
189908
  }
189909
189909
  e.IfcAsymmetricIShapeProfileDef = Ld;
@@ -190970,8 +190970,8 @@ var $;
190970
190970
  }
190971
190971
  e.IfcVehicleType = Qm;
190972
190972
  class $m extends ep {
190973
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m) {
190974
- super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.TransomThickness = o, this.MullionThickness = s, this.FirstTransomOffset = c, this.SecondTransomOffset = l, this.FirstMullionOffset = u, this.SecondMullionOffset = d, this.ShapeAspectStyle = f, this.LiningOffset = p, this.LiningToPanelOffsetX = ee, this.LiningToPanelOffsetY = m, this.type = 336235671;
190973
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee) {
190974
+ super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.TransomThickness = o, this.MullionThickness = s, this.FirstTransomOffset = c, this.SecondTransomOffset = l, this.FirstMullionOffset = u, this.SecondMullionOffset = d, this.ShapeAspectStyle = f, this.LiningOffset = p, this.LiningToPanelOffsetX = m, this.LiningToPanelOffsetY = ee, this.type = 336235671;
190975
190975
  }
190976
190976
  }
190977
190977
  e.IfcWindowLiningProperties = $m;
@@ -191204,8 +191204,8 @@ var $;
191204
191204
  }
191205
191205
  e.IfcDistributionFlowElementType = Lh;
191206
191206
  class Rh extends ep {
191207
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
191208
- super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.ThresholdDepth = o, this.ThresholdThickness = s, this.TransomThickness = c, this.TransomOffset = l, this.LiningOffset = u, this.ThresholdOffset = d, this.CasingThickness = f, this.CasingDepth = p, this.ShapeAspectStyle = ee, this.LiningToPanelOffsetX = m, this.LiningToPanelOffsetY = te, this.type = 2963535650;
191207
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
191208
+ super(e, t, n, r), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.LiningDepth = i, this.LiningThickness = a, this.ThresholdDepth = o, this.ThresholdThickness = s, this.TransomThickness = c, this.TransomOffset = l, this.LiningOffset = u, this.ThresholdOffset = d, this.CasingThickness = f, this.CasingDepth = p, this.ShapeAspectStyle = m, this.LiningToPanelOffsetX = ee, this.LiningToPanelOffsetY = te, this.type = 2963535650;
191209
191209
  }
191210
191210
  }
191211
191211
  e.IfcDoorLiningProperties = Rh;
@@ -191792,14 +191792,14 @@ var $;
191792
191792
  }
191793
191793
  e.IfcReinforcingElementType = c_;
191794
191794
  class l_ extends s_ {
191795
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne) {
191796
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.MeshLength = l, this.MeshWidth = u, this.LongitudinalBarNominalDiameter = d, this.TransverseBarNominalDiameter = f, this.LongitudinalBarCrossSectionArea = p, this.TransverseBarCrossSectionArea = ee, this.LongitudinalBarSpacing = m, this.TransverseBarSpacing = te, this.PredefinedType = ne, this.type = 2320036040;
191795
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne) {
191796
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.MeshLength = l, this.MeshWidth = u, this.LongitudinalBarNominalDiameter = d, this.TransverseBarNominalDiameter = f, this.LongitudinalBarCrossSectionArea = p, this.TransverseBarCrossSectionArea = m, this.LongitudinalBarSpacing = ee, this.TransverseBarSpacing = te, this.PredefinedType = ne, this.type = 2320036040;
191797
191797
  }
191798
191798
  }
191799
191799
  e.IfcReinforcingMesh = l_;
191800
191800
  class u_ extends c_ {
191801
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te, ne, re, h) {
191802
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.MeshLength = u, this.MeshWidth = d, this.LongitudinalBarNominalDiameter = f, this.TransverseBarNominalDiameter = p, this.LongitudinalBarCrossSectionArea = ee, this.TransverseBarCrossSectionArea = m, this.LongitudinalBarSpacing = te, this.TransverseBarSpacing = ne, this.BendingShapeCode = re, this.BendingParameters = h, this.type = 2310774935;
191801
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te, ne, re, h) {
191802
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.MeshLength = u, this.MeshWidth = d, this.LongitudinalBarNominalDiameter = f, this.TransverseBarNominalDiameter = p, this.LongitudinalBarCrossSectionArea = m, this.TransverseBarCrossSectionArea = ee, this.LongitudinalBarSpacing = te, this.TransverseBarSpacing = ne, this.BendingShapeCode = re, this.BendingParameters = h, this.type = 2310774935;
191803
191803
  }
191804
191804
  }
191805
191805
  e.IfcReinforcingMeshType = u_;
@@ -192074,8 +192074,8 @@ var $;
192074
192074
  }
192075
192075
  e.IfcTankType = tv;
192076
192076
  class nv extends s_ {
192077
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m, te) {
192078
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.TensionForce = f, this.PreStress = p, this.FrictionCoefficient = ee, this.AnchorageSlip = m, this.MinCurvatureRadius = te, this.type = 3824725483;
192077
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee, te) {
192078
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ObjectType = i, this.ObjectPlacement = a, this.Representation = o, this.Tag = s, this.SteelGrade = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.TensionForce = f, this.PreStress = p, this.FrictionCoefficient = m, this.AnchorageSlip = ee, this.MinCurvatureRadius = te, this.type = 3824725483;
192079
192079
  }
192080
192080
  }
192081
192081
  e.IfcTendon = nv;
@@ -193004,8 +193004,8 @@ var $;
193004
193004
  }
193005
193005
  e.IfcReinforcingBar = qb;
193006
193006
  class Jb extends c_ {
193007
- constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, ee, m) {
193008
- super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.BarLength = f, this.BarSurface = p, this.BendingShapeCode = ee, this.BendingParameters = m, this.type = 2572171363;
193007
+ constructor(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ee) {
193008
+ super(e, t, n, r, i, a, o, s, c), this.GlobalId = e, this.OwnerHistory = t, this.Name = n, this.Description = r, this.ApplicableOccurrence = i, this.HasPropertySets = a, this.RepresentationMaps = o, this.Tag = s, this.ElementType = c, this.PredefinedType = l, this.NominalDiameter = u, this.CrossSectionArea = d, this.BarLength = f, this.BarSurface = p, this.BendingShapeCode = m, this.BendingParameters = ee, this.type = 2572171363;
193009
193009
  }
193010
193010
  }
193011
193011
  e.IfcReinforcingBarType = Jb;
@@ -194652,9 +194652,11 @@ var jS = class {
194652
194652
  constructor() {
194653
194653
  this.parser = new TS(), this.parser.SetWasmPath(this._wasmPath, !1), this.propertySerializer = new kS(this.parser);
194654
194654
  }
194655
- getPath() {
194656
- return "ifc-parser.wasm";
194657
- }
194655
+ getPath = () => {
194656
+ if (/\.wasm$/i.test(this._wasmPath)) return this._wasmPath;
194657
+ let e = this._wasmPath.endsWith("/") ? "" : "/";
194658
+ return `${this._wasmPath}${e}ifc-parser.wasm`;
194659
+ };
194658
194660
  async initParser(e) {
194659
194661
  this.parserReady ||= this.parser.Init(e).then(() => {
194660
194662
  this.parser.SetLogLevel(4);
@@ -194678,8 +194680,8 @@ var jS = class {
194678
194680
  }
194679
194681
  return r;
194680
194682
  }
194681
- async parseBinaryFile(e, t) {
194682
- return await this.initParser(this.getPath), this.setCoordinationMatrix(t), this.parseInitializedBuffer(e);
194683
+ async parseBinaryFile(e, t, n) {
194684
+ return await this.initParser(this.getPath), this.setCoordinationMatrix(t), this.parseInitializedBuffer(e, n);
194683
194685
  }
194684
194686
  async loadSingleModel(e) {
194685
194687
  if (typeof e == "string") {
@@ -194688,10 +194690,10 @@ var jS = class {
194688
194690
  }
194689
194691
  return this.parseInitializedBuffer(await e.arrayBuffer());
194690
194692
  }
194691
- async parseInitializedBuffer(e) {
194692
- let t = await this.getModelDataFromBuffer(e);
194693
- if (!t) throw Error("model loading error");
194694
- return t.data;
194693
+ async parseInitializedBuffer(e, t) {
194694
+ let n = await this.getModelDataFromBuffer(e, void 0, t);
194695
+ if (!n) throw Error("model loading error");
194696
+ return n.data;
194695
194697
  }
194696
194698
  getModelData(e) {
194697
194699
  return new Promise((t, n) => {
@@ -194717,49 +194719,58 @@ var jS = class {
194717
194719
  get coordinationMatrixData() {
194718
194720
  return this.coordinationMatrix ? JSON.stringify(this.coordinationMatrix.toArray()) : void 0;
194719
194721
  }
194720
- async getModelDataFromBuffer(e, t) {
194722
+ async getModelDataFromBuffer(e, t, n) {
194721
194723
  this.setCoordinationMatrix(t);
194722
- let n = Date.now(), r = -1, i = !!this.coordinationMatrix;
194724
+ let r = Date.now(), i = -1, a = !!this.coordinationMatrix;
194723
194725
  try {
194724
194726
  let t = {
194725
- COORDINATE_TO_ORIGIN: !i,
194727
+ COORDINATE_TO_ORIGIN: !a,
194726
194728
  OPTIMIZE_PROFILES: !0,
194727
194729
  USE_FAST_BOOLS: !0
194728
194730
  };
194729
- r = this.parser.OpenModel(new Uint8Array(e), t);
194731
+ n?.onPhase?.("opening"), i = this.parser.OpenModel(new Uint8Array(e), t), n?.onPhase?.("opened");
194730
194732
  } catch (e) {
194731
194733
  console.log(e);
194732
194734
  }
194733
- if (console.log("spend to read ifc file: ", Date.now() - n, "ms"), r === -1) return console.error("Model loading error"), !1;
194735
+ if (console.log("spend to read ifc file: ", Date.now() - r, "ms"), i === -1) return console.error("Model loading error"), !1;
194734
194736
  try {
194735
- let e = this.coordinationMatrix?.toArray(), t = new PS(this.parser, r, {
194737
+ let e = this.coordinationMatrix?.toArray(), t = new PS(this.parser, i, {
194736
194738
  geometryTransformation: e,
194737
194739
  maxGeometriesPerMesh: this.chunk,
194738
194740
  maxMeshBytes: this.maxMeshBytes
194739
- }), n = this.parser.GetModelSchema(r);
194740
- console.log("Parsing", n, "model");
194741
- let i = /* @__PURE__ */ new Set(), a = this.useIfcElemetAssembly ? await this.propertySerializer.getElementsAssembly(r) : null, o = t.parseData(i, a, this.useIfcSpace);
194742
- if (!this.coordinationMatrix) {
194743
- let e = this.parser.GetCoordinationMatrix(Number(r));
194741
+ });
194742
+ n?.onGeometryProgress?.({
194743
+ emittedChunks: 0,
194744
+ processed: 0,
194745
+ total: t.getGeometryProgressTotal()
194746
+ });
194747
+ let r = this.parser.GetModelSchema(i);
194748
+ console.log("Parsing", r, "model");
194749
+ let a = /* @__PURE__ */ new Set(), o = this.useIfcElemetAssembly ? await this.propertySerializer.getElementsAssembly(i) : null;
194750
+ n?.onPhase?.("streaming");
194751
+ let s = t.parseData(a, o, this.useIfcSpace, n);
194752
+ if (n?.onPhase?.("metadata"), !this.coordinationMatrix) {
194753
+ let e = this.parser.GetCoordinationMatrix(Number(i));
194744
194754
  this.coordinationMatrix = new be().fromArray(e);
194745
194755
  }
194746
- let s = this.coordinationMatrix;
194747
- if (!s) throw Error("IFC coordination matrix is not initialized");
194748
- let c = this.parser.GetLineIDsWithType(r, Fm), l = {};
194749
- if (c && c.size()) for (let e = 0; e < c.size(); e++) {
194750
- let t = c.get(e), n = await new jS(this.parser, r, t).init();
194751
- n && (l[t] = this.transformGridData(n, s));
194756
+ let c = this.coordinationMatrix;
194757
+ if (!c) throw Error("IFC coordination matrix is not initialized");
194758
+ let l = this.parser.GetLineIDsWithType(i, Fm), u = {};
194759
+ if (l && l.size()) for (let e = 0; e < l.size(); e++) {
194760
+ let t = l.get(e), n = await new jS(this.parser, i, t).init();
194761
+ n && (u[t] = this.transformGridData(n, c));
194752
194762
  }
194753
- let u = await this.propertySerializer.serializeAllProperties(r, i), d = await this.propertySerializer.getSpatialStructure(r, !1);
194754
- return o.coordinationMatrix ??= this.coordinationMatrixData, o.props = u, o.structure = d, o.grids = l, {
194755
- structure: d,
194756
- propsData: u,
194757
- data: o,
194763
+ n?.onPhase?.("properties");
194764
+ let d = await this.propertySerializer.serializeAllProperties(i, a), f = await this.propertySerializer.getSpatialStructure(i, !1);
194765
+ return s.coordinationMatrix ??= this.coordinationMatrixData, s.props = d, s.structure = f, s.grids = u, {
194766
+ structure: f,
194767
+ propsData: d,
194768
+ data: s,
194758
194769
  modelID: 0,
194759
- grids: l
194770
+ grids: u
194760
194771
  };
194761
194772
  } finally {
194762
- this.parser.CloseModel(r);
194773
+ this.parser.CloseModel(i);
194763
194774
  }
194764
194775
  }
194765
194776
  createCoordinationMatrix(e) {
@@ -194814,36 +194825,146 @@ var jS = class {
194814
194825
  constructor(e, t, n) {
194815
194826
  this.parser = e, this.ifcModelID = t, this.options = n;
194816
194827
  }
194817
- parseData(e, t, n = !1) {
194818
- this.elementsAssembly = t;
194819
- let r = this.planGeometryChunks();
194820
- n && this.planGeometryChunks(r, {
194828
+ getGeometryProgressTotal() {
194829
+ return this.parser.GetLineIDsWithType(this.ifcModelID, 673634403)?.size?.() ?? 0;
194830
+ }
194831
+ parseData(e, t, n = !1, r = {}) {
194832
+ if (this.elementsAssembly = t, r.streamGeometryChunks && r.onGeometryChunk) return this.parseDataStreaming(e, n, r);
194833
+ let i = this.planGeometryChunks();
194834
+ n && this.planGeometryChunks(i, {
194821
194835
  isIfcSpace: !0,
194822
194836
  material: MS,
194823
194837
  types: [Jp]
194824
194838
  }), this.applyGeometryTransformation();
194825
- let i = this.createChunkBuilders(r), a = /* @__PURE__ */ new Map();
194826
- return this.streamGeometryChunks(i, a, e, {}), n && this.streamGeometryChunks(i, a, e, {
194839
+ let a = this.createChunkBuilders(i), o = /* @__PURE__ */ new Map(), s = {
194840
+ callbacks: r,
194841
+ emittedChunks: 0,
194842
+ totalChunks: this.getTotalChunkCount(a)
194843
+ };
194844
+ return this.streamGeometryChunks(a, o, e, {}, s), n && this.streamGeometryChunks(a, o, e, {
194827
194845
  isIfcSpace: !0,
194828
194846
  material: MS,
194829
194847
  types: [Jp]
194830
- }), this.createModelDataFromChunks(i);
194848
+ }, s), this.createModelDataFromChunks(a, r);
194849
+ }
194850
+ parseDataStreaming(e, t, n) {
194851
+ this.applyGeometryTransformation();
194852
+ let r = /* @__PURE__ */ new Map(), i = {
194853
+ callbacks: n,
194854
+ emittedChunks: 0,
194855
+ nextGeometryID: 0,
194856
+ pendingGeometryCount: 0,
194857
+ processedGeometryCount: 0,
194858
+ totalGeometries: this.getGeometryProgressTotal()
194859
+ };
194860
+ return this.streamDynamicGeometryChunks(r, e, {}, i), t && this.streamDynamicGeometryChunks(r, e, {
194861
+ isIfcSpace: !0,
194862
+ material: MS,
194863
+ types: [Jp]
194864
+ }, i), this.flushDynamicGeometryChunks(r, i), {
194865
+ data: {},
194866
+ props: {},
194867
+ structure: {}
194868
+ };
194831
194869
  }
194832
- streamGeometryChunks(e, t, n, r) {
194833
- this.streamMeshes(r, (i) => {
194870
+ streamDynamicGeometryChunks(e, t, n, r) {
194871
+ this.streamMeshes(n, (i) => {
194834
194872
  try {
194835
194873
  let a = i.geometries;
194836
194874
  for (let o = 0; o < a.size(); o++) {
194837
- let s = a.get(o), c = this.getPlacedGeometryPayload(s, i.expressID, r.material);
194875
+ let s = a.get(o), c = this.getPlacedGeometryPayload(s, i.expressID, n.material);
194838
194876
  if (!c) continue;
194839
- let l = this.getChunkBuilder(e, t, c.materialKey);
194840
- l && (this.writeGeometryPayload(l, c), n.add(c.elementId));
194877
+ let l = this.getDynamicChunkBuilder(e, c, !!n.isIfcSpace, r);
194878
+ this.writeGeometryPayloadToDynamicBuilder(l, c), t.add(c.elementId), r.pendingGeometryCount++, r.processedGeometryCount++, r.callbacks.onGeometryProgress?.({
194879
+ emittedChunks: r.emittedChunks,
194880
+ processed: r.processedGeometryCount,
194881
+ total: r.totalGeometries
194882
+ }), this.options.maxGeometriesPerMesh > 0 && r.pendingGeometryCount >= this.options.maxGeometriesPerMesh && this.flushDynamicGeometryChunks(e, r);
194841
194883
  }
194842
194884
  } finally {
194843
194885
  this.deleteFlatMesh(i);
194844
194886
  }
194845
194887
  });
194846
194888
  }
194889
+ getDynamicChunkBuilder(e, t, n, r) {
194890
+ let i = e.get(t.materialKey);
194891
+ if (i && this.canFitInChunk(i, t)) return i;
194892
+ i && this.emitDynamicGeometryChunk(i, r);
194893
+ let a = {
194894
+ ...t.material,
194895
+ name: r.nextGeometryID
194896
+ };
194897
+ r.nextGeometryID++;
194898
+ let o = {
194899
+ bytes: 0,
194900
+ geometryCount: 0,
194901
+ geometryID: a.name,
194902
+ ids: [],
194903
+ indexCount: 0,
194904
+ indices: [],
194905
+ isIfcSpace: n,
194906
+ material: a,
194907
+ materialKey: t.materialKey,
194908
+ normals: [],
194909
+ positions: [],
194910
+ vertexCount: 0
194911
+ };
194912
+ return e.set(t.materialKey, o), o;
194913
+ }
194914
+ writeGeometryPayloadToDynamicBuilder(e, t) {
194915
+ let n = this.meshMatrix.fromArray(t.matrix), r = n.elements, i = this.normalMatrix.getNormalMatrix(n).elements, a = e.vertexCount;
194916
+ for (let n = 0; n < t.vertexData.length; n += 6) {
194917
+ let a = this.getFiniteNumber(t.vertexData[n]), o = this.getFiniteNumber(t.vertexData[n + 1]), s = this.getFiniteNumber(t.vertexData[n + 2]), c = this.getFiniteNumber(t.vertexData[n + 3]), l = this.getFiniteNumber(t.vertexData[n + 4]), u = this.getFiniteNumber(t.vertexData[n + 5]);
194918
+ e.positions.push(r[0] * a + r[4] * o + r[8] * s + r[12], r[1] * a + r[5] * o + r[9] * s + r[13], r[2] * a + r[6] * o + r[10] * s + r[14]);
194919
+ let d = i[0] * c + i[3] * l + i[6] * u, f = i[1] * c + i[4] * l + i[7] * u, p = i[2] * c + i[5] * l + i[8] * u, m = Math.hypot(d, f, p);
194920
+ m > 0 && (d /= m, f /= m, p /= m), e.normals.push(d, f, p), e.ids.push(t.elementId);
194921
+ }
194922
+ if (t.indexData.length) for (let n = 0; n < t.indexData.length; n++) e.indices.push(t.indexData[n] + a);
194923
+ else for (let n = 0; n < t.vertexCount; n++) e.indices.push(a + n);
194924
+ e.bytes += t.bytes, e.geometryCount++, e.indexCount += t.indexCount, e.vertexCount += t.vertexCount;
194925
+ }
194926
+ flushDynamicGeometryChunks(e, t) {
194927
+ e.forEach((e) => {
194928
+ this.emitDynamicGeometryChunk(e, t);
194929
+ }), e.clear(), t.pendingGeometryCount = 0;
194930
+ }
194931
+ emitDynamicGeometryChunk(e, t) {
194932
+ if (!e.geometryCount) return;
194933
+ let n = t.emittedChunks;
194934
+ t.emittedChunks++, t.callbacks.onGeometryChunk?.({
194935
+ chunkIndex: n,
194936
+ geometry: {
194937
+ ids: new Uint32Array(e.ids),
194938
+ ind: new Uint32Array(e.indices),
194939
+ isIfcSpace: e.isIfcSpace || void 0,
194940
+ mat: e.material,
194941
+ norm: new Float32Array(e.normals),
194942
+ pos: new Float32Array(e.positions)
194943
+ },
194944
+ geometryID: e.geometryID,
194945
+ isIfcSpace: e.isIfcSpace,
194946
+ totalChunks: t.totalGeometries
194947
+ }), t.callbacks.onGeometryProgress?.({
194948
+ emittedChunks: t.emittedChunks,
194949
+ processed: t.processedGeometryCount,
194950
+ total: t.totalGeometries
194951
+ }), e.bytes = 0, e.geometryCount = 0, e.ids = [], e.indexCount = 0, e.indices = [], e.normals = [], e.positions = [], e.vertexCount = 0;
194952
+ }
194953
+ streamGeometryChunks(e, t, n, r, i) {
194954
+ this.streamMeshes(r, (a) => {
194955
+ try {
194956
+ let o = a.geometries;
194957
+ for (let s = 0; s < o.size(); s++) {
194958
+ let c = o.get(s), l = this.getPlacedGeometryPayload(c, a.expressID, r.material);
194959
+ if (!l) continue;
194960
+ let u = this.getChunkBuilder(e, t, l.materialKey);
194961
+ u && (this.writeGeometryPayload(u, l), n.add(l.elementId), this.emitCompletedGeometryChunk(u, i));
194962
+ }
194963
+ } finally {
194964
+ this.deleteFlatMesh(a);
194965
+ }
194966
+ });
194967
+ }
194847
194968
  applyGeometryTransformation() {
194848
194969
  this.options.geometryTransformation && this.parser.SetGeometryTransformation(this.ifcModelID, this.options.geometryTransformation);
194849
194970
  }
@@ -194888,18 +195009,27 @@ var jS = class {
194888
195009
  return e.geometryCount === 0 ? !0 : !(this.options.maxGeometriesPerMesh > 0 && e.geometryCount + 1 > this.options.maxGeometriesPerMesh || this.options.maxMeshBytes > 0 && e.bytes + t.bytes > this.options.maxMeshBytes);
194889
195010
  }
194890
195011
  createChunkBuilders(e) {
194891
- let t = /* @__PURE__ */ new Map();
194892
- return e.forEach((e, n) => {
194893
- let r = e.chunks.map((e) => ({
194894
- ...e,
194895
- ids: new Uint32Array(e.vertexCount),
194896
- indexOffset: 0,
194897
- indices: new Uint32Array(e.indexCount),
194898
- normals: new Float32Array(e.vertexCount * 3),
194899
- positions: new Float32Array(e.vertexCount * 3),
194900
- vertexOffset: 0
194901
- }));
194902
- t.set(n, r);
195012
+ let t = /* @__PURE__ */ new Map(), n = 0;
195013
+ return e.forEach((e, r) => {
195014
+ let i = e.chunks.map((e) => {
195015
+ let t = {
195016
+ ...e.material,
195017
+ name: n
195018
+ };
195019
+ return {
195020
+ ...e,
195021
+ emitted: !1,
195022
+ geometryID: n++,
195023
+ ids: new Uint32Array(e.vertexCount),
195024
+ indexOffset: 0,
195025
+ indices: new Uint32Array(e.indexCount),
195026
+ material: t,
195027
+ normals: new Float32Array(e.vertexCount * 3),
195028
+ positions: new Float32Array(e.vertexCount * 3),
195029
+ vertexOffset: 0
195030
+ };
195031
+ });
195032
+ t.set(r, i);
194903
195033
  }), t;
194904
195034
  }
194905
195035
  getChunkBuilder(e, t, n) {
@@ -194961,39 +195091,55 @@ var jS = class {
194961
195091
  writeGeometryPayload(e, t) {
194962
195092
  let n = this.meshMatrix.fromArray(t.matrix), r = n.elements, i = this.normalMatrix.getNormalMatrix(n).elements, a = e.vertexOffset * 3, o = e.vertexOffset;
194963
195093
  for (let n = 0; n < t.vertexData.length; n += 6) {
194964
- let s = n / 6, c = a + s * 3, l = o + s, u = this.getFiniteNumber(t.vertexData[n]), d = this.getFiniteNumber(t.vertexData[n + 1]), f = this.getFiniteNumber(t.vertexData[n + 2]), p = this.getFiniteNumber(t.vertexData[n + 3]), ee = this.getFiniteNumber(t.vertexData[n + 4]), m = this.getFiniteNumber(t.vertexData[n + 5]);
195094
+ let s = n / 6, c = a + s * 3, l = o + s, u = this.getFiniteNumber(t.vertexData[n]), d = this.getFiniteNumber(t.vertexData[n + 1]), f = this.getFiniteNumber(t.vertexData[n + 2]), p = this.getFiniteNumber(t.vertexData[n + 3]), m = this.getFiniteNumber(t.vertexData[n + 4]), ee = this.getFiniteNumber(t.vertexData[n + 5]);
194965
195095
  e.positions[c] = r[0] * u + r[4] * d + r[8] * f + r[12], e.positions[c + 1] = r[1] * u + r[5] * d + r[9] * f + r[13], e.positions[c + 2] = r[2] * u + r[6] * d + r[10] * f + r[14];
194966
- let te = i[0] * p + i[3] * ee + i[6] * m, ne = i[1] * p + i[4] * ee + i[7] * m, re = i[2] * p + i[5] * ee + i[8] * m, h = Math.hypot(te, ne, re);
195096
+ let te = i[0] * p + i[3] * m + i[6] * ee, ne = i[1] * p + i[4] * m + i[7] * ee, re = i[2] * p + i[5] * m + i[8] * ee, h = Math.hypot(te, ne, re);
194967
195097
  h > 0 && (te /= h, ne /= h, re /= h), e.normals[c] = te, e.normals[c + 1] = ne, e.normals[c + 2] = re, e.ids[l] = t.elementId;
194968
195098
  }
194969
195099
  if (t.indexData.length) for (let n = 0; n < t.indexData.length; n++) e.indices[e.indexOffset + n] = t.indexData[n] + e.vertexOffset;
194970
195100
  else for (let n = 0; n < t.vertexCount; n++) e.indices[e.indexOffset + n] = e.vertexOffset + n;
194971
195101
  e.vertexOffset += t.vertexCount, e.indexOffset += t.indexCount;
194972
195102
  }
194973
- createModelDataFromChunks(e) {
194974
- let t = {}, n = 0;
195103
+ createModelDataFromChunks(e, t = {}) {
195104
+ let n = {};
194975
195105
  return e.forEach((e) => {
194976
195106
  e.forEach((e) => {
194977
- (e.vertexOffset !== e.vertexCount || e.indexOffset !== e.indexCount) && console.warn("IFC geometry chunk was not filled completely", { builder: e });
194978
- let r = {
194979
- ...e.material,
194980
- name: n
194981
- };
194982
- t[n] = {
194983
- ids: e.ids,
194984
- ind: e.indices,
194985
- isIfcSpace: e.isIfcSpace || void 0,
194986
- mat: r,
194987
- norm: e.normals,
194988
- pos: e.positions
194989
- }, n++;
195107
+ t.streamGeometryChunks && e.emitted || ((e.vertexOffset !== e.vertexCount || e.indexOffset !== e.indexCount) && console.warn("IFC geometry chunk was not filled completely", { builder: e }), n[e.geometryID] = this.createGeometryDataFromBuilder(e));
194990
195108
  });
194991
195109
  }), {
194992
- data: t,
195110
+ data: n,
194993
195111
  props: {},
194994
195112
  structure: {}
194995
195113
  };
194996
195114
  }
195115
+ getTotalChunkCount(e) {
195116
+ let t = 0;
195117
+ return e.forEach((e) => {
195118
+ t += e.length;
195119
+ }), t;
195120
+ }
195121
+ emitCompletedGeometryChunk(e, t) {
195122
+ if (!t.callbacks.onGeometryChunk || e.emitted || e.vertexOffset !== e.vertexCount || e.indexOffset !== e.indexCount) return;
195123
+ e.emitted = !0;
195124
+ let n = t.emittedChunks;
195125
+ t.emittedChunks++, t.callbacks.onGeometryChunk({
195126
+ chunkIndex: n,
195127
+ geometry: this.createGeometryDataFromBuilder(e),
195128
+ geometryID: e.geometryID,
195129
+ isIfcSpace: e.isIfcSpace,
195130
+ totalChunks: t.totalChunks
195131
+ });
195132
+ }
195133
+ createGeometryDataFromBuilder(e) {
195134
+ return {
195135
+ ids: e.ids,
195136
+ ind: e.indices,
195137
+ isIfcSpace: e.isIfcSpace || void 0,
195138
+ mat: e.material,
195139
+ norm: e.normals,
195140
+ pos: e.positions
195141
+ };
195142
+ }
194997
195143
  getElementId(e) {
194998
195144
  return this.elementsAssembly ? this.elementsAssembly.dict[e] ?? e : e;
194999
195145
  }
@@ -195809,90 +195955,280 @@ var oC = class {
195809
195955
  getModelNameFromPath(e) {
195810
195956
  return (e.split(/[?#]/)[0].split(/[\\/]/).pop() || "model").replace(/\.min\.bmt$/i, "").replace(/\.[^.]+$/i, "").trim() || "model";
195811
195957
  }
195812
- async loadModel(e) {
195813
- let t = await fetch(e);
195958
+ async loadModel(e, t) {
195959
+ let n = await fetch(e);
195814
195960
  console.log("Parsing BMT model");
195815
- let n = await t.arrayBuffer(), r = this.parseBinaryFile(n);
195816
- r.name ??= this.getModelNameFromPath(e);
195817
- let i = await this.loadExternalMetadata(e);
195818
- return i?.props && (r.props = i.props), i?.grids && (r.grids = i.grids), i?.coordinationMatrix && (r.coordinationMatrix = i.coordinationMatrix), i?.structure !== void 0 && (r.structure = i.structure), r;
195819
- }
195820
- parseBinaryFile(e) {
195821
- let t = new oC(e);
195822
- if (new TextDecoder().decode(t.readBytes(3)) !== "BMT") throw Error("Invalid file");
195823
- let n = t.readUint8();
195824
- console.log(`model version: ${n}`);
195825
- let r = {}, i = {}, a, o = {}, s = (e) => this.decoder.inflate(e), c = "", l;
195826
- for (; !t.eof();) {
195827
- let e = t.readUint8(), n = t.readUint32(), u = t.readBytes(n);
195961
+ let r = await n.arrayBuffer(), i = this.parseBinaryFile(r, t);
195962
+ i.name ??= this.getModelNameFromPath(e);
195963
+ let a = await this.loadExternalMetadata(e);
195964
+ return a?.props && (i.props = a.props), a?.grids && (i.grids = a.grids), a?.coordinationMatrix && (i.coordinationMatrix = a.coordinationMatrix), a?.structure !== void 0 && (i.structure = a.structure), i;
195965
+ }
195966
+ parseBinaryFile(e, t = {}) {
195967
+ let n = new oC(e);
195968
+ if (new TextDecoder().decode(n.readBytes(3)) !== "BMT") throw Error("Invalid file");
195969
+ let r = n.readUint8();
195970
+ console.log(`model version: ${r}`);
195971
+ let i = {}, a = {}, o, s = {}, c = (e) => this.decoder.inflate(e), l = "", u, d = 0, f = n.view.byteLength;
195972
+ for (; !n.eof();) {
195973
+ let e = n.readUint8(), r = n.readUint32(), p = n.readBytes(r);
195828
195974
  switch (e) {
195829
195975
  case this.ChunkType.MESH:
195830
195976
  case this.ChunkType.MESHSPACE: {
195831
- let t = this.parseMesh(u), n = s(t.pos), i = s(t.ids), a = s(t.ind.data), o = t.colorId, l = new Float32Array(n.buffer), d = new Uint32Array(i.buffer), f;
195832
- if (a && a.length) f = t.ind.type === 0 ? new Uint16Array(a.buffer, a.byteOffset, a.byteLength / 2) : new Uint32Array(a.buffer, a.byteOffset, a.byteLength / 4);
195977
+ let r = this.parseMesh(p), a = c(r.pos), o = c(r.ids), s = c(r.ind.data), u = r.colorId, m = new Float32Array(a.buffer), ee = new Uint32Array(o.buffer), te;
195978
+ if (s && s.length) te = r.ind.type === 0 ? new Uint16Array(s.buffer, s.byteOffset, s.byteLength / 2) : new Uint32Array(s.buffer, s.byteOffset, s.byteLength / 4);
195833
195979
  else {
195834
- f = new Uint32Array(n.length);
195835
- for (let e = 0; e < n.length; e++) f[e] = e;
195980
+ te = new Uint32Array(a.length);
195981
+ for (let e = 0; e < a.length; e++) te[e] = e;
195836
195982
  }
195837
- r[o.name] = {
195838
- pos: l,
195839
- ids: d,
195840
- ind: f,
195983
+ let ne = {
195984
+ pos: m,
195985
+ ids: ee,
195986
+ ind: te,
195841
195987
  isIfcSpace: e === this.ChunkType.MESHSPACE,
195842
- mat: o,
195843
- matrix: c
195988
+ mat: u,
195989
+ matrix: l
195844
195990
  };
195991
+ t.streamGeometryChunks ? (t.onGeometryChunk?.({
195992
+ chunkIndex: d,
195993
+ geometry: ne,
195994
+ geometryID: u.name,
195995
+ isIfcSpace: e === this.ChunkType.MESHSPACE,
195996
+ loadedBytes: n.offset,
195997
+ totalBytes: f
195998
+ }), d++) : i[u.name] = ne;
195845
195999
  break;
195846
196000
  }
195847
196001
  case this.ChunkType.PROP:
195848
196002
  {
195849
- let e = JSON.parse(this.decodeBuffer(u));
195850
- e?.id === void 0 ? e && typeof e == "object" && Object.assign(i, e) : i[e.id] = e;
196003
+ let e = JSON.parse(this.decodeBuffer(p));
196004
+ e?.id === void 0 ? e && typeof e == "object" && Object.assign(a, e) : a[e.id] = e;
195851
196005
  }
195852
196006
  break;
195853
196007
  case this.ChunkType.STRUCTURE:
195854
- o = JSON.parse(this.decodeBuffer(u));
196008
+ s = JSON.parse(this.decodeBuffer(p));
195855
196009
  break;
195856
196010
  case this.ChunkType.GRIDS:
195857
- a = JSON.parse(this.decodeBuffer(u));
196011
+ o = JSON.parse(this.decodeBuffer(p));
195858
196012
  break;
195859
196013
  case this.ChunkType.MATRIX:
195860
- n && (c = this.decodeBuffer(u), l ??= c);
196014
+ r && (l = this.decodeBuffer(p), u ??= l);
195861
196015
  break;
195862
196016
  default: break;
195863
196017
  }
196018
+ t.onProgress?.({
196019
+ emittedChunks: d,
196020
+ loadedBytes: n.offset,
196021
+ totalBytes: f
196022
+ });
195864
196023
  }
195865
196024
  return {
195866
- coordinationMatrix: l,
195867
- data: r,
195868
- grids: a,
195869
- props: i,
195870
- structure: o
196025
+ coordinationMatrix: u,
196026
+ data: i,
196027
+ grids: o,
196028
+ props: a,
196029
+ structure: s
195871
196030
  };
195872
196031
  }
195873
196032
  };
195874
196033
  //#endregion
195875
- //#region src/viewer/api/loader.ts
195876
- function cC(e) {
195877
- return typeof e == "string" ? e : e.name;
196034
+ //#region src/viewer/workers/BMTWorkerClient.ts
196035
+ function cC() {
196036
+ return globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
195878
196037
  }
195879
196038
  function lC(e) {
195880
- return (cC(e).split(/[?#]/)[0].split(/[\\/]/).pop() || "model").replace(/\.min\.bmt$/i, "").replace(/\.[^.]+$/i, "") || "model";
196039
+ return Array.isArray(e) ? e : [e];
195881
196040
  }
195882
196041
  function uC(e) {
195883
- let t = cC(e).split(/[?#]/)[0].toLowerCase(), n = t.lastIndexOf(".");
195884
- return n === -1 ? "" : t.slice(n + 1);
196042
+ return e.split(/[?#]/)[0].split(/[\\/]/).pop() || "model.bmt";
195885
196043
  }
195886
196044
  function dC(e) {
195887
- return /\.min\.bmt$/i.test(e.name) ? e.name.replace(/\.min\.bmt$/i, "_props.json") : null;
196045
+ return typeof e == "string" ? {
196046
+ kind: "url",
196047
+ name: uC(e),
196048
+ url: new URL(e, globalThis.location.href).href
196049
+ } : e instanceof File ? {
196050
+ file: e,
196051
+ kind: "file",
196052
+ name: e.name
196053
+ } : {
196054
+ buffer: e,
196055
+ kind: "buffer"
196056
+ };
195888
196057
  }
195889
196058
  function fC(e) {
195890
- return /_props\.json$/i.test(cC(e).split(/[?#]/)[0]);
196059
+ return e.map((e) => e.kind === "buffer" ? e.buffer : null).filter((e) => e instanceof ArrayBuffer);
196060
+ }
196061
+ function pC() {
196062
+ return new Worker(new URL(
196063
+ /* @vite-ignore */
196064
+ "/assets/BMTWorker-yhSXOg2i.js",
196065
+ "" + import.meta.url
196066
+ ), { type: "module" });
196067
+ }
196068
+ function mC(e) {
196069
+ return { streamGeometryChunks: e.streamGeometryChunks ?? !!e.onChunk };
196070
+ }
196071
+ function hC(e, t = {}) {
196072
+ let n = t.worker ?? pC(), r = t.terminateOnComplete ?? !t.worker, i = t.collectChunks ?? !0, a = lC(e).map(dC), o = cC(), s = {}, c = {
196073
+ options: mC(t),
196074
+ sources: a,
196075
+ taskId: o,
196076
+ type: "load-bmt-model"
196077
+ };
196078
+ return new Promise((e, l) => {
196079
+ let u = () => {
196080
+ n.removeEventListener("message", f), n.removeEventListener("error", d), r && n.terminate();
196081
+ }, d = (e) => {
196082
+ u(), l(e.error ?? Error(e.message));
196083
+ }, f = (n) => {
196084
+ let r = n.data;
196085
+ if (r.taskId !== o) return;
196086
+ if (r.type === "progress") {
196087
+ t.onProgress?.(r.progress);
196088
+ return;
196089
+ }
196090
+ if (r.type === "chunk") {
196091
+ let { geometry: e, geometryID: n, modelIndex: a } = r.chunk;
196092
+ i && (s[a] ??= {}, s[a][n] = e), t.onChunk?.(r.chunk);
196093
+ return;
196094
+ }
196095
+ if (u(), r.type === "complete") {
196096
+ i && Object.entries(s).forEach(([e, t]) => {
196097
+ let n = Number(e), i = r.models[n];
196098
+ i && (r.models[n] = {
196099
+ ...i,
196100
+ data: {
196101
+ ...i.data,
196102
+ ...t
196103
+ }
196104
+ });
196105
+ }), e(r.models);
196106
+ return;
196107
+ }
196108
+ let a = Error(r.error.message);
196109
+ r.error.stack && (a.stack = r.error.stack), l(a);
196110
+ };
196111
+ n.addEventListener("message", f), n.addEventListener("error", d), n.postMessage(c, fC(a));
196112
+ });
196113
+ }
196114
+ function gC() {
196115
+ return pC();
196116
+ }
196117
+ //#endregion
196118
+ //#region src/viewer/workers/IFCWorkerClient.ts
196119
+ function _C() {
196120
+ return globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
196121
+ }
196122
+ function vC(e) {
196123
+ return Array.isArray(e) ? e : [e];
196124
+ }
196125
+ function yC(e) {
196126
+ return typeof e == "string" ? {
196127
+ kind: "url",
196128
+ name: bC(e),
196129
+ url: new URL(e, globalThis.location.href).href
196130
+ } : e instanceof File ? {
196131
+ file: e,
196132
+ kind: "file",
196133
+ name: e.name
196134
+ } : {
196135
+ buffer: e,
196136
+ kind: "buffer"
196137
+ };
196138
+ }
196139
+ function bC(e) {
196140
+ return e.split(/[?#]/)[0].split(/[\\/]/).pop() || "model.ifc";
196141
+ }
196142
+ function xC(e) {
196143
+ return e.map((e) => e.kind === "buffer" ? e.buffer : null).filter((e) => e instanceof ArrayBuffer);
195891
196144
  }
195892
- function pC(e) {
196145
+ function SC() {
196146
+ return new Worker(new URL(
196147
+ /* @vite-ignore */
196148
+ "/assets/IFCWorker-B_lqybSb.js",
196149
+ "" + import.meta.url
196150
+ ), { type: "module" });
196151
+ }
196152
+ function CC(e) {
196153
+ return {
196154
+ chunk: e.chunk,
196155
+ coordinationMatrix: e.coordinationMatrix,
196156
+ maxMeshBytes: e.maxMeshBytes,
196157
+ streamGeometryChunks: e.streamGeometryChunks ?? !!e.onChunk,
196158
+ useIfcColors: e.useIfcColors,
196159
+ useIfcElementAssembly: e.useIfcElementAssembly,
196160
+ useIfcSpace: e.useIfcSpace,
196161
+ wasmPath: e.wasmPath
196162
+ };
196163
+ }
196164
+ function wC(e, t = {}) {
196165
+ let n = t.worker ?? SC(), r = t.terminateOnComplete ?? !t.worker, i = t.collectChunks ?? !0, a = vC(e).map(yC), o = _C(), s = {}, c = {
196166
+ options: CC(t),
196167
+ sources: a,
196168
+ taskId: o,
196169
+ type: "load-ifc-model"
196170
+ };
196171
+ return new Promise((e, l) => {
196172
+ let u = () => {
196173
+ n.removeEventListener("message", f), n.removeEventListener("error", d), r && n.terminate();
196174
+ }, d = (e) => {
196175
+ u(), l(e.error ?? Error(e.message));
196176
+ }, f = (n) => {
196177
+ let r = n.data;
196178
+ if (r.taskId !== o) return;
196179
+ if (r.type === "progress") {
196180
+ t.onProgress?.(r.progress);
196181
+ return;
196182
+ }
196183
+ if (r.type === "chunk") {
196184
+ let { geometry: e, geometryID: n, modelIndex: a } = r.chunk;
196185
+ i && (s[a] ??= {}, s[a][n] = e), t.onChunk?.(r.chunk);
196186
+ return;
196187
+ }
196188
+ if (u(), r.type === "complete") {
196189
+ i && Object.entries(s).forEach(([e, t]) => {
196190
+ let n = Number(e), i = r.models[n];
196191
+ i && (r.models[n] = {
196192
+ ...i,
196193
+ data: {
196194
+ ...i.data,
196195
+ ...t
196196
+ }
196197
+ });
196198
+ }), e(r.models);
196199
+ return;
196200
+ }
196201
+ let a = Error(r.error.message);
196202
+ r.error.stack && (a.stack = r.error.stack), l(a);
196203
+ };
196204
+ n.addEventListener("message", f), n.addEventListener("error", d), n.postMessage(c, xC(a));
196205
+ });
196206
+ }
196207
+ function TC() {
196208
+ return SC();
196209
+ }
196210
+ //#endregion
196211
+ //#region src/viewer/api/loader.ts
196212
+ function EC(e) {
196213
+ return typeof e == "string" ? e : e.name;
196214
+ }
196215
+ function DC(e) {
196216
+ return (EC(e).split(/[?#]/)[0].split(/[\\/]/).pop() || "model").replace(/\.min\.bmt$/i, "").replace(/\.[^.]+$/i, "") || "model";
196217
+ }
196218
+ function OC(e) {
196219
+ let t = EC(e).split(/[?#]/)[0].toLowerCase(), n = t.lastIndexOf(".");
196220
+ return n === -1 ? "" : t.slice(n + 1);
196221
+ }
196222
+ function kC(e) {
196223
+ return /\.min\.bmt$/i.test(e.name) ? e.name.replace(/\.min\.bmt$/i, "_props.json") : null;
196224
+ }
196225
+ function AC(e) {
196226
+ return /_props\.json$/i.test(EC(e).split(/[?#]/)[0]);
196227
+ }
196228
+ function jC(e) {
195893
196229
  return e.coordinationMatrix ? e.coordinationMatrix : Object.values(e.data)[0]?.matrix || void 0;
195894
196230
  }
195895
- var mC = new class {
196231
+ var MC = new class {
195896
196232
  coordinationMatrix;
195897
196233
  useIfcSpace = !1;
195898
196234
  bmtLoader = null;
@@ -195906,7 +196242,7 @@ var mC = new class {
195906
196242
  return this.bmtLoader ||= new sC(), this.bmtLoader;
195907
196243
  }
195908
196244
  getIfcLoader(e = {}) {
195909
- return this.ifcLoader ||= new NS(), this.ifcLoader.useIfcSpace = e.useIfcSpace ?? this.useIfcSpace, this.ifcLoader;
196245
+ return this.ifcLoader ||= new NS(), this.ifcLoader.useIfcSpace = e.useIfcSpace ?? this.useIfcSpace, e.chunk !== void 0 && (this.ifcLoader.chunk = e.chunk), e.maxMeshBytes !== void 0 && (this.ifcLoader.maxMeshBytes = e.maxMeshBytes), e.wasmPath !== void 0 && (this.ifcLoader.wasmPath = e.wasmPath), this.ifcLoader;
195910
196246
  }
195911
196247
  getFileSourceMap(e) {
195912
196248
  let t = /* @__PURE__ */ new Map();
@@ -195927,9 +196263,54 @@ var mC = new class {
195927
196263
  async loadBmtModel(e, t) {
195928
196264
  let n = this.getBmtLoader();
195929
196265
  if (typeof e == "string") return n.loadModel(e);
195930
- let r = n.parseBinaryFile(await e.arrayBuffer()), i = dC(e), a = i ? t.get(i) : void 0;
196266
+ let r = n.parseBinaryFile(await e.arrayBuffer()), i = kC(e), a = i ? t.get(i) : void 0;
195931
196267
  return this.applyBmtMetadata(r, a);
195932
196268
  }
196269
+ createWorkerProgressHandler(e, t, n, r) {
196270
+ if (e.onProgress) return (i) => {
196271
+ e.onProgress?.({
196272
+ ...i,
196273
+ modelIndex: t,
196274
+ progress: (n + i.progress) / Math.max(r, 1),
196275
+ totalModels: r
196276
+ });
196277
+ };
196278
+ }
196279
+ createWorkerChunkHandler(e, t) {
196280
+ if (e.onChunk) return (n) => {
196281
+ e.onChunk?.({
196282
+ ...n,
196283
+ modelID: t,
196284
+ modelIndex: t
196285
+ });
196286
+ };
196287
+ }
196288
+ async loadIfcModelInWorker(e, t, n, r, i) {
196289
+ return (await wC(e, {
196290
+ chunk: t.chunk,
196291
+ collectChunks: t.collectWorkerChunks,
196292
+ coordinationMatrix: this.coordinationMatrix,
196293
+ maxMeshBytes: t.maxMeshBytes,
196294
+ onChunk: this.createWorkerChunkHandler(t, n),
196295
+ onProgress: this.createWorkerProgressHandler(t, n, r, i),
196296
+ streamGeometryChunks: t.streamGeometryChunks ?? !!t.onChunk,
196297
+ useIfcSpace: t.useIfcSpace ?? this.useIfcSpace,
196298
+ wasmPath: t.wasmPath
196299
+ }))[0];
196300
+ }
196301
+ async loadBmtModelInWorker(e, t, n, r, i, a) {
196302
+ let o = (await hC(e, {
196303
+ collectChunks: n.collectWorkerChunks,
196304
+ onChunk: this.createWorkerChunkHandler(n, r),
196305
+ onProgress: this.createWorkerProgressHandler(n, r, i, a),
196306
+ streamGeometryChunks: n.streamGeometryChunks ?? !!n.onChunk
196307
+ }))[0];
196308
+ if (e instanceof File) {
196309
+ let n = kC(e), r = n ? t.get(n) : void 0;
196310
+ return this.applyBmtMetadata(o, r);
196311
+ }
196312
+ return o;
196313
+ }
195933
196314
  resetCoordinationMatrixState() {
195934
196315
  this.coordinationMatrix = void 0, this.ifcLoader?.resetCoordinationMatrix();
195935
196316
  }
@@ -195938,22 +196319,21 @@ var mC = new class {
195938
196319
  }
195939
196320
  async loadModel(e, t = {}) {
195940
196321
  this.initLoaders(t);
195941
- let n = Array.isArray(e) ? e : [e], r = this.getFileSourceMap(n), i = {};
196322
+ let n = Array.isArray(e) ? e : [e], r = this.getFileSourceMap(n), i = {}, a = n.filter((e) => !AC(e)).length, o = 0;
195942
196323
  this.loadedModelCount === 0 && this.resetCoordinationMatrixState();
195943
196324
  for (let e = 0; e < n.length; e++) {
195944
- let a = n[e], o = uC(a), s;
195945
- if (o === "json" && fC(a)) continue;
195946
- if (o === "ifc") s = (await this.getIfcLoader(t).loadModel(a, this.coordinationMatrix))[0];
195947
- else if (o === "bmt") s = await this.loadBmtModel(a, r);
195948
- else throw Error(`Unsupported model format: ${cC(a)}`);
195949
- let c = pC(s);
195950
- !this.coordinationMatrix && c && (this.coordinationMatrix = c), !s.coordinationMatrix && this.coordinationMatrix && (s.coordinationMatrix = this.coordinationMatrix), s.name ??= lC(a);
195951
- let l = this.nextModelID;
195952
- this.nextModelID += 1, this.loadedModelCount += 1, i[l] = s;
196325
+ let s = n[e], c = OC(s), l;
196326
+ if (c === "json" && AC(s)) continue;
196327
+ let u = this.nextModelID, d = o;
196328
+ if (o++, c === "ifc") l = t.useWorker ? await this.loadIfcModelInWorker(s, t, u, d, a) : (await this.getIfcLoader(t).loadModel(s, this.coordinationMatrix))[0];
196329
+ else if (c === "bmt") l = t.useWorker ? await this.loadBmtModelInWorker(s, r, t, u, d, a) : await this.loadBmtModel(s, r);
196330
+ else throw Error(`Unsupported model format: ${EC(s)}`);
196331
+ let f = jC(l);
196332
+ !this.coordinationMatrix && f && (this.coordinationMatrix = f), !l.coordinationMatrix && this.coordinationMatrix && (l.coordinationMatrix = this.coordinationMatrix), l.name ??= DC(s), this.nextModelID += 1, this.loadedModelCount += 1, i[u] = l;
195953
196333
  }
195954
196334
  return i;
195955
196335
  }
195956
- }(), hC = .5, gC = .04, _C = .16, vC = _C, yC = hC * 2 - _C * 2, bC = hC - gC / 2, xC = hC - _C / 2, SC = hC - vC / 2, CC = .63, wC = "#dfe6ec", TC = 260, EC = 52, DC = .17, OC = new te(), kC = new je(), AC = [
196336
+ }(), NC = .5, PC = .04, FC = .16, IC = FC, LC = NC * 2 - FC * 2, RC = NC - PC / 2, zC = NC - FC / 2, BC = NC - IC / 2, VC = .63, HC = "#dfe6ec", UC = 260, WC = 52, GC = .17, KC = new te(), qC = new je(), JC = [
195957
196337
  {
195958
196338
  direction: [
195959
196339
  0,
@@ -195964,12 +196344,12 @@ var mC = new class {
195964
196344
  position: [
195965
196345
  0,
195966
196346
  0,
195967
- bC
196347
+ RC
195968
196348
  ],
195969
196349
  scale: [
195970
- yC,
195971
- yC,
195972
- gC
196350
+ LC,
196351
+ LC,
196352
+ PC
195973
196353
  ],
195974
196354
  title: "Front",
195975
196355
  type: "face"
@@ -195984,7 +196364,7 @@ var mC = new class {
195984
196364
  position: [
195985
196365
  0,
195986
196366
  0,
195987
- -bC
196367
+ -RC
195988
196368
  ],
195989
196369
  rotation: [
195990
196370
  0,
@@ -195992,9 +196372,9 @@ var mC = new class {
195992
196372
  0
195993
196373
  ],
195994
196374
  scale: [
195995
- yC,
195996
- yC,
195997
- gC
196375
+ LC,
196376
+ LC,
196377
+ PC
195998
196378
  ],
195999
196379
  title: "Back",
196000
196380
  type: "face"
@@ -196007,7 +196387,7 @@ var mC = new class {
196007
196387
  ],
196008
196388
  label: "right",
196009
196389
  position: [
196010
- bC,
196390
+ RC,
196011
196391
  0,
196012
196392
  0
196013
196393
  ],
@@ -196017,9 +196397,9 @@ var mC = new class {
196017
196397
  0
196018
196398
  ],
196019
196399
  scale: [
196020
- gC,
196021
- yC,
196022
- yC
196400
+ PC,
196401
+ LC,
196402
+ LC
196023
196403
  ],
196024
196404
  title: "Right",
196025
196405
  type: "face"
@@ -196032,7 +196412,7 @@ var mC = new class {
196032
196412
  ],
196033
196413
  label: "left",
196034
196414
  position: [
196035
- -bC,
196415
+ -RC,
196036
196416
  0,
196037
196417
  0
196038
196418
  ],
@@ -196042,9 +196422,9 @@ var mC = new class {
196042
196422
  0
196043
196423
  ],
196044
196424
  scale: [
196045
- gC,
196046
- yC,
196047
- yC
196425
+ PC,
196426
+ LC,
196427
+ LC
196048
196428
  ],
196049
196429
  title: "Left",
196050
196430
  type: "face"
@@ -196058,7 +196438,7 @@ var mC = new class {
196058
196438
  label: "top",
196059
196439
  position: [
196060
196440
  0,
196061
- bC,
196441
+ RC,
196062
196442
  0
196063
196443
  ],
196064
196444
  rotation: [
@@ -196067,9 +196447,9 @@ var mC = new class {
196067
196447
  0
196068
196448
  ],
196069
196449
  scale: [
196070
- yC,
196071
- gC,
196072
- yC
196450
+ LC,
196451
+ PC,
196452
+ LC
196073
196453
  ],
196074
196454
  title: "Top",
196075
196455
  type: "face"
@@ -196083,7 +196463,7 @@ var mC = new class {
196083
196463
  label: "bot",
196084
196464
  position: [
196085
196465
  0,
196086
- -bC,
196466
+ -RC,
196087
196467
  0
196088
196468
  ],
196089
196469
  rotation: [
@@ -196092,15 +196472,15 @@ var mC = new class {
196092
196472
  0
196093
196473
  ],
196094
196474
  scale: [
196095
- yC,
196096
- gC,
196097
- yC
196475
+ LC,
196476
+ PC,
196477
+ LC
196098
196478
  ],
196099
196479
  title: "Bottom",
196100
196480
  type: "face"
196101
196481
  }
196102
196482
  ];
196103
- function jC() {
196483
+ function YC() {
196104
196484
  let e = [], t = [-1, 1];
196105
196485
  return t.forEach((n) => {
196106
196486
  t.forEach((t) => {
@@ -196112,13 +196492,13 @@ function jC() {
196112
196492
  ],
196113
196493
  position: [
196114
196494
  0,
196115
- n * xC,
196116
- t * xC
196495
+ n * zC,
196496
+ t * zC
196117
196497
  ],
196118
196498
  scale: [
196119
- yC,
196120
- _C,
196121
- _C
196499
+ LC,
196500
+ FC,
196501
+ FC
196122
196502
  ],
196123
196503
  title: `${n > 0 ? "Top" : "Bottom"} ${t > 0 ? "Front" : "Back"}`,
196124
196504
  type: "edge"
@@ -196133,14 +196513,14 @@ function jC() {
196133
196513
  t
196134
196514
  ],
196135
196515
  position: [
196136
- n * xC,
196516
+ n * zC,
196137
196517
  0,
196138
- t * xC
196518
+ t * zC
196139
196519
  ],
196140
196520
  scale: [
196141
- _C,
196142
- yC,
196143
- _C
196521
+ FC,
196522
+ LC,
196523
+ FC
196144
196524
  ],
196145
196525
  title: `${n > 0 ? "Right" : "Left"} ${t > 0 ? "Front" : "Back"}`,
196146
196526
  type: "edge"
@@ -196155,14 +196535,14 @@ function jC() {
196155
196535
  0
196156
196536
  ],
196157
196537
  position: [
196158
- n * xC,
196159
- t * xC,
196538
+ n * zC,
196539
+ t * zC,
196160
196540
  0
196161
196541
  ],
196162
196542
  scale: [
196163
- _C,
196164
- _C,
196165
- yC
196543
+ FC,
196544
+ FC,
196545
+ LC
196166
196546
  ],
196167
196547
  title: `${t > 0 ? "Top" : "Bottom"} ${n > 0 ? "Right" : "Left"}`,
196168
196548
  type: "edge"
@@ -196170,7 +196550,7 @@ function jC() {
196170
196550
  });
196171
196551
  }), e;
196172
196552
  }
196173
- function MC() {
196553
+ function XC() {
196174
196554
  let e = [], t = [-1, 1];
196175
196555
  return t.forEach((n) => {
196176
196556
  t.forEach((r) => {
@@ -196182,14 +196562,14 @@ function MC() {
196182
196562
  t
196183
196563
  ],
196184
196564
  position: [
196185
- n * SC,
196186
- r * SC,
196187
- t * SC
196565
+ n * BC,
196566
+ r * BC,
196567
+ t * BC
196188
196568
  ],
196189
196569
  scale: [
196190
- vC,
196191
- vC,
196192
- vC
196570
+ IC,
196571
+ IC,
196572
+ IC
196193
196573
  ],
196194
196574
  title: `${r > 0 ? "Top" : "Bottom"} ${n > 0 ? "Right" : "Left"} ${t > 0 ? "Front" : "Back"}`,
196195
196575
  type: "corner"
@@ -196198,21 +196578,21 @@ function MC() {
196198
196578
  });
196199
196579
  }), e;
196200
196580
  }
196201
- function NC(e) {
196581
+ function ZC(e) {
196202
196582
  e.stopPropagation(), e.nativeEvent.stopPropagation(), e.nativeEvent.stopImmediatePropagation?.();
196203
196583
  }
196204
- function PC(e) {
196205
- return e ? "#4f7fa3" : wC;
196584
+ function QC(e) {
196585
+ return e ? "#4f7fa3" : HC;
196206
196586
  }
196207
- function FC(e) {
196587
+ function $C(e) {
196208
196588
  return e ? 1 : .96;
196209
196589
  }
196210
- function IC(e, t) {
196590
+ function ew(e, t) {
196211
196591
  let n = document.createElement("canvas"), r = n.getContext("2d");
196212
196592
  if (!r) throw Error("Could not create navigation cube label context");
196213
- let i = `600 ${EC}px system-ui, "Segoe UI", sans-serif`;
196593
+ let i = `600 ${WC}px system-ui, "Segoe UI", sans-serif`;
196214
196594
  r.font = i;
196215
- let a = r.measureText(e), o = a.actualBoundingBoxAscent || EC * .8, s = a.actualBoundingBoxDescent || EC * .2, c = Math.ceil(a.width + 36), l = Math.ceil(o + s + 20);
196595
+ let a = r.measureText(e), o = a.actualBoundingBoxAscent || WC * .8, s = a.actualBoundingBoxDescent || WC * .2, c = Math.ceil(a.width + 36), l = Math.ceil(o + s + 20);
196216
196596
  n.width = c, n.height = l, r.clearRect(0, 0, c, l), r.font = i, r.fillStyle = t, r.textAlign = "center", r.textBaseline = "alphabetic", r.fillText(e, c / 2, 10 + o);
196217
196597
  let u = new ie(n);
196218
196598
  return u.colorSpace = Ae, u.generateMipmaps = !1, u.magFilter = _e, u.minFilter = _e, u.needsUpdate = !0, {
@@ -196220,12 +196600,12 @@ function IC(e, t) {
196220
196600
  texture: u
196221
196601
  };
196222
196602
  }
196223
- function LC({ color: e, label: t, position: n, rotation: r }) {
196224
- let { aspect: i, texture: a } = c(() => IC(t, e), [e, t]);
196603
+ function tw({ color: e, label: t, position: n, rotation: r }) {
196604
+ let { aspect: i, texture: a } = c(() => ew(t, e), [e, t]);
196225
196605
  return o(() => () => a.dispose(), [a]), /* @__PURE__ */ qe("mesh", {
196226
196606
  position: n,
196227
196607
  rotation: r,
196228
- children: [/* @__PURE__ */ Ke("planeGeometry", { args: [DC * i, DC] }), /* @__PURE__ */ Ke("meshBasicMaterial", {
196608
+ children: [/* @__PURE__ */ Ke("planeGeometry", { args: [GC * i, GC] }), /* @__PURE__ */ Ke("meshBasicMaterial", {
196229
196609
  alphaTest: .1,
196230
196610
  depthWrite: !1,
196231
196611
  map: a,
@@ -196234,41 +196614,41 @@ function LC({ color: e, label: t, position: n, rotation: r }) {
196234
196614
  })]
196235
196615
  });
196236
196616
  }
196237
- function RC(e) {
196617
+ function nw(e) {
196238
196618
  return Math.abs(e.y) > .9 ? new Le(0, 0, e.y > 0 ? -1 : 1) : new Le(0, 1, 0);
196239
196619
  }
196240
- function zC(e, t) {
196620
+ function rw(e, t) {
196241
196621
  let n = e.current;
196242
- return !n || (n.updateWorldMatrix(!0, !0), OC.setFromObject(n), OC.isEmpty()) ? (kC.center.copy(t), kC.radius = 10, kC) : (OC.getBoundingSphere(kC), (!Number.isFinite(kC.radius) || kC.radius <= 0) && (kC.radius = 10), kC);
196622
+ return !n || (n.updateWorldMatrix(!0, !0), KC.setFromObject(n), KC.isEmpty()) ? (qC.center.copy(t), qC.radius = 10, qC) : (KC.getBoundingSphere(qC), (!Number.isFinite(qC.radius) || qC.radius <= 0) && (qC.radius = 10), qC);
196243
196623
  }
196244
- function BC(e) {
196624
+ function iw(e) {
196245
196625
  return e.current?.target.clone() ?? new Le();
196246
196626
  }
196247
- function VC({ camera: e, controlRef: t, direction: n, modelRef: r, transitionRef: i }) {
196248
- let a = BC(t), o = zC(r, a), s = o.center.clone(), c = new Le(...n).normalize(), l = e.position.distanceTo(a), u = Number.isFinite(l) && l > o.radius * .5 ? l : o.radius * 2.4;
196627
+ function aw({ camera: e, controlRef: t, direction: n, modelRef: r, transitionRef: i }) {
196628
+ let a = iw(t), o = rw(r, a), s = o.center.clone(), c = new Le(...n).normalize(), l = e.position.distanceTo(a), u = Number.isFinite(l) && l > o.radius * .5 ? l : o.radius * 2.4;
196249
196629
  i.current = {
196250
196630
  endPosition: s.clone().addScaledVector(c, u),
196251
196631
  endTarget: s,
196252
- endUp: RC(c),
196632
+ endUp: nw(c),
196253
196633
  startPosition: e.position.clone(),
196254
196634
  startTarget: a,
196255
196635
  startTime: performance.now(),
196256
196636
  startUp: e.up.clone()
196257
196637
  };
196258
196638
  }
196259
- function HC({ action: e, onPick: t }) {
196639
+ function ow({ action: e, onPick: t }) {
196260
196640
  let [n, r] = u(!1);
196261
196641
  return /* @__PURE__ */ qe("group", {
196262
196642
  position: e.position,
196263
- onClick: NC,
196643
+ onClick: ZC,
196264
196644
  onPointerDown: (n) => {
196265
- NC(n), t(e);
196645
+ ZC(n), t(e);
196266
196646
  },
196267
196647
  onPointerEnter: (e) => {
196268
- NC(e), r(!0);
196648
+ ZC(e), r(!0);
196269
196649
  },
196270
196650
  onPointerLeave: (e) => {
196271
- NC(e), r(!1);
196651
+ ZC(e), r(!1);
196272
196652
  },
196273
196653
  children: [/* @__PURE__ */ qe("mesh", {
196274
196654
  scale: e.scale,
@@ -196277,11 +196657,11 @@ function HC({ action: e, onPick: t }) {
196277
196657
  1,
196278
196658
  1
196279
196659
  ] }), /* @__PURE__ */ Ke("meshBasicMaterial", {
196280
- color: PC(n),
196281
- opacity: FC(n),
196660
+ color: QC(n),
196661
+ opacity: $C(n),
196282
196662
  transparent: !0
196283
196663
  })]
196284
- }), e.label && /* @__PURE__ */ Ke(LC, {
196664
+ }), e.label && /* @__PURE__ */ Ke(tw, {
196285
196665
  color: n ? "#ffffff" : "#50606f",
196286
196666
  label: e.label,
196287
196667
  position: [
@@ -196293,11 +196673,11 @@ function HC({ action: e, onPick: t }) {
196293
196673
  })]
196294
196674
  });
196295
196675
  }
196296
- function UC({ active: e = !0, cameraRef: t, controlRef: n, modelRef: r }) {
196676
+ function sw({ active: e = !0, cameraRef: t, controlRef: n, modelRef: r }) {
196297
196677
  let i = l(null), a = l(null), o = c(() => [
196298
- ...AC,
196299
- ...jC(),
196300
- ...MC()
196678
+ ...JC,
196679
+ ...YC(),
196680
+ ...XC()
196301
196681
  ], []);
196302
196682
  return f(() => {
196303
196683
  if (!e) return;
@@ -196306,16 +196686,16 @@ function UC({ active: e = !0, cameraRef: t, controlRef: n, modelRef: r }) {
196306
196686
  i.current && i.current.quaternion.copy(r.quaternion).invert();
196307
196687
  let o = a.current;
196308
196688
  if (!o) return;
196309
- let s = performance.now() - o.startTime, c = Math.min(s / TC, 1), l = 1 - (1 - c) ** 3, u = n.current;
196689
+ let s = performance.now() - o.startTime, c = Math.min(s / UC, 1), l = 1 - (1 - c) ** 3, u = n.current;
196310
196690
  r.position.lerpVectors(o.startPosition, o.endPosition, l), r.up.lerpVectors(o.startUp, o.endUp, l), u ? (u.target.lerpVectors(o.startTarget, o.endTarget, l), u.update()) : r.lookAt(o.endTarget), c >= 1 && (r.up.copy(o.endUp), u?.target.copy(o.endTarget), u?.update(), a.current = null);
196311
196691
  }), e ? /* @__PURE__ */ Ke("group", {
196312
196692
  ref: i,
196313
- scale: CC,
196314
- children: o.map((e) => /* @__PURE__ */ Ke(HC, {
196693
+ scale: VC,
196694
+ children: o.map((e) => /* @__PURE__ */ Ke(ow, {
196315
196695
  action: e,
196316
196696
  onPick: (e) => {
196317
196697
  let i = t.current;
196318
- i && VC({
196698
+ i && aw({
196319
196699
  camera: i,
196320
196700
  controlRef: n,
196321
196701
  direction: e.direction,
@@ -196328,7 +196708,7 @@ function UC({ active: e = !0, cameraRef: t, controlRef: n, modelRef: r }) {
196328
196708
  }
196329
196709
  //#endregion
196330
196710
  //#region src/viewer/Viewer.tsx
196331
- var WC = {
196711
+ var cw = {
196332
196712
  bottom: 16,
196333
196713
  height: 96,
196334
196714
  pointerEvents: "auto",
@@ -196337,11 +196717,11 @@ var WC = {
196337
196717
  touchAction: "none",
196338
196718
  width: 96,
196339
196719
  zIndex: 2
196340
- }, GC = {
196720
+ }, lw = {
196341
196721
  height: "100%",
196342
196722
  position: "relative",
196343
196723
  width: "100%"
196344
- }, KC = {
196724
+ }, uw = {
196345
196725
  far: 50,
196346
196726
  near: .1,
196347
196727
  position: [
@@ -196350,15 +196730,15 @@ var WC = {
196350
196730
  10
196351
196731
  ],
196352
196732
  zoom: 72
196353
- }, qC = {
196733
+ }, dw = {
196354
196734
  alpha: !0,
196355
196735
  antialias: !0
196356
196736
  };
196357
- function JC() {
196737
+ function fw() {
196358
196738
  let e = navigator, t = navigator.userAgent.toLowerCase(), n = navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, r = window.matchMedia?.("(pointer: coarse)").matches ?? !1;
196359
196739
  return e.userAgentData?.mobile || n || /android|iphone|ipad|ipod|mobile|tablet/.test(t) || navigator.maxTouchPoints > 1 && r ? "mobile" : "pc";
196360
196740
  }
196361
- function YC({ cameraRef: e, controlRef: t, lightRef: n, modelRef: r, modelsData: i, onReady: a, publicApi: s, setSceneApi: u }) {
196741
+ function pw({ cameraRef: e, controlRef: t, lightRef: n, modelRef: r, modelsData: i, onReady: a, publicApi: s, setSceneApi: u }) {
196362
196742
  let d = p((e) => e.camera), f = rn(r), te = vn(f), { colorPaletteTexture: ne, colorUtils: re } = ht(f), h = mr(r), ie = Kn(r, t, h), ae = sr(r, t, h), oe = c(() => new VS(), []), se = te.buildIndex, ce = f.resetIndex, le = re.applyStoredColors, ue = ui(), de = l(!1), fe = Xe((e) => e.showStats), pe = c(() => {
196363
196743
  let e = Object.keys(i).sort((e, t) => Number(e) - Number(t));
196364
196744
  for (let t of e) {
@@ -196484,7 +196864,7 @@ function YC({ cameraRef: e, controlRef: t, lightRef: n, modelRef: r, modelsData:
196484
196864
  color: "#ffffff",
196485
196865
  intensity: 2
196486
196866
  }),
196487
- fe && /* @__PURE__ */ Ke(m, {}),
196867
+ fe && /* @__PURE__ */ Ke(ee, {}),
196488
196868
  /* @__PURE__ */ Ke("group", {
196489
196869
  ref: r,
196490
196870
  children: he.map(([e, t]) => /* @__PURE__ */ Ke(Yt, {
@@ -196494,14 +196874,14 @@ function YC({ cameraRef: e, controlRef: t, lightRef: n, modelRef: r, modelsData:
196494
196874
  modelID: e
196495
196875
  }, e))
196496
196876
  }),
196497
- /* @__PURE__ */ Ke(ee, {
196877
+ /* @__PURE__ */ Ke(m, {
196498
196878
  dampingFactor: .15,
196499
196879
  enableDamping: !0,
196500
196880
  ref: t
196501
196881
  })
196502
196882
  ] });
196503
196883
  }
196504
- function XC({ camera: e = {
196884
+ function mw({ camera: e = {
196505
196885
  position: [
196506
196886
  10,
196507
196887
  10,
@@ -196509,9 +196889,9 @@ function XC({ camera: e = {
196509
196889
  ],
196510
196890
  fov: 50
196511
196891
  }, dpr: t = window.devicePixelRatio, modelUrls: n, modelSources: r, modelsData: i, onReady: a, publicApi: s, setSceneApi: c, showNavCube: f, showStats: p }) {
196512
- let ee = l(null), m = l(null), te = l(null), ne = l(null), [re, h] = u(), ie = Ze(), ae = Xe((e) => e.setModelNames), oe = Xe((e) => e.setModelProps), se = Xe((e) => e.setModelStructure), ce = Xe((e) => e.setShowNavCube), le = Xe((e) => e.setShowStats), ue = Xe((e) => e.setUserDevice), de = Xe((e) => e.showNavCube), fe = i ?? re;
196892
+ let m = l(null), ee = l(null), te = l(null), ne = l(null), [re, h] = u(), ie = Ze(), ae = Xe((e) => e.setModelNames), oe = Xe((e) => e.setModelProps), se = Xe((e) => e.setModelStructure), ce = Xe((e) => e.setShowNavCube), le = Xe((e) => e.setShowStats), ue = Xe((e) => e.setUserDevice), de = Xe((e) => e.showNavCube), fe = i ?? re;
196513
196893
  return o(() => {
196514
- ue(JC());
196894
+ ue(fw());
196515
196895
  }, [ue]), o(() => {
196516
196896
  le(!!p);
196517
196897
  }, [le, p]), o(() => {
@@ -196532,7 +196912,7 @@ function XC({ camera: e = {
196532
196912
  let e = r ?? n;
196533
196913
  if (!e?.length) return;
196534
196914
  let t = !0;
196535
- return mC.loadModel(e).then((e) => {
196915
+ return MC.loadModel(e).then((e) => {
196536
196916
  t && h(e);
196537
196917
  }), () => {
196538
196918
  t = !1;
@@ -196542,15 +196922,15 @@ function XC({ camera: e = {
196542
196922
  r,
196543
196923
  n
196544
196924
  ]), fe ? /* @__PURE__ */ qe("div", {
196545
- style: GC,
196925
+ style: lw,
196546
196926
  children: [/* @__PURE__ */ Ke(d, {
196547
196927
  camera: e,
196548
196928
  dpr: t,
196549
196929
  children: /* @__PURE__ */ Ke(di, {
196550
196930
  store: ie,
196551
- children: /* @__PURE__ */ Ke(YC, {
196552
- cameraRef: ee,
196553
- controlRef: m,
196931
+ children: /* @__PURE__ */ Ke(pw, {
196932
+ cameraRef: m,
196933
+ controlRef: ee,
196554
196934
  lightRef: ne,
196555
196935
  modelRef: te,
196556
196936
  modelsData: fe,
@@ -196560,49 +196940,49 @@ function XC({ camera: e = {
196560
196940
  })
196561
196941
  })
196562
196942
  }), de && /* @__PURE__ */ Ke("div", {
196563
- style: WC,
196943
+ style: cw,
196564
196944
  children: /* @__PURE__ */ Ke(d, {
196565
- camera: KC,
196945
+ camera: uw,
196566
196946
  dpr: t,
196567
- gl: qC,
196947
+ gl: dw,
196568
196948
  orthographic: !0,
196569
- children: /* @__PURE__ */ Ke(UC, {
196949
+ children: /* @__PURE__ */ Ke(sw, {
196570
196950
  active: !0,
196571
- cameraRef: ee,
196572
- controlRef: m,
196951
+ cameraRef: m,
196952
+ controlRef: ee,
196573
196953
  modelRef: te
196574
196954
  })
196575
196955
  })
196576
196956
  })]
196577
196957
  }) : /* @__PURE__ */ Ke(Ge, {});
196578
196958
  }
196579
- var ZC = n(function(e, t) {
196580
- let [n] = u(tt), r = l(!1), a = l(!1), d = l(null), { defaultSelected: f, onSelectedChange: p, selected: ee } = e, m = i((e) => {
196959
+ var hw = n(function(e, t) {
196960
+ let [n] = u(tt), r = l(!1), a = l(!1), d = l(null), { defaultSelected: f, onSelectedChange: p, selected: m } = e, ee = i((e) => {
196581
196961
  d.current = e;
196582
196962
  }, []), te = c(() => aC(n, () => d.current), [n]);
196583
196963
  return s(t, () => te, [te]), o(() => (n.getState().setApi(te), () => {
196584
196964
  n.getState().api === te && n.getState().setApi(null);
196585
196965
  }), [te, n]), o(() => {
196586
- r.current || !f || ee !== void 0 || (r.current = !0, n.getState().setSelection(iC(f)));
196966
+ r.current || !f || m !== void 0 || (r.current = !0, n.getState().setSelection(iC(f)));
196587
196967
  }, [
196588
- ee,
196968
+ m,
196589
196969
  f,
196590
196970
  n
196591
196971
  ]), o(() => {
196592
- ee !== void 0 && (a.current = !0, n.getState().setSelection(iC(ee)), a.current = !1);
196593
- }, [ee, n]), o(() => {
196972
+ m !== void 0 && (a.current = !0, n.getState().setSelection(iC(m)), a.current = !1);
196973
+ }, [m, n]), o(() => {
196594
196974
  if (p) return n.subscribe((e, t) => {
196595
196975
  e.selected !== t.selected && (a.current || p(rC(e.selected)));
196596
196976
  });
196597
196977
  }, [p, n]), /* @__PURE__ */ Ke(di, {
196598
196978
  store: n,
196599
- children: /* @__PURE__ */ Ke(XC, {
196979
+ children: /* @__PURE__ */ Ke(mw, {
196600
196980
  ...e,
196601
196981
  publicApi: te,
196602
- setSceneApi: m
196982
+ setSceneApi: ee
196603
196983
  })
196604
196984
  });
196605
196985
  });
196606
- ZC.displayName = "Viewer";
196986
+ hw.displayName = "Viewer";
196607
196987
  //#endregion
196608
- export { sC as BMTLoader, VS as BmtConverter, US as ConvertIfcFileToBmt, WS as ConvertToBmt, $n as DimensionLine, or as DimensionsUtils, nC as FilteredElementsCollector, NS as IFCLoader, Ut as ModelGrids, UC as NavigationCube, ZC as Viewer, di as ViewerStoreProvider, HS as bmtConverter, tt as createViewerStore, Qi as exportExcel, Yi as exportModelPropertiesToExcel, mC as loader, sr as useDimensionsUtils, Xe as useViewerStore, Ze as useViewerStoreApi };
196988
+ export { sC as BMTLoader, VS as BmtConverter, US as ConvertIfcFileToBmt, WS as ConvertToBmt, $n as DimensionLine, or as DimensionsUtils, nC as FilteredElementsCollector, NS as IFCLoader, Ut as ModelGrids, sw as NavigationCube, hw as Viewer, di as ViewerStoreProvider, HS as bmtConverter, gC as createBmtWorker, TC as createIfcWorker, tt as createViewerStore, Qi as exportExcel, Yi as exportModelPropertiesToExcel, hC as loadBmtModelsInWorker, wC as loadIfcModelsInWorker, MC as loader, sr as useDimensionsUtils, Xe as useViewerStore, Ze as useViewerStoreApi };