@ifc-lite/viewer 1.22.0 → 1.23.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/.turbo/turbo-build.log +71 -44
- package/CHANGELOG.md +73 -0
- package/dist/assets/__vite-browser-external-B1O5LaIO.js +1 -0
- package/dist/assets/{arrow-fie-E7fe.js → arrow-CXWhTnNT.js} +1 -1
- package/dist/assets/{basketViewActivator-EHAhHlwN.js → basketViewActivator-Dn_bHUl2.js} +10 -10
- package/dist/assets/{bcf-Bhx-K17f.js → bcf-B9SFl84i.js} +2 -2
- package/dist/assets/browser-DXS29_v9.js +695 -0
- package/dist/assets/{cesium-B4ZIU9jS.js → cesium-BoVuJvTC.js} +5838 -5730
- package/dist/assets/{decode-worker-CYqSjk1n.js → decode-worker-CgM1iNSK.js} +1 -1
- package/dist/assets/deflate-yMpdCIqk.js +1 -0
- package/dist/assets/{drawing-2d-Bjy8YPrg.js → drawing-2d-C71b8Ugx.js} +1 -1
- package/dist/assets/emscripten-module-B1g2L2eS.wasm +0 -0
- package/dist/assets/emscripten-module-DHbYPfAp.wasm +0 -0
- package/dist/assets/emscripten-module-ZrHFMo7O.wasm +0 -0
- package/dist/assets/emscripten-module-uFzwHH0Y.wasm +0 -0
- package/dist/assets/emscripten-module.browser-BLJD5hhE.js +1 -0
- package/dist/assets/{esbuild-Cpd5nU_H.wasm → esbuild-CzsZLPr0.wasm} +0 -0
- package/dist/assets/esbuild-FgU11_Eg.js +1 -0
- package/dist/assets/event-B0kAzHa-.js +1 -0
- package/dist/assets/{exporters-KTio0Tdm.js → exporters-D-BvrNIg.js} +1361 -1330
- package/dist/assets/ffi-Boa1QuFa.js +1 -0
- package/dist/assets/{geometry-controller.worker-Cm2P_EJr.js → geometry-controller.worker-Cm5pvyR6.js} +2 -2
- package/dist/assets/geometry.worker-ClNvXIrj.js +1 -0
- package/dist/assets/geotiff-D1tvcDCb.js +3354 -0
- package/dist/assets/{ids-CS7VCFin.js → ids-DZLs0snJ.js} +6 -6
- package/dist/assets/{ifc-lite-C6wEhXa6.js → ifc-lite-BDg0iIbj.js} +2 -2
- package/dist/assets/ifc-lite_bg-BIryVCXQ.wasm +0 -0
- package/dist/assets/ifc-lite_bg-DyHX37GQ.wasm +0 -0
- package/dist/assets/{index-8k9h-ANq.js → index-CXSBhkcJ.js} +64181 -52931
- package/dist/assets/index-DMho-JA0.js +6 -0
- package/dist/assets/index-DS_xJQfP.css +1 -0
- package/dist/assets/jpeg-DUMcZp24.js +1 -0
- package/dist/assets/{laz-perf-DnSyzVYH.wasm → laz-perf-CFJp03W6.wasm} +0 -0
- package/dist/assets/laz-perf-DgUOSLeU.js +1 -0
- package/dist/assets/{laz-source-jj3xI5Y4.js → laz-source-BWjza0Iw.js} +2 -2
- package/dist/assets/{lens-CSASnhAL.js → lens-CpjUdqpw.js} +1 -1
- package/dist/assets/lerc-IN4uWojP.js +1 -0
- package/dist/assets/lzw-Cnw0hH-m.js +1 -0
- package/dist/assets/maplibre-gl-Do6O5tDc.js +800 -0
- package/dist/assets/{native-bridge-DNrEhx2R.js → native-bridge-BVf2uzoH.js} +3 -3
- package/dist/assets/packbits-BskJCwk0.js +1 -0
- package/dist/assets/pako.esm-Cram60i4.js +1 -0
- package/dist/assets/parquet_wasm_bg-DcKVfvto.wasm +0 -0
- package/dist/assets/{parser.worker-BcjkIo89.js → parser.worker-BdtkkaGf.js} +3 -3
- package/dist/assets/raw-DzTtEZIY.js +1 -0
- package/dist/assets/{sandbox-BSn5MyEJ.js → sandbox-VLI_y7cl.js} +1664 -1542
- package/dist/assets/{server-client-D-kU2XAF.js → server-client-BLcKaWQB.js} +4 -4
- package/dist/assets/three-CQBzFWY2.js +4104 -0
- package/dist/assets/wasm-bridge-BAfZh7YT.js +1 -0
- package/dist/assets/webimage-Db2xzze3.js +1 -0
- package/dist/assets/{workerHelpers-pUUnk9Wc.js → workerHelpers--sAYm9yN.js} +1 -1
- package/dist/assets/zstd-BDToOQyD.js +1 -0
- package/dist/cesium/{Workers/chunk-V7QEYVP3.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-236YIEYT.js} +2 -2
- package/dist/cesium/{Workers/chunk-5TJMAQVL.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-2ZYB3DYT.js} +2 -2
- package/dist/cesium/{Workers/chunk-UBOGZS7F.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-4M56RRIL.js} +2 -2
- package/dist/cesium/{Workers/chunk-OCWJRAXS.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-5BC2Q3QW.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-5XHUDY37.js +26 -0
- package/dist/cesium/{Workers/chunk-Z3QF2EHT.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-6WMLAJJP.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-72KUXMWU.js +26 -0
- package/dist/cesium/{Workers/chunk-EQ4YRVWL.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-7NQYTTAU.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-A35GG5WJ.js +26 -0
- package/dist/cesium/{Workers/chunk-FC4ZZ65J.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-AXNBHUAG.js} +2 -2
- package/dist/cesium/{Workers/chunk-BTSYJ5XU.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-DC3K7YTH.js} +2 -2
- package/dist/cesium/{Workers/chunk-SLT4J352.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-DRBPXGI7.js} +2 -2
- package/dist/cesium/{Workers/chunk-2MJIIVP4.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EARRZPMO.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EHC3BDVP.js +26 -0
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EYZUSGKM.js +26 -0
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-EZSKHVA2.js +26 -0
- package/dist/cesium/{Workers/chunk-ICALLYLG.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-F3WJIFOO.js} +2 -2
- package/dist/cesium/{Workers/chunk-LSLE2RL4.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-FB7UV5BI.js} +2 -2
- package/dist/cesium/{Workers/chunk-CUUSNIVQ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-FC6IYMYF.js} +2 -2
- package/dist/cesium/{Workers/chunk-TNSUQXWK.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-GF67PEXE.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-GXEQRH2R.js +26 -0
- package/dist/cesium/{Workers/chunk-M4HLDBCG.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-I5NKQIWE.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IH7GXIUB.js +26 -0
- package/dist/cesium/{Workers/chunk-OIT7J4IC.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IPP3UFGH.js} +2 -2
- package/dist/cesium/{Workers/chunk-WWWZVEEH.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-IYRGNBSH.js} +2 -2
- package/dist/cesium/{Workers/chunk-WPMZLB3Y.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-J6BM74AD.js} +2 -2
- package/dist/cesium/{Workers/chunk-QFM5DCMQ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-KG2GJUJT.js} +1 -1
- package/dist/cesium/{Workers/chunk-XQHLGIO7.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-L7UE5MMF.js} +2 -2
- package/dist/cesium/{Workers/chunk-EFBN7QNX.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LBZ34MHQ.js} +2 -2
- package/dist/cesium/{Workers/chunk-YP7I5QBZ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LOQDTQMX.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-LYLRYC4L.js +29 -0
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-MGPRMLLW.js +26 -0
- package/dist/cesium/{Workers/chunk-LI2ZSORM.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-NP26LKQA.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-OMUAZ3NM.js +26 -0
- package/dist/cesium/{Workers/chunk-S44JILQT.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PPFUDJN4.js} +2 -2
- package/dist/cesium/{Workers/chunk-EDVBB7SS.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PQ3V63XF.js} +2 -2
- package/dist/cesium/{Workers/chunk-Q5BPHJQF.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-PWBQN4GK.js} +2 -2
- package/dist/cesium/{Workers/chunk-E7KYDCM5.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-QOTMLO2T.js} +2 -2
- package/dist/cesium/{Workers/chunk-XUSCFAVF.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-SP35IT73.js} +2 -2
- package/dist/cesium/{Workers/chunk-6BD4U3VO.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-T3ZGSZKA.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-TM6SYYHO.js +28 -0
- package/dist/cesium/{Workers/chunk-VUKYSU4H.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-TSGIJVWH.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-U3YGOX3C.js +63 -0
- package/dist/cesium/{Workers/chunk-7TVGLKQF.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VBYOXOSM.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VCOHJNKB.js +26 -0
- package/dist/cesium/{Workers/chunk-WBOV35NL.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXAZXMUX.js} +2 -2
- package/dist/cesium/{Workers/chunk-IX4VMHEV.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-VXCJOT4W.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-WPD3MB6X.js +26 -0
- package/dist/cesium/{Workers/chunk-V3OSTMM6.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-X4D5KUN5.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XEC656IT.js +26 -0
- package/dist/cesium/{Workers/chunk-MJHHSGEH.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XR53QRQS.js} +2 -2
- package/dist/cesium/{Workers/chunk-XFIQ5DEQ.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XR7MN4PJ.js} +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XU6O4MRS.js +26 -0
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-XZBHEBLF.js +29 -0
- package/dist/cesium/{Workers/chunk-OLZ3FYUM.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-Z2M4BF4E.js} +2 -2
- package/dist/cesium/{Workers/chunk-2ZBHLJST.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-Z4ERBZFB.js} +2 -2
- package/dist/cesium/{Workers/chunk-W37FE5GR.js → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/chunk-ZY2KCIWI.js} +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/combineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createBoxGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createBoxOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCircleGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCircleOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCoplanarPolygonGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +26 -0
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCorridorGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCorridorOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCylinderGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createCylinderOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipseGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipseOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipsoidGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createEllipsoidOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createFrustumGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createFrustumOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createGeometry.js +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/createGroundPolylineGeometry.js +26 -0
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPlaneGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPlaneOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolygonGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolygonOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolylineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolylineVolumeGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createPolylineVolumeOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createRectangleGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createRectangleOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createSimplePolylineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createSphereGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createSphereOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createTaskProcessorWorker.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTileClampedPolylines.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTileGeometries.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTilePoints.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTilePolygons.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVectorTilePolylines.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromCesium3DTilesTerrain.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromHeightmap.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createVerticesFromQuantizedTerrainMesh.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createWallGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/createWallOutlineGeometry.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/decodeDraco.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/decodeI3S.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/gaussianSplatSorter.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/gaussianSplatTextureGenerator.js +2 -2
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/incrementallyBuildTerrainPicker.js +2 -2
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/transcodeKTX2.js +56 -0
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/transferTypedArrayTest.js +1 -1
- package/dist/cesium/node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +26 -0
- package/dist/cesium/{Workers → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Workers}/upsampleVerticesFromCesium3DTilesTerrain.js +2 -2
- package/dist/index.html +11 -11
- package/package.json +52 -45
- package/src/components/mcp/McpLanding.tsx +1 -1
- package/src/components/mcp/McpPlayground.tsx +1 -1
- package/src/components/viewer/AddElementPanel.tsx +2 -2
- package/src/components/viewer/BasepointOverlay.tsx +239 -0
- package/src/components/viewer/CesiumOverlay.tsx +15 -59
- package/src/components/viewer/CesiumPlacementEditor.tsx +16 -1
- package/src/components/viewer/CommandPalette.tsx +25 -0
- package/src/components/viewer/GLBExportDialog.tsx +389 -0
- package/src/components/viewer/GeometryAxisRow.tsx +54 -0
- package/src/components/viewer/GeometryEditCard.tsx +392 -0
- package/src/components/viewer/HierarchyPanel.tsx +2 -2
- package/src/components/viewer/IDSAuditSummary.tsx +2 -2
- package/src/components/viewer/KeyboardShortcutsDialog.tsx +58 -4
- package/src/components/viewer/MainToolbar.tsx +292 -29
- package/src/components/viewer/PropertiesPanel.tsx +28 -31
- package/src/components/viewer/StatusBar.tsx +12 -0
- package/src/components/viewer/ToolOverlays.tsx +36 -0
- package/src/components/viewer/ViewerLayout.tsx +27 -0
- package/src/components/viewer/Viewport.tsx +49 -4
- package/src/components/viewer/ViewportContainer.tsx +88 -17
- package/src/components/viewer/ViewportOverlays.tsx +50 -11
- package/src/components/viewer/chat/ByokKeyModal.tsx +1 -1
- package/src/components/viewer/properties/FederationAlignmentControls.tsx +180 -0
- package/src/components/viewer/properties/GeoreferencingPanel.tsx +6 -0
- package/src/components/viewer/properties/PrecisionGridBadge.tsx +125 -0
- package/src/components/viewer/properties/raw-step-format.ts +5 -3
- package/src/components/viewer/selectionHandlers.ts +301 -10
- package/src/components/viewer/tools/GizmoOverlay.tsx +322 -0
- package/src/components/viewer/tools/SplitNumericInput.tsx +225 -0
- package/src/components/viewer/tools/SplitOverlay.tsx +242 -0
- package/src/components/viewer/tools/WallEndpointOverlay.tsx +252 -0
- package/src/components/viewer/useGeometryStreaming.ts +100 -1
- package/src/components/viewer/useMouseControls.ts +8 -1
- package/src/hooks/useBCF.ts +6 -6
- package/src/hooks/useCameraTickSubscription.ts +62 -0
- package/src/hooks/useIfc.ts +4 -0
- package/src/hooks/useIfcFederation.ts +368 -20
- package/src/hooks/useKeyboardShortcuts.ts +86 -0
- package/src/hooks/useLevelDisplayEffect.ts +160 -0
- package/src/hooks/useViewerSelectors.ts +8 -0
- package/src/lib/__test__/stubs.ts +110 -0
- package/src/lib/geo/cesium-bridge.ts +3 -3
- package/src/lib/geo/cesium-placement.test.ts +28 -12
- package/src/lib/geo/cesium-placement.ts +16 -10
- package/src/lib/geo/effective-georef.test.ts +23 -7
- package/src/lib/geo/geo-scale.ts +58 -2
- package/src/lib/geo/ifc-origin.test.ts +176 -0
- package/src/lib/geo/ifc-origin.ts +144 -0
- package/src/lib/geo/precision-grids.ts +444 -0
- package/src/lib/geo/reproject.test.ts +88 -0
- package/src/lib/geo/reproject.ts +168 -36
- package/src/lib/level-offsets.test.ts +153 -0
- package/src/lib/level-offsets.ts +140 -0
- package/src/lib/linear-element-edit.test.ts +220 -0
- package/src/lib/linear-element-edit.ts +327 -0
- package/src/lib/metadata-clone.test.ts +173 -0
- package/src/lib/metadata-clone.ts +124 -0
- package/src/lib/placement-core.ts +340 -0
- package/src/lib/placement-edit.boot.ts +21 -0
- package/src/lib/placement-edit.test.ts +464 -0
- package/src/lib/placement-edit.ts +47 -0
- package/src/lib/polygon-clip.test.ts +193 -0
- package/src/lib/polygon-clip.ts +199 -0
- package/src/lib/slab-edit.test.ts +169 -0
- package/src/lib/slab-edit.ts +312 -0
- package/src/lib/wall-edit.ts +342 -0
- package/src/lib/wall-opening-reassign.test.ts +291 -0
- package/src/lib/wall-opening-reassign.ts +241 -0
- package/src/main.tsx +4 -0
- package/src/store/index.ts +7 -0
- package/src/store/slices/cesiumSlice.ts +61 -8
- package/src/store/slices/dataSlice.ts +80 -0
- package/src/store/slices/levelDisplaySlice.ts +105 -0
- package/src/store/slices/modelSlice.test.ts +19 -0
- package/src/store/slices/mutationSlice.ts +1138 -1
- package/src/store/slices/splitToolSlice.ts +165 -0
- package/src/store/slices/uiSlice.edit-mode.test.ts +210 -0
- package/src/store/slices/uiSlice.ts +78 -1
- package/src/store/types.ts +57 -2
- package/src/utils/createBlankIfc.ts +37 -0
- package/tsconfig.json +1 -0
- package/.turbo/turbo-typecheck.log +0 -4
- package/dist/assets/arrow2_bg-BoXCojjR.wasm +0 -0
- package/dist/assets/browser-CVf8ATeW.js +0 -694
- package/dist/assets/emscripten-module-BTRCZGcB.wasm +0 -0
- package/dist/assets/emscripten-module-CGIn_cMh.wasm +0 -0
- package/dist/assets/emscripten-module-DYvzWiHh.wasm +0 -0
- package/dist/assets/emscripten-module-NWak2PoB.wasm +0 -0
- package/dist/assets/emscripten-module.browser-DcFZLAUx.js +0 -1
- package/dist/assets/esbuild-COv63sf-.js +0 -1
- package/dist/assets/event-DIOks52T.js +0 -1
- package/dist/assets/ffi-DlhRHxHv.js +0 -1
- package/dist/assets/geometry.worker-DchLBqZ8.js +0 -1
- package/dist/assets/ifc-lite_bg-CSeT3fNI.wasm +0 -0
- package/dist/assets/ifc-lite_bg-ns4cSnX2.wasm +0 -0
- package/dist/assets/index-BZC2YaOP.css +0 -1
- package/dist/assets/index-HqAIQkr6.js +0 -22
- package/dist/assets/laz-perf-Cvr_Lepg.js +0 -1
- package/dist/assets/maplibre-gl-C4LXKM6c.js +0 -808
- package/dist/assets/three-DwNDHx9-.js +0 -4049
- package/dist/assets/wasm-bridge-Cha08LdC.js +0 -1
- package/dist/cesium/Workers/chunk-23ZQ2IVV.js +0 -29
- package/dist/cesium/Workers/chunk-2EQO3Q56.js +0 -26
- package/dist/cesium/Workers/chunk-2TE5NTVD.js +0 -26
- package/dist/cesium/Workers/chunk-BXMEEOCS.js +0 -63
- package/dist/cesium/Workers/chunk-BYLCY7GP.js +0 -29
- package/dist/cesium/Workers/chunk-CTHM3W6I.js +0 -26
- package/dist/cesium/Workers/chunk-E3JOOS3S.js +0 -26
- package/dist/cesium/Workers/chunk-F6PRE7D6.js +0 -26
- package/dist/cesium/Workers/chunk-FFBVWF2L.js +0 -26
- package/dist/cesium/Workers/chunk-GBAA6GVX.js +0 -26
- package/dist/cesium/Workers/chunk-ILRYTWTP.js +0 -26
- package/dist/cesium/Workers/chunk-IRNLBSEJ.js +0 -26
- package/dist/cesium/Workers/chunk-L6QHHACZ.js +0 -26
- package/dist/cesium/Workers/chunk-NMVKML6W.js +0 -26
- package/dist/cesium/Workers/chunk-OIRKANTH.js +0 -26
- package/dist/cesium/Workers/chunk-QKUIYMGC.js +0 -28
- package/dist/cesium/Workers/chunk-SQMIIXB7.js +0 -26
- package/dist/cesium/Workers/chunk-TJ4XLGBQ.js +0 -26
- package/dist/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +0 -26
- package/dist/cesium/Workers/createGroundPolylineGeometry.js +0 -26
- package/dist/cesium/Workers/transcodeKTX2.js +0 -56
- package/dist/cesium/Workers/upsampleQuantizedTerrainMesh.js +0 -26
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_0.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_1.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_10.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_11.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_12.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_13.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_14.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_15.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_16.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_17.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_18.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_19.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_2.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_20.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_21.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_22.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_23.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_24.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_25.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_26.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_27.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_3.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_4.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_5.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_6.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_7.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_8.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/IAU2006_XYS/IAU2006_XYS_9.json +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/bing_maps_credit.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/cesium_credit.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/google_earth_credit.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Images/ion-credit.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/LensFlare/DirtMask.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/LensFlare/StarBurst.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/NaturalEarthII/tilemapresource.xml +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/airfield.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/airport.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/alcohol-shop.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/america-football.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/art-gallery.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bakery.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bank.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bar.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/baseball.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/basketball.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/beer.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bicycle.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/building.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/bus.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cafe.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/camera.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/campsite.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/car.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cemetery.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cesium.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/chemist.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cinema.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/circle-stroked.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/circle.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/city.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/clothing-store.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/college.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/commercial.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cricket.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/cross.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/dam.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/danger.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/disability.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/dog-park.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/embassy.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/emergency-telephone.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/entrance.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/farm.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/fast-food.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/ferry.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/fire-station.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/fuel.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/garden.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/gift.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/golf.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/grocery.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/hairdresser.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/harbor.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/heart.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/heliport.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/hospital.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/ice-cream.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/industrial.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/land-use.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/laundry.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/library.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/lighthouse.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/lodging.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/logging.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/london-underground.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/marker-stroked.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/marker.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/minefield.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/mobilephone.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/monument.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/museum.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/music.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/oil-well.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/park.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/park2.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/parking-garage.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/parking.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/pharmacy.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/pitch.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/place-of-worship.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/playground.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/police.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/polling-place.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/post.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/prison.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-above.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-light.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-metro.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail-underground.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rail.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/religious-christian.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/religious-jewish.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/religious-muslim.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/restaurant.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/roadblock.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/rocket.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/school.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/scooter.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/shop.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/skiing.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/slaughterhouse.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/soccer.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/square-stroked.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/square.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/star-stroked.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/star.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/suitcase.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/swimming.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/telephone.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/tennis.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/theatre.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/toilets.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/town-hall.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/town.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/triangle-stroked.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/triangle.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/village.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/warehouse.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/waste-basket.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/water.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/wetland.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/maki/zoo.png +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/moonSmall.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/pin.svg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/waterNormals.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/Textures/waterNormalsSmall.jpg +0 -0
- /package/dist/cesium/{Assets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Assets}/approximateTerrainHeights.json +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/Workers/package.json +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/Workers/zip-web-worker.js +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/basis_transcoder.wasm +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/draco_decoder.wasm +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/google-earth-dbroot-parser.js +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/wasm_splats_bg.wasm +0 -0
- /package/dist/cesium/{ThirdParty → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/ThirdParty}/zip-module.wasm +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Animation/Animation.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Animation/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/BaseLayerPicker/BaseLayerPicker.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/BaseLayerPicker/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Cesium3DTilesInspector/Cesium3DTilesInspector.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/CesiumInspector/CesiumInspector.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/CesiumWidget/CesiumWidget.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/CesiumWidget/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/FullscreenButton/FullscreenButton.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Geocoder/Geocoder.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Geocoder/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/I3SBuildingSceneLayerExplorer/I3SBuildingSceneLayerExplorer.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/azureAerial.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/azureRoads.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/bingAerial.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/bingAerialLabels.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/bingRoads.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/blueMarble.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/earthAtNight.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleContour.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleRoadmap.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleSatellite.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/googleSatelliteLabels.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapQuestOpenStreetMap.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapboxSatellite.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapboxStreets.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/mapboxTerrain.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/naturalEarthII.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/openStreetMap.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/sentinel-2.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stadiaAlidadeSmooth.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stadiaAlidadeSmoothDark.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stamenToner.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/ImageryProviders/stamenWatercolor.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/Mouse.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/MouseLeft.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/MouseMiddle.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/MouseRight.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/Touch.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchDrag.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchRotate.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchTilt.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/NavigationHelp/TouchZoom.svg +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/TerrainProviders/CesiumWorldTerrain.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/TerrainProviders/Ellipsoid.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/TimelineIcons.png +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Images/info-loading.gif +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/InfoBox/InfoBox.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/InfoBox/InfoBoxDescription.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/NavigationHelpButton/NavigationHelpButton.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/NavigationHelpButton/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/PerformanceWatchdog/PerformanceWatchdog.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/ProjectionPicker/ProjectionPicker.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/SceneModePicker/SceneModePicker.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/SelectionIndicator/SelectionIndicator.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Timeline/Timeline.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Timeline/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/VRButton/VRButton.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/Viewer/Viewer.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/VoxelInspector/VoxelInspector.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/lighter.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/lighterShared.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/shared.css +0 -0
- /package/dist/cesium/{Widgets → node_modules/.pnpm/cesium@1.141.0/node_modules/cesium/Build/Cesium/Widgets}/widgets.css +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-bridge-
|
|
2
|
-
import {
|
|
3
|
-
let
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/native-bridge-BVf2uzoH.js","assets/sandbox-VLI_y7cl.js","assets/lens-CpjUdqpw.js","assets/wasm-bridge-BAfZh7YT.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { J as on, _ as Ae, aD as tt, a1 as gn, a2 as hn, j as nt, k as Ft, aG as an, E as In, ab as be, af as yn, ac as mn, az as bn, K as En, i as Ee, h as wn, __tla as __tla_0 } from "./sandbox-VLI_y7cl.js";
|
|
3
|
+
let xs, Os, rn, Ls, Es, dn, Ce, $n, Bs, we, Un, se, As, Ms, Ns;
|
|
4
4
|
let __tla = Promise.all([
|
|
5
5
|
(()=>{
|
|
6
6
|
try {
|
|
@@ -9,68 +9,68 @@ let __tla = Promise.all([
|
|
|
9
9
|
})()
|
|
10
10
|
]).then(async ()=>{
|
|
11
11
|
let o;
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
const t =
|
|
15
|
-
return
|
|
12
|
+
function B(i) {
|
|
13
|
+
Gt === ot.length && ot.push(ot.length + 1);
|
|
14
|
+
const t = Gt;
|
|
15
|
+
return Gt = ot[t], ot[t] = i, t;
|
|
16
16
|
}
|
|
17
|
-
function
|
|
18
|
-
if (
|
|
19
|
-
return
|
|
17
|
+
function Oe(i) {
|
|
18
|
+
if ($t == 1) throw new Error("out of js stack");
|
|
19
|
+
return ot[--$t] = i, $t;
|
|
20
20
|
}
|
|
21
|
-
const
|
|
21
|
+
const xe = typeof FinalizationRegistry > "u" ? {
|
|
22
22
|
register: ()=>{},
|
|
23
23
|
unregister: ()=>{}
|
|
24
24
|
} : new FinalizationRegistry((i)=>i.dtor(i.a, i.b));
|
|
25
25
|
function Cn(i) {
|
|
26
|
-
i < 132 || (
|
|
26
|
+
i < 132 || (ot[i] = Gt, Gt = i);
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
function It(i, t) {
|
|
29
29
|
return i = i >>> 0, Tn().subarray(i / 4, i / 4 + t);
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function vt(i, t) {
|
|
32
32
|
return i = i >>> 0, Fn().subarray(i / 8, i / 8 + t);
|
|
33
33
|
}
|
|
34
34
|
function cn(i, t) {
|
|
35
35
|
return i = i >>> 0, ln().subarray(i / 4, i / 4 + t);
|
|
36
36
|
}
|
|
37
|
-
let
|
|
38
|
-
function
|
|
39
|
-
return (
|
|
37
|
+
let bt = null;
|
|
38
|
+
function F() {
|
|
39
|
+
return (bt === null || bt.buffer.detached === !0 || bt.buffer.detached === void 0 && bt.buffer !== o.memory.buffer) && (bt = new DataView(o.memory.buffer)), bt;
|
|
40
40
|
}
|
|
41
|
-
let
|
|
41
|
+
let Lt = null;
|
|
42
42
|
function Tn() {
|
|
43
|
-
return (
|
|
43
|
+
return (Lt === null || Lt.byteLength === 0) && (Lt = new Float32Array(o.memory.buffer)), Lt;
|
|
44
44
|
}
|
|
45
|
-
let
|
|
45
|
+
let Bt = null;
|
|
46
46
|
function Fn() {
|
|
47
|
-
return (
|
|
47
|
+
return (Bt === null || Bt.byteLength === 0) && (Bt = new Float64Array(o.memory.buffer)), Bt;
|
|
48
48
|
}
|
|
49
|
-
function
|
|
49
|
+
function et(i, t) {
|
|
50
50
|
return i = i >>> 0, Nn(i, t);
|
|
51
51
|
}
|
|
52
|
-
let
|
|
52
|
+
let Pt = null;
|
|
53
53
|
function ln() {
|
|
54
|
-
return (
|
|
54
|
+
return (Pt === null || Pt.byteLength === 0) && (Pt = new Uint32Array(o.memory.buffer)), Pt;
|
|
55
55
|
}
|
|
56
|
-
let
|
|
57
|
-
function
|
|
58
|
-
return (
|
|
56
|
+
let Ut = null;
|
|
57
|
+
function Dt() {
|
|
58
|
+
return (Ut === null || Ut.byteLength === 0) && (Ut = new Uint8Array(o.memory.buffer)), Ut;
|
|
59
59
|
}
|
|
60
|
-
function
|
|
61
|
-
return
|
|
60
|
+
function L(i) {
|
|
61
|
+
return ot[i];
|
|
62
62
|
}
|
|
63
|
-
function
|
|
63
|
+
function xt(i, t) {
|
|
64
64
|
try {
|
|
65
65
|
return i.apply(this, t);
|
|
66
66
|
} catch (e) {
|
|
67
|
-
o.__wbindgen_export(
|
|
67
|
+
o.__wbindgen_export(B(e));
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
let
|
|
71
|
-
|
|
72
|
-
let
|
|
73
|
-
function
|
|
70
|
+
let ot = new Array(128).fill(void 0);
|
|
71
|
+
ot.push(void 0, null, !0, !1);
|
|
72
|
+
let Gt = ot.length;
|
|
73
|
+
function Rt(i) {
|
|
74
74
|
return i == null;
|
|
75
75
|
}
|
|
76
76
|
function Rn(i, t, e, n) {
|
|
@@ -90,24 +90,24 @@ let __tla = Promise.all([
|
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
return r._wbg_cb_unref = ()=>{
|
|
93
|
-
--s.cnt === 0 && (s.dtor(s.a, s.b), s.a = 0,
|
|
94
|
-
},
|
|
93
|
+
--s.cnt === 0 && (s.dtor(s.a, s.b), s.a = 0, xe.unregister(s));
|
|
94
|
+
}, xe.register(r, s, s), r;
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function _t(i, t) {
|
|
97
97
|
const e = t(i.length * 4, 4) >>> 0;
|
|
98
98
|
return ln().set(i, e / 4), O = i.length, e;
|
|
99
99
|
}
|
|
100
|
-
function
|
|
100
|
+
function ft(i, t) {
|
|
101
101
|
const e = t(i.length * 1, 1) >>> 0;
|
|
102
|
-
return
|
|
102
|
+
return Dt().set(i, e / 1), O = i.length, e;
|
|
103
103
|
}
|
|
104
|
-
function
|
|
104
|
+
function Q(i, t, e) {
|
|
105
105
|
if (e === void 0) {
|
|
106
|
-
const c =
|
|
107
|
-
return
|
|
106
|
+
const c = zt.encode(i), l = t(c.length, 1) >>> 0;
|
|
107
|
+
return Dt().subarray(l, l + c.length).set(c), O = c.length, l;
|
|
108
108
|
}
|
|
109
109
|
let n = i.length, s = t(n, 1) >>> 0;
|
|
110
|
-
const r =
|
|
110
|
+
const r = Dt();
|
|
111
111
|
let a = 0;
|
|
112
112
|
for(; a < n; a++){
|
|
113
113
|
const c = i.charCodeAt(a);
|
|
@@ -116,32 +116,32 @@ let __tla = Promise.all([
|
|
|
116
116
|
}
|
|
117
117
|
if (a !== n) {
|
|
118
118
|
a !== 0 && (i = i.slice(a)), s = e(s, n, n = a + i.length * 3, 1) >>> 0;
|
|
119
|
-
const c =
|
|
119
|
+
const c = Dt().subarray(s + a, s + n), l = zt.encodeInto(i, c);
|
|
120
120
|
a += l.written, s = e(s, n, a, 1) >>> 0;
|
|
121
121
|
}
|
|
122
122
|
return O = a, s;
|
|
123
123
|
}
|
|
124
|
-
let
|
|
125
|
-
function
|
|
126
|
-
const t =
|
|
124
|
+
let $t = 128;
|
|
125
|
+
function G(i) {
|
|
126
|
+
const t = L(i);
|
|
127
127
|
return Cn(i), t;
|
|
128
128
|
}
|
|
129
|
-
let
|
|
129
|
+
let ie = new TextDecoder("utf-8", {
|
|
130
130
|
ignoreBOM: !0,
|
|
131
131
|
fatal: !0
|
|
132
132
|
});
|
|
133
|
-
|
|
133
|
+
ie.decode();
|
|
134
134
|
const Sn = 2146435072;
|
|
135
|
-
let
|
|
135
|
+
let le = 0;
|
|
136
136
|
function Nn(i, t) {
|
|
137
|
-
return
|
|
137
|
+
return le += t, le >= Sn && (ie = new TextDecoder("utf-8", {
|
|
138
138
|
ignoreBOM: !0,
|
|
139
139
|
fatal: !0
|
|
140
|
-
}),
|
|
140
|
+
}), ie.decode(), le = t), ie.decode(Dt().subarray(i, i + t));
|
|
141
141
|
}
|
|
142
|
-
const
|
|
143
|
-
"encodeInto" in
|
|
144
|
-
const e =
|
|
142
|
+
const zt = new TextEncoder;
|
|
143
|
+
"encodeInto" in zt || (zt.encodeInto = function(i, t) {
|
|
144
|
+
const e = zt.encode(i);
|
|
145
145
|
return t.set(e), {
|
|
146
146
|
read: i.length,
|
|
147
147
|
written: e.length
|
|
@@ -149,21 +149,21 @@ let __tla = Promise.all([
|
|
|
149
149
|
});
|
|
150
150
|
let O = 0;
|
|
151
151
|
function An(i, t, e) {
|
|
152
|
-
o.
|
|
152
|
+
o.__wasm_bindgen_func_elem_1484(i, t, B(e));
|
|
153
153
|
}
|
|
154
|
-
function
|
|
155
|
-
o.
|
|
154
|
+
function On(i, t, e, n) {
|
|
155
|
+
o.__wasm_bindgen_func_elem_1524(i, t, B(e), B(n));
|
|
156
156
|
}
|
|
157
157
|
const Me = typeof FinalizationRegistry > "u" ? {
|
|
158
158
|
register: ()=>{},
|
|
159
159
|
unregister: ()=>{}
|
|
160
|
-
} : new FinalizationRegistry((i)=>o.__wbg_georeferencejs_free(i >>> 0, 1)),
|
|
160
|
+
} : new FinalizationRegistry((i)=>o.__wbg_georeferencejs_free(i >>> 0, 1)), de = typeof FinalizationRegistry > "u" ? {
|
|
161
161
|
register: ()=>{},
|
|
162
162
|
unregister: ()=>{}
|
|
163
|
-
} : new FinalizationRegistry((i)=>o.__wbg_gpugeometry_free(i >>> 0, 1)),
|
|
163
|
+
} : new FinalizationRegistry((i)=>o.__wbg_gpugeometry_free(i >>> 0, 1)), _e = typeof FinalizationRegistry > "u" ? {
|
|
164
164
|
register: ()=>{},
|
|
165
165
|
unregister: ()=>{}
|
|
166
|
-
} : new FinalizationRegistry((i)=>o.__wbg_gpuinstancedgeometry_free(i >>> 0, 1)),
|
|
166
|
+
} : new FinalizationRegistry((i)=>o.__wbg_gpuinstancedgeometry_free(i >>> 0, 1)), fe = typeof FinalizationRegistry > "u" ? {
|
|
167
167
|
register: ()=>{},
|
|
168
168
|
unregister: ()=>{}
|
|
169
169
|
} : new FinalizationRegistry((i)=>o.__wbg_gpuinstancedgeometrycollection_free(i >>> 0, 1)), Le = typeof FinalizationRegistry > "u" ? {
|
|
@@ -178,10 +178,10 @@ let __tla = Promise.all([
|
|
|
178
178
|
} : new FinalizationRegistry((i)=>o.__wbg_ifcapi_free(i >>> 0, 1)), Ue = typeof FinalizationRegistry > "u" ? {
|
|
179
179
|
register: ()=>{},
|
|
180
180
|
unregister: ()=>{}
|
|
181
|
-
} : new FinalizationRegistry((i)=>o.__wbg_instancedata_free(i >>> 0, 1)),
|
|
181
|
+
} : new FinalizationRegistry((i)=>o.__wbg_instancedata_free(i >>> 0, 1)), ve = typeof FinalizationRegistry > "u" ? {
|
|
182
182
|
register: ()=>{},
|
|
183
183
|
unregister: ()=>{}
|
|
184
|
-
} : new FinalizationRegistry((i)=>o.__wbg_instancedgeometry_free(i >>> 0, 1)),
|
|
184
|
+
} : new FinalizationRegistry((i)=>o.__wbg_instancedgeometry_free(i >>> 0, 1)), De = typeof FinalizationRegistry > "u" ? {
|
|
185
185
|
register: ()=>{},
|
|
186
186
|
unregister: ()=>{}
|
|
187
187
|
} : new FinalizationRegistry((i)=>o.__wbg_instancedmeshcollection_free(i >>> 0, 1)), Ge = typeof FinalizationRegistry > "u" ? {
|
|
@@ -205,20 +205,20 @@ let __tla = Promise.all([
|
|
|
205
205
|
} : new FinalizationRegistry((i)=>o.__wbg_rtcoffsetjs_free(i >>> 0, 1)), We = typeof FinalizationRegistry > "u" ? {
|
|
206
206
|
register: ()=>{},
|
|
207
207
|
unregister: ()=>{}
|
|
208
|
-
} : new FinalizationRegistry((i)=>o.__wbg_symboliccircle_free(i >>> 0, 1)),
|
|
208
|
+
} : new FinalizationRegistry((i)=>o.__wbg_symboliccircle_free(i >>> 0, 1)), He = typeof FinalizationRegistry > "u" ? {
|
|
209
209
|
register: ()=>{},
|
|
210
210
|
unregister: ()=>{}
|
|
211
|
-
} : new FinalizationRegistry((i)=>o.__wbg_symbolicpolyline_free(i >>> 0, 1)),
|
|
211
|
+
} : new FinalizationRegistry((i)=>o.__wbg_symbolicpolyline_free(i >>> 0, 1)), Ye = typeof FinalizationRegistry > "u" ? {
|
|
212
212
|
register: ()=>{},
|
|
213
213
|
unregister: ()=>{}
|
|
214
|
-
} : new FinalizationRegistry((i)=>o.__wbg_symbolicrepresentationcollection_free(i >>> 0, 1)),
|
|
214
|
+
} : new FinalizationRegistry((i)=>o.__wbg_symbolicrepresentationcollection_free(i >>> 0, 1)), ue = typeof FinalizationRegistry > "u" ? {
|
|
215
215
|
register: ()=>{},
|
|
216
216
|
unregister: ()=>{}
|
|
217
217
|
} : new FinalizationRegistry((i)=>o.__wbg_zerocopymesh_free(i >>> 0, 1));
|
|
218
|
-
class
|
|
218
|
+
class Vt {
|
|
219
219
|
static __wrap(t) {
|
|
220
220
|
t = t >>> 0;
|
|
221
|
-
const e = Object.create(
|
|
221
|
+
const e = Object.create(Vt.prototype);
|
|
222
222
|
return e.__wbg_ptr = t, Me.register(e, e.__wbg_ptr, e), e;
|
|
223
223
|
}
|
|
224
224
|
__destroy_into_raw() {
|
|
@@ -233,7 +233,7 @@ let __tla = Promise.all([
|
|
|
233
233
|
try {
|
|
234
234
|
const c = o.__wbindgen_add_to_stack_pointer(-16);
|
|
235
235
|
o.georeferencejs_localToMap(c, this.__wbg_ptr, t, e, n);
|
|
236
|
-
var s =
|
|
236
|
+
var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
|
|
237
237
|
return o.__wbindgen_export2(s, r * 8, 8), a;
|
|
238
238
|
} finally{
|
|
239
239
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -243,7 +243,7 @@ let __tla = Promise.all([
|
|
|
243
243
|
try {
|
|
244
244
|
const c = o.__wbindgen_add_to_stack_pointer(-16);
|
|
245
245
|
o.georeferencejs_mapToLocal(c, this.__wbg_ptr, t, e, n);
|
|
246
|
-
var s =
|
|
246
|
+
var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
|
|
247
247
|
return o.__wbindgen_export2(s, r * 8, 8), a;
|
|
248
248
|
} finally{
|
|
249
249
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -253,9 +253,9 @@ let __tla = Promise.all([
|
|
|
253
253
|
try {
|
|
254
254
|
const n = o.__wbindgen_add_to_stack_pointer(-16);
|
|
255
255
|
o.georeferencejs_crsName(n, this.__wbg_ptr);
|
|
256
|
-
var t =
|
|
256
|
+
var t = F().getInt32(n + 0, !0), e = F().getInt32(n + 4, !0);
|
|
257
257
|
let s;
|
|
258
|
-
return t !== 0 && (s =
|
|
258
|
+
return t !== 0 && (s = et(t, e).slice(), o.__wbindgen_export2(t, e * 1, 1)), s;
|
|
259
259
|
} finally{
|
|
260
260
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
261
261
|
}
|
|
@@ -267,7 +267,7 @@ let __tla = Promise.all([
|
|
|
267
267
|
try {
|
|
268
268
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
269
269
|
o.georeferencejs_toMatrix(s, this.__wbg_ptr);
|
|
270
|
-
var t =
|
|
270
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = vt(t, e).slice();
|
|
271
271
|
return o.__wbindgen_export2(t, e * 8, 8), n;
|
|
272
272
|
} finally{
|
|
273
273
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -310,16 +310,16 @@ let __tla = Promise.all([
|
|
|
310
310
|
o.__wbg_set_georeferencejs_scale(this.__wbg_ptr, t);
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
Symbol.dispose && (
|
|
314
|
-
class
|
|
313
|
+
Symbol.dispose && (Vt.prototype[Symbol.dispose] = Vt.prototype.free);
|
|
314
|
+
class Nt {
|
|
315
315
|
static __wrap(t) {
|
|
316
316
|
t = t >>> 0;
|
|
317
|
-
const e = Object.create(
|
|
318
|
-
return e.__wbg_ptr = t,
|
|
317
|
+
const e = Object.create(Nt.prototype);
|
|
318
|
+
return e.__wbg_ptr = t, de.register(e, e.__wbg_ptr, e), e;
|
|
319
319
|
}
|
|
320
320
|
__destroy_into_raw() {
|
|
321
321
|
const t = this.__wbg_ptr;
|
|
322
|
-
return this.__wbg_ptr = 0,
|
|
322
|
+
return this.__wbg_ptr = 0, de.unregister(this), t;
|
|
323
323
|
}
|
|
324
324
|
free() {
|
|
325
325
|
const t = this.__destroy_into_raw();
|
|
@@ -359,16 +359,16 @@ let __tla = Promise.all([
|
|
|
359
359
|
try {
|
|
360
360
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
361
361
|
o.gpugeometry_getIfcTypeName(s, this.__wbg_ptr, t);
|
|
362
|
-
var e =
|
|
362
|
+
var e = F().getInt32(s + 0, !0), n = F().getInt32(s + 4, !0);
|
|
363
363
|
let r;
|
|
364
|
-
return e !== 0 && (r =
|
|
364
|
+
return e !== 0 && (r = et(e, n).slice(), o.__wbindgen_export2(e, n * 1, 1)), r;
|
|
365
365
|
} finally{
|
|
366
366
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
getMeshMetadata(t) {
|
|
370
370
|
const e = o.gpugeometry_getMeshMetadata(this.__wbg_ptr, t);
|
|
371
|
-
return e === 0 ? void 0 :
|
|
371
|
+
return e === 0 ? void 0 : Ht.__wrap(e);
|
|
372
372
|
}
|
|
373
373
|
get totalVertexCount() {
|
|
374
374
|
return o.gpugeometry_totalVertexCount(this.__wbg_ptr) >>> 0;
|
|
@@ -384,22 +384,22 @@ let __tla = Promise.all([
|
|
|
384
384
|
}
|
|
385
385
|
constructor(){
|
|
386
386
|
const t = o.gpugeometry_new();
|
|
387
|
-
return this.__wbg_ptr = t >>> 0,
|
|
387
|
+
return this.__wbg_ptr = t >>> 0, de.register(this, this.__wbg_ptr, this), this;
|
|
388
388
|
}
|
|
389
389
|
get isEmpty() {
|
|
390
390
|
return o.gpugeometry_isEmpty(this.__wbg_ptr) !== 0;
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
|
-
Symbol.dispose && (
|
|
394
|
-
class
|
|
393
|
+
Symbol.dispose && (Nt.prototype[Symbol.dispose] = Nt.prototype.free);
|
|
394
|
+
class jt {
|
|
395
395
|
static __wrap(t) {
|
|
396
396
|
t = t >>> 0;
|
|
397
|
-
const e = Object.create(
|
|
398
|
-
return e.__wbg_ptr = t,
|
|
397
|
+
const e = Object.create(jt.prototype);
|
|
398
|
+
return e.__wbg_ptr = t, _e.register(e, e.__wbg_ptr, e), e;
|
|
399
399
|
}
|
|
400
400
|
__destroy_into_raw() {
|
|
401
401
|
const t = this.__wbg_ptr;
|
|
402
|
-
return this.__wbg_ptr = 0,
|
|
402
|
+
return this.__wbg_ptr = 0, _e.unregister(this), t;
|
|
403
403
|
}
|
|
404
404
|
free() {
|
|
405
405
|
const t = this.__destroy_into_raw();
|
|
@@ -450,19 +450,19 @@ let __tla = Promise.all([
|
|
|
450
450
|
}
|
|
451
451
|
constructor(t){
|
|
452
452
|
const e = o.gpuinstancedgeometry_new(t);
|
|
453
|
-
return this.__wbg_ptr = e >>> 0,
|
|
453
|
+
return this.__wbg_ptr = e >>> 0, _e.register(this, this.__wbg_ptr, this), this;
|
|
454
454
|
}
|
|
455
455
|
}
|
|
456
|
-
Symbol.dispose && (
|
|
457
|
-
class
|
|
456
|
+
Symbol.dispose && (jt.prototype[Symbol.dispose] = jt.prototype.free);
|
|
457
|
+
class kt {
|
|
458
458
|
static __wrap(t) {
|
|
459
459
|
t = t >>> 0;
|
|
460
|
-
const e = Object.create(
|
|
461
|
-
return e.__wbg_ptr = t,
|
|
460
|
+
const e = Object.create(kt.prototype);
|
|
461
|
+
return e.__wbg_ptr = t, fe.register(e, e.__wbg_ptr, e), e;
|
|
462
462
|
}
|
|
463
463
|
__destroy_into_raw() {
|
|
464
464
|
const t = this.__wbg_ptr;
|
|
465
|
-
return this.__wbg_ptr = 0,
|
|
465
|
+
return this.__wbg_ptr = 0, fe.unregister(this), t;
|
|
466
466
|
}
|
|
467
467
|
free() {
|
|
468
468
|
const t = this.__destroy_into_raw();
|
|
@@ -470,25 +470,25 @@ let __tla = Promise.all([
|
|
|
470
470
|
}
|
|
471
471
|
get(t) {
|
|
472
472
|
const e = o.gpuinstancedgeometrycollection_get(this.__wbg_ptr, t);
|
|
473
|
-
return e === 0 ? void 0 :
|
|
473
|
+
return e === 0 ? void 0 : jt.__wrap(e);
|
|
474
474
|
}
|
|
475
475
|
constructor(){
|
|
476
476
|
const t = o.gpuinstancedgeometrycollection_new();
|
|
477
|
-
return this.__wbg_ptr = t >>> 0,
|
|
477
|
+
return this.__wbg_ptr = t >>> 0, fe.register(this, this.__wbg_ptr, this), this;
|
|
478
478
|
}
|
|
479
479
|
get length() {
|
|
480
480
|
return o.gpuinstancedgeometrycollection_length(this.__wbg_ptr) >>> 0;
|
|
481
481
|
}
|
|
482
482
|
getRef(t) {
|
|
483
483
|
const e = o.gpuinstancedgeometrycollection_get(this.__wbg_ptr, t);
|
|
484
|
-
return e === 0 ? void 0 :
|
|
484
|
+
return e === 0 ? void 0 : Wt.__wrap(e);
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
|
-
Symbol.dispose && (
|
|
488
|
-
class
|
|
487
|
+
Symbol.dispose && (kt.prototype[Symbol.dispose] = kt.prototype.free);
|
|
488
|
+
class Wt {
|
|
489
489
|
static __wrap(t) {
|
|
490
490
|
t = t >>> 0;
|
|
491
|
-
const e = Object.create(
|
|
491
|
+
const e = Object.create(Wt.prototype);
|
|
492
492
|
return e.__wbg_ptr = t, Le.register(e, e.__wbg_ptr, e), e;
|
|
493
493
|
}
|
|
494
494
|
__destroy_into_raw() {
|
|
@@ -537,11 +537,11 @@ let __tla = Promise.all([
|
|
|
537
537
|
return o.gpuinstancedgeometry_instanceDataByteLength(this.__wbg_ptr) >>> 0;
|
|
538
538
|
}
|
|
539
539
|
}
|
|
540
|
-
Symbol.dispose && (
|
|
541
|
-
class
|
|
540
|
+
Symbol.dispose && (Wt.prototype[Symbol.dispose] = Wt.prototype.free);
|
|
541
|
+
class Ht {
|
|
542
542
|
static __wrap(t) {
|
|
543
543
|
t = t >>> 0;
|
|
544
|
-
const e = Object.create(
|
|
544
|
+
const e = Object.create(Ht.prototype);
|
|
545
545
|
return e.__wbg_ptr = t, Be.register(e, e.__wbg_ptr, e), e;
|
|
546
546
|
}
|
|
547
547
|
__destroy_into_raw() {
|
|
@@ -574,15 +574,15 @@ let __tla = Promise.all([
|
|
|
574
574
|
try {
|
|
575
575
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
576
576
|
o.gpumeshmetadata_color(s, this.__wbg_ptr);
|
|
577
|
-
var t =
|
|
577
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
|
|
578
578
|
return o.__wbindgen_export2(t, e * 4, 4), n;
|
|
579
579
|
} finally{
|
|
580
580
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
581
581
|
}
|
|
582
582
|
}
|
|
583
583
|
}
|
|
584
|
-
Symbol.dispose && (
|
|
585
|
-
|
|
584
|
+
Symbol.dispose && (Ht.prototype[Symbol.dispose] = Ht.prototype.free);
|
|
585
|
+
we = class {
|
|
586
586
|
__destroy_into_raw() {
|
|
587
587
|
const t = this.__wbg_ptr;
|
|
588
588
|
return this.__wbg_ptr = 0, Pe.unregister(this), t;
|
|
@@ -592,90 +592,90 @@ let __tla = Promise.all([
|
|
|
592
592
|
o.__wbg_ifcapi_free(t, 0);
|
|
593
593
|
}
|
|
594
594
|
parseMeshes(t) {
|
|
595
|
-
const e =
|
|
596
|
-
return
|
|
595
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshes(this.__wbg_ptr, e, n);
|
|
596
|
+
return ht.__wrap(s);
|
|
597
597
|
}
|
|
598
598
|
parseMeshesAsync(t, e) {
|
|
599
|
-
const n =
|
|
600
|
-
return
|
|
599
|
+
const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseMeshesAsync(this.__wbg_ptr, n, s, B(e));
|
|
600
|
+
return G(r);
|
|
601
601
|
}
|
|
602
602
|
buildPrePassFast(t) {
|
|
603
|
-
const e =
|
|
604
|
-
return
|
|
603
|
+
const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_buildPrePassFast(this.__wbg_ptr, e, n);
|
|
604
|
+
return G(s);
|
|
605
605
|
}
|
|
606
606
|
buildPrePassOnce(t) {
|
|
607
|
-
const e =
|
|
608
|
-
return
|
|
607
|
+
const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_buildPrePassOnce(this.__wbg_ptr, e, n);
|
|
608
|
+
return G(s);
|
|
609
609
|
}
|
|
610
610
|
parseMeshesSubset(t, e, n, s) {
|
|
611
|
-
const r =
|
|
612
|
-
return
|
|
611
|
+
const r = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), a = O, c = o.ifcapi_parseMeshesSubset(this.__wbg_ptr, r, a, e, n, s);
|
|
612
|
+
return ht.__wrap(c);
|
|
613
613
|
}
|
|
614
614
|
parseToGpuGeometry(t) {
|
|
615
|
-
const e =
|
|
616
|
-
return
|
|
615
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseToGpuGeometry(this.__wbg_ptr, e, n);
|
|
616
|
+
return Nt.__wrap(s);
|
|
617
617
|
}
|
|
618
618
|
parseMeshesInstanced(t) {
|
|
619
|
-
const e =
|
|
620
|
-
return
|
|
619
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshesInstanced(this.__wbg_ptr, e, n);
|
|
620
|
+
return Ot.__wrap(s);
|
|
621
621
|
}
|
|
622
|
-
processGeometryBatch(t, e, n, s, r, a, c, l, d,
|
|
623
|
-
const g =
|
|
624
|
-
return
|
|
622
|
+
processGeometryBatch(t, e, n, s, r, a, c, l, d, f, _, p) {
|
|
623
|
+
const g = ft(t, o.__wbindgen_export3), u = O, h = _t(e, o.__wbindgen_export3), m = O, w = _t(l, o.__wbindgen_export3), C = O, A = _t(d, o.__wbindgen_export3), P = O, z = _t(f, o.__wbindgen_export3), x = O, v = _t(_, o.__wbindgen_export3), E = O, N = ft(p, o.__wbindgen_export3), S = O, b = o.ifcapi_processGeometryBatch(this.__wbg_ptr, g, u, h, m, n, s, r, a, c, w, C, A, P, z, x, v, E, N, S);
|
|
624
|
+
return ht.__wrap(b);
|
|
625
625
|
}
|
|
626
626
|
scanEntityIndexShard(t, e, n, s) {
|
|
627
627
|
try {
|
|
628
|
-
const l = o.__wbindgen_add_to_stack_pointer(-16), d =
|
|
629
|
-
o.ifcapi_scanEntityIndexShard(l, this.__wbg_ptr, d,
|
|
630
|
-
var r =
|
|
631
|
-
if (c) throw
|
|
632
|
-
return
|
|
628
|
+
const l = o.__wbindgen_add_to_stack_pointer(-16), d = ft(t, o.__wbindgen_export3), f = O;
|
|
629
|
+
o.ifcapi_scanEntityIndexShard(l, this.__wbg_ptr, d, f, Oe(e), n, s);
|
|
630
|
+
var r = F().getInt32(l + 0, !0), a = F().getInt32(l + 4, !0), c = F().getInt32(l + 8, !0);
|
|
631
|
+
if (c) throw G(a);
|
|
632
|
+
return G(r);
|
|
633
633
|
} finally{
|
|
634
|
-
o.__wbindgen_add_to_stack_pointer(16),
|
|
634
|
+
o.__wbindgen_add_to_stack_pointer(16), ot[$t++] = void 0;
|
|
635
635
|
}
|
|
636
636
|
}
|
|
637
637
|
buildPrePassStreaming(t, e, n) {
|
|
638
638
|
try {
|
|
639
|
-
const c = o.__wbindgen_add_to_stack_pointer(-16), l =
|
|
640
|
-
o.ifcapi_buildPrePassStreaming(c, this.__wbg_ptr, l, d,
|
|
641
|
-
var s =
|
|
642
|
-
if (a) throw
|
|
643
|
-
return
|
|
639
|
+
const c = o.__wbindgen_add_to_stack_pointer(-16), l = ft(t, o.__wbindgen_export3), d = O;
|
|
640
|
+
o.ifcapi_buildPrePassStreaming(c, this.__wbg_ptr, l, d, Oe(e), n);
|
|
641
|
+
var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = F().getInt32(c + 8, !0);
|
|
642
|
+
if (a) throw G(r);
|
|
643
|
+
return G(s);
|
|
644
644
|
} finally{
|
|
645
|
-
o.__wbindgen_add_to_stack_pointer(16),
|
|
645
|
+
o.__wbindgen_add_to_stack_pointer(16), ot[$t++] = void 0;
|
|
646
646
|
}
|
|
647
647
|
}
|
|
648
648
|
parseToGpuGeometryAsync(t, e) {
|
|
649
|
-
const n =
|
|
650
|
-
return
|
|
649
|
+
const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseToGpuGeometryAsync(this.__wbg_ptr, n, s, B(e));
|
|
650
|
+
return G(r);
|
|
651
651
|
}
|
|
652
652
|
parseMeshesInstancedAsync(t, e) {
|
|
653
|
-
const n =
|
|
654
|
-
return
|
|
653
|
+
const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseMeshesInstancedAsync(this.__wbg_ptr, n, s, B(e));
|
|
654
|
+
return G(r);
|
|
655
655
|
}
|
|
656
656
|
parseToGpuInstancedGeometry(t) {
|
|
657
|
-
const e =
|
|
658
|
-
return
|
|
657
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseToGpuInstancedGeometry(this.__wbg_ptr, e, n);
|
|
658
|
+
return kt.__wrap(s);
|
|
659
659
|
}
|
|
660
660
|
processInstancedGeometryBatch(t, e, n, s, r, a, c, l, d) {
|
|
661
|
-
const
|
|
662
|
-
return
|
|
661
|
+
const f = ft(t, o.__wbindgen_export3), _ = O, p = _t(e, o.__wbindgen_export3), g = O, u = _t(l, o.__wbindgen_export3), h = O, m = ft(d, o.__wbindgen_export3), w = O, C = o.ifcapi_processInstancedGeometryBatch(this.__wbg_ptr, f, _, p, g, n, s, r, a, c, u, h, m, w);
|
|
662
|
+
return Ot.__wrap(C);
|
|
663
663
|
}
|
|
664
664
|
parseZeroCopy(t) {
|
|
665
|
-
const e =
|
|
666
|
-
return
|
|
665
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseZeroCopy(this.__wbg_ptr, e, n);
|
|
666
|
+
return ee.__wrap(s);
|
|
667
667
|
}
|
|
668
668
|
extractProfiles(t, e) {
|
|
669
|
-
const n =
|
|
670
|
-
return
|
|
669
|
+
const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_extractProfiles(this.__wbg_ptr, n, s, e);
|
|
670
|
+
return Jt.__wrap(r);
|
|
671
671
|
}
|
|
672
672
|
debugProcessEntity953(t) {
|
|
673
673
|
let e, n;
|
|
674
674
|
try {
|
|
675
|
-
const a = o.__wbindgen_add_to_stack_pointer(-16), c =
|
|
675
|
+
const a = o.__wbindgen_add_to_stack_pointer(-16), c = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), l = O;
|
|
676
676
|
o.ifcapi_debugProcessEntity953(a, this.__wbg_ptr, c, l);
|
|
677
|
-
var s =
|
|
678
|
-
return e = s, n = r,
|
|
677
|
+
var s = F().getInt32(a + 0, !0), r = F().getInt32(a + 4, !0);
|
|
678
|
+
return e = s, n = r, et(s, r);
|
|
679
679
|
} finally{
|
|
680
680
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(e, n, 1);
|
|
681
681
|
}
|
|
@@ -683,20 +683,20 @@ let __tla = Promise.all([
|
|
|
683
683
|
debugProcessFirstWall(t) {
|
|
684
684
|
let e, n;
|
|
685
685
|
try {
|
|
686
|
-
const a = o.__wbindgen_add_to_stack_pointer(-16), c =
|
|
686
|
+
const a = o.__wbindgen_add_to_stack_pointer(-16), c = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), l = O;
|
|
687
687
|
o.ifcapi_debugProcessFirstWall(a, this.__wbg_ptr, c, l);
|
|
688
|
-
var s =
|
|
689
|
-
return e = s, n = r,
|
|
688
|
+
var s = F().getInt32(a + 0, !0), r = F().getInt32(a + 4, !0);
|
|
689
|
+
return e = s, n = r, et(s, r);
|
|
690
690
|
} finally{
|
|
691
691
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(e, n, 1);
|
|
692
692
|
}
|
|
693
693
|
}
|
|
694
694
|
getMemory() {
|
|
695
695
|
const t = o.ifcapi_getMemory(this.__wbg_ptr);
|
|
696
|
-
return
|
|
696
|
+
return G(t);
|
|
697
697
|
}
|
|
698
698
|
setEntityIndex(t, e, n) {
|
|
699
|
-
const s =
|
|
699
|
+
const s = _t(t, o.__wbindgen_export3), r = O, a = _t(e, o.__wbindgen_export3), c = O, l = _t(n, o.__wbindgen_export3), d = O;
|
|
700
700
|
o.ifcapi_setEntityIndex(this.__wbg_ptr, s, r, a, c, l, d);
|
|
701
701
|
}
|
|
702
702
|
setMergeLayers(t) {
|
|
@@ -714,8 +714,8 @@ let __tla = Promise.all([
|
|
|
714
714
|
try {
|
|
715
715
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
716
716
|
o.ifcapi_version(r, this.__wbg_ptr);
|
|
717
|
-
var n =
|
|
718
|
-
return t = n, e = s,
|
|
717
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
718
|
+
return t = n, e = s, et(n, s);
|
|
719
719
|
} finally{
|
|
720
720
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
721
721
|
}
|
|
@@ -724,47 +724,47 @@ let __tla = Promise.all([
|
|
|
724
724
|
return o.ifcapi_is_ready(this.__wbg_ptr) !== 0;
|
|
725
725
|
}
|
|
726
726
|
getGeoReference(t) {
|
|
727
|
-
const e =
|
|
728
|
-
return s === 0 ? void 0 :
|
|
727
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_getGeoReference(this.__wbg_ptr, e, n);
|
|
728
|
+
return s === 0 ? void 0 : Vt.__wrap(s);
|
|
729
729
|
}
|
|
730
730
|
parseMeshesWithRtc(t) {
|
|
731
|
-
const e =
|
|
732
|
-
return
|
|
731
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseMeshesWithRtc(this.__wbg_ptr, e, n);
|
|
732
|
+
return Xt.__wrap(s);
|
|
733
733
|
}
|
|
734
734
|
parseStreaming(t, e) {
|
|
735
|
-
const n =
|
|
736
|
-
return
|
|
735
|
+
const n = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), s = O, r = o.ifcapi_parseStreaming(this.__wbg_ptr, n, s, B(e));
|
|
736
|
+
return G(r);
|
|
737
737
|
}
|
|
738
738
|
scanEntitiesFast(t) {
|
|
739
|
-
const e =
|
|
740
|
-
return
|
|
739
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_scanEntitiesFast(this.__wbg_ptr, e, n);
|
|
740
|
+
return G(s);
|
|
741
741
|
}
|
|
742
742
|
scanEntitiesFastBytes(t) {
|
|
743
|
-
const e =
|
|
744
|
-
return
|
|
743
|
+
const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_scanEntitiesFastBytes(this.__wbg_ptr, e, n);
|
|
744
|
+
return G(s);
|
|
745
745
|
}
|
|
746
746
|
scanGeometryEntitiesFast(t) {
|
|
747
|
-
const e =
|
|
748
|
-
return
|
|
747
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_scanGeometryEntitiesFast(this.__wbg_ptr, e, n);
|
|
748
|
+
return G(s);
|
|
749
749
|
}
|
|
750
750
|
scanRelevantEntitiesFastBytes(t) {
|
|
751
|
-
const e =
|
|
752
|
-
return
|
|
751
|
+
const e = ft(t, o.__wbindgen_export3), n = O, s = o.ifcapi_scanRelevantEntitiesFastBytes(this.__wbg_ptr, e, n);
|
|
752
|
+
return G(s);
|
|
753
753
|
}
|
|
754
754
|
parse(t) {
|
|
755
|
-
const e =
|
|
756
|
-
return
|
|
755
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parse(this.__wbg_ptr, e, n);
|
|
756
|
+
return G(s);
|
|
757
757
|
}
|
|
758
758
|
parseSymbolicRepresentations(t) {
|
|
759
|
-
const e =
|
|
760
|
-
return
|
|
759
|
+
const e = Q(t, o.__wbindgen_export3, o.__wbindgen_export4), n = O, s = o.ifcapi_parseSymbolicRepresentations(this.__wbg_ptr, e, n);
|
|
760
|
+
return te.__wrap(s);
|
|
761
761
|
}
|
|
762
762
|
};
|
|
763
|
-
Symbol.dispose && (
|
|
764
|
-
class
|
|
763
|
+
Symbol.dispose && (we.prototype[Symbol.dispose] = we.prototype.free);
|
|
764
|
+
class Yt {
|
|
765
765
|
static __wrap(t) {
|
|
766
766
|
t = t >>> 0;
|
|
767
|
-
const e = Object.create(
|
|
767
|
+
const e = Object.create(Yt.prototype);
|
|
768
768
|
return e.__wbg_ptr = t, Ue.register(e, e.__wbg_ptr, e), e;
|
|
769
769
|
}
|
|
770
770
|
__destroy_into_raw() {
|
|
@@ -782,7 +782,7 @@ let __tla = Promise.all([
|
|
|
782
782
|
try {
|
|
783
783
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
784
784
|
o.instancedata_color(s, this.__wbg_ptr);
|
|
785
|
-
var t =
|
|
785
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
|
|
786
786
|
return o.__wbindgen_export2(t, e * 4, 4), n;
|
|
787
787
|
} finally{
|
|
788
788
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -790,19 +790,19 @@ let __tla = Promise.all([
|
|
|
790
790
|
}
|
|
791
791
|
get transform() {
|
|
792
792
|
const t = o.instancedata_transform(this.__wbg_ptr);
|
|
793
|
-
return
|
|
793
|
+
return G(t);
|
|
794
794
|
}
|
|
795
795
|
}
|
|
796
|
-
Symbol.dispose && (
|
|
797
|
-
class
|
|
796
|
+
Symbol.dispose && (Yt.prototype[Symbol.dispose] = Yt.prototype.free);
|
|
797
|
+
class At {
|
|
798
798
|
static __wrap(t) {
|
|
799
799
|
t = t >>> 0;
|
|
800
|
-
const e = Object.create(
|
|
801
|
-
return e.__wbg_ptr = t,
|
|
800
|
+
const e = Object.create(At.prototype);
|
|
801
|
+
return e.__wbg_ptr = t, ve.register(e, e.__wbg_ptr, e), e;
|
|
802
802
|
}
|
|
803
803
|
__destroy_into_raw() {
|
|
804
804
|
const t = this.__wbg_ptr;
|
|
805
|
-
return this.__wbg_ptr = 0,
|
|
805
|
+
return this.__wbg_ptr = 0, ve.unregister(this), t;
|
|
806
806
|
}
|
|
807
807
|
free() {
|
|
808
808
|
const t = this.__destroy_into_raw();
|
|
@@ -814,34 +814,34 @@ let __tla = Promise.all([
|
|
|
814
814
|
}
|
|
815
815
|
get_instance(t) {
|
|
816
816
|
const e = o.instancedgeometry_get_instance(this.__wbg_ptr, t);
|
|
817
|
-
return e === 0 ? void 0 :
|
|
817
|
+
return e === 0 ? void 0 : Yt.__wrap(e);
|
|
818
818
|
}
|
|
819
819
|
get instance_count() {
|
|
820
820
|
return o.instancedgeometry_instance_count(this.__wbg_ptr) >>> 0;
|
|
821
821
|
}
|
|
822
822
|
get indices() {
|
|
823
823
|
const t = o.instancedgeometry_indices(this.__wbg_ptr);
|
|
824
|
-
return
|
|
824
|
+
return G(t);
|
|
825
825
|
}
|
|
826
826
|
get normals() {
|
|
827
827
|
const t = o.instancedgeometry_normals(this.__wbg_ptr);
|
|
828
|
-
return
|
|
828
|
+
return G(t);
|
|
829
829
|
}
|
|
830
830
|
get positions() {
|
|
831
831
|
const t = o.instancedgeometry_positions(this.__wbg_ptr);
|
|
832
|
-
return
|
|
832
|
+
return G(t);
|
|
833
833
|
}
|
|
834
834
|
}
|
|
835
|
-
Symbol.dispose && (
|
|
836
|
-
class
|
|
835
|
+
Symbol.dispose && (At.prototype[Symbol.dispose] = At.prototype.free);
|
|
836
|
+
class Ot {
|
|
837
837
|
static __wrap(t) {
|
|
838
838
|
t = t >>> 0;
|
|
839
|
-
const e = Object.create(
|
|
840
|
-
return e.__wbg_ptr = t,
|
|
839
|
+
const e = Object.create(Ot.prototype);
|
|
840
|
+
return e.__wbg_ptr = t, De.register(e, e.__wbg_ptr, e), e;
|
|
841
841
|
}
|
|
842
842
|
__destroy_into_raw() {
|
|
843
843
|
const t = this.__wbg_ptr;
|
|
844
|
-
return this.__wbg_ptr = 0,
|
|
844
|
+
return this.__wbg_ptr = 0, De.unregister(this), t;
|
|
845
845
|
}
|
|
846
846
|
free() {
|
|
847
847
|
const t = this.__destroy_into_raw();
|
|
@@ -855,17 +855,17 @@ let __tla = Promise.all([
|
|
|
855
855
|
}
|
|
856
856
|
get(t) {
|
|
857
857
|
const e = o.instancedmeshcollection_get(this.__wbg_ptr, t);
|
|
858
|
-
return e === 0 ? void 0 :
|
|
858
|
+
return e === 0 ? void 0 : At.__wrap(e);
|
|
859
859
|
}
|
|
860
860
|
get length() {
|
|
861
861
|
return o.gpuinstancedgeometrycollection_length(this.__wbg_ptr) >>> 0;
|
|
862
862
|
}
|
|
863
863
|
}
|
|
864
|
-
Symbol.dispose && (
|
|
865
|
-
class
|
|
864
|
+
Symbol.dispose && (Ot.prototype[Symbol.dispose] = Ot.prototype.free);
|
|
865
|
+
class ht {
|
|
866
866
|
static __wrap(t) {
|
|
867
867
|
t = t >>> 0;
|
|
868
|
-
const e = Object.create(
|
|
868
|
+
const e = Object.create(ht.prototype);
|
|
869
869
|
return e.__wbg_ptr = t, Ge.register(e, e.__wbg_ptr, e), e;
|
|
870
870
|
}
|
|
871
871
|
__destroy_into_raw() {
|
|
@@ -892,7 +892,7 @@ let __tla = Promise.all([
|
|
|
892
892
|
try {
|
|
893
893
|
const c = o.__wbindgen_add_to_stack_pointer(-16);
|
|
894
894
|
o.meshcollection_localToWorld(c, this.__wbg_ptr, t, e, n);
|
|
895
|
-
var s =
|
|
895
|
+
var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
|
|
896
896
|
return o.__wbindgen_export2(s, r * 8, 8), a;
|
|
897
897
|
} finally{
|
|
898
898
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -908,7 +908,7 @@ let __tla = Promise.all([
|
|
|
908
908
|
try {
|
|
909
909
|
const n = o.__wbindgen_add_to_stack_pointer(-16);
|
|
910
910
|
o.meshcollection_buildingRotation(n, this.__wbg_ptr);
|
|
911
|
-
var t =
|
|
911
|
+
var t = F().getInt32(n + 0, !0), e = F().getFloat64(n + 8, !0);
|
|
912
912
|
return t === 0 ? void 0 : e;
|
|
913
913
|
} finally{
|
|
914
914
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -916,17 +916,17 @@ let __tla = Promise.all([
|
|
|
916
916
|
}
|
|
917
917
|
get(t) {
|
|
918
918
|
const e = o.meshcollection_get(this.__wbg_ptr, t);
|
|
919
|
-
return e === 0 ? void 0 :
|
|
919
|
+
return e === 0 ? void 0 : Et.__wrap(e);
|
|
920
920
|
}
|
|
921
921
|
get length() {
|
|
922
922
|
return o.meshcollection_length(this.__wbg_ptr) >>> 0;
|
|
923
923
|
}
|
|
924
924
|
}
|
|
925
|
-
Symbol.dispose && (
|
|
926
|
-
class
|
|
925
|
+
Symbol.dispose && (ht.prototype[Symbol.dispose] = ht.prototype.free);
|
|
926
|
+
class Xt {
|
|
927
927
|
static __wrap(t) {
|
|
928
928
|
t = t >>> 0;
|
|
929
|
-
const e = Object.create(
|
|
929
|
+
const e = Object.create(Xt.prototype);
|
|
930
930
|
return e.__wbg_ptr = t, $e.register(e, e.__wbg_ptr, e), e;
|
|
931
931
|
}
|
|
932
932
|
__destroy_into_raw() {
|
|
@@ -939,25 +939,25 @@ let __tla = Promise.all([
|
|
|
939
939
|
}
|
|
940
940
|
get rtcOffset() {
|
|
941
941
|
const t = o.meshcollectionwithrtc_rtcOffset(this.__wbg_ptr);
|
|
942
|
-
return
|
|
942
|
+
return qt.__wrap(t);
|
|
943
943
|
}
|
|
944
944
|
get(t) {
|
|
945
945
|
const e = o.meshcollectionwithrtc_get(this.__wbg_ptr, t);
|
|
946
|
-
return e === 0 ? void 0 :
|
|
946
|
+
return e === 0 ? void 0 : Et.__wrap(e);
|
|
947
947
|
}
|
|
948
948
|
get length() {
|
|
949
949
|
return o.meshcollection_length(this.__wbg_ptr) >>> 0;
|
|
950
950
|
}
|
|
951
951
|
get meshes() {
|
|
952
952
|
const t = o.meshcollectionwithrtc_meshes(this.__wbg_ptr);
|
|
953
|
-
return
|
|
953
|
+
return ht.__wrap(t);
|
|
954
954
|
}
|
|
955
955
|
}
|
|
956
|
-
Symbol.dispose && (
|
|
957
|
-
class
|
|
956
|
+
Symbol.dispose && (Xt.prototype[Symbol.dispose] = Xt.prototype.free);
|
|
957
|
+
class Et {
|
|
958
958
|
static __wrap(t) {
|
|
959
959
|
t = t >>> 0;
|
|
960
|
-
const e = Object.create(
|
|
960
|
+
const e = Object.create(Et.prototype);
|
|
961
961
|
return e.__wbg_ptr = t, ze.register(e, e.__wbg_ptr, e), e;
|
|
962
962
|
}
|
|
963
963
|
__destroy_into_raw() {
|
|
@@ -974,6 +974,17 @@ let __tla = Promise.all([
|
|
|
974
974
|
get vertexCount() {
|
|
975
975
|
return o.meshdatajs_vertexCount(this.__wbg_ptr) >>> 0;
|
|
976
976
|
}
|
|
977
|
+
get shadingColor() {
|
|
978
|
+
try {
|
|
979
|
+
const n = o.__wbindgen_add_to_stack_pointer(-16);
|
|
980
|
+
o.meshdatajs_shadingColor(n, this.__wbg_ptr);
|
|
981
|
+
var t = F().getInt32(n + 0, !0), e = F().getInt32(n + 4, !0);
|
|
982
|
+
let s;
|
|
983
|
+
return t !== 0 && (s = It(t, e).slice(), o.__wbindgen_export2(t, e * 4, 4)), s;
|
|
984
|
+
} finally{
|
|
985
|
+
o.__wbindgen_add_to_stack_pointer(16);
|
|
986
|
+
}
|
|
987
|
+
}
|
|
977
988
|
get triangleCount() {
|
|
978
989
|
return o.meshdatajs_triangleCount(this.__wbg_ptr) >>> 0;
|
|
979
990
|
}
|
|
@@ -981,7 +992,7 @@ let __tla = Promise.all([
|
|
|
981
992
|
try {
|
|
982
993
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
983
994
|
o.meshdatajs_color(s, this.__wbg_ptr);
|
|
984
|
-
var t =
|
|
995
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
|
|
985
996
|
return o.__wbindgen_export2(t, e * 4, 4), n;
|
|
986
997
|
} finally{
|
|
987
998
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -989,33 +1000,33 @@ let __tla = Promise.all([
|
|
|
989
1000
|
}
|
|
990
1001
|
get indices() {
|
|
991
1002
|
const t = o.meshdatajs_indices(this.__wbg_ptr);
|
|
992
|
-
return
|
|
1003
|
+
return G(t);
|
|
993
1004
|
}
|
|
994
1005
|
get normals() {
|
|
995
1006
|
const t = o.meshdatajs_normals(this.__wbg_ptr);
|
|
996
|
-
return
|
|
1007
|
+
return G(t);
|
|
997
1008
|
}
|
|
998
1009
|
get ifcType() {
|
|
999
1010
|
let t, e;
|
|
1000
1011
|
try {
|
|
1001
1012
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1002
1013
|
o.meshdatajs_ifcType(r, this.__wbg_ptr);
|
|
1003
|
-
var n =
|
|
1004
|
-
return t = n, e = s,
|
|
1014
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
1015
|
+
return t = n, e = s, et(n, s);
|
|
1005
1016
|
} finally{
|
|
1006
1017
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
1007
1018
|
}
|
|
1008
1019
|
}
|
|
1009
1020
|
get positions() {
|
|
1010
1021
|
const t = o.meshdatajs_positions(this.__wbg_ptr);
|
|
1011
|
-
return
|
|
1022
|
+
return G(t);
|
|
1012
1023
|
}
|
|
1013
1024
|
}
|
|
1014
|
-
Symbol.dispose && (
|
|
1015
|
-
class
|
|
1025
|
+
Symbol.dispose && (Et.prototype[Symbol.dispose] = Et.prototype.free);
|
|
1026
|
+
class Jt {
|
|
1016
1027
|
static __wrap(t) {
|
|
1017
1028
|
t = t >>> 0;
|
|
1018
|
-
const e = Object.create(
|
|
1029
|
+
const e = Object.create(Jt.prototype);
|
|
1019
1030
|
return e.__wbg_ptr = t, Ve.register(e, e.__wbg_ptr, e), e;
|
|
1020
1031
|
}
|
|
1021
1032
|
__destroy_into_raw() {
|
|
@@ -1028,17 +1039,17 @@ let __tla = Promise.all([
|
|
|
1028
1039
|
}
|
|
1029
1040
|
get(t) {
|
|
1030
1041
|
const e = o.profilecollection_get(this.__wbg_ptr, t);
|
|
1031
|
-
return e === 0 ? void 0 :
|
|
1042
|
+
return e === 0 ? void 0 : Qt.__wrap(e);
|
|
1032
1043
|
}
|
|
1033
1044
|
get length() {
|
|
1034
1045
|
return o.profilecollection_length(this.__wbg_ptr) >>> 0;
|
|
1035
1046
|
}
|
|
1036
1047
|
}
|
|
1037
|
-
Symbol.dispose && (
|
|
1038
|
-
class
|
|
1048
|
+
Symbol.dispose && (Jt.prototype[Symbol.dispose] = Jt.prototype.free);
|
|
1049
|
+
class Qt {
|
|
1039
1050
|
static __wrap(t) {
|
|
1040
1051
|
t = t >>> 0;
|
|
1041
|
-
const e = Object.create(
|
|
1052
|
+
const e = Object.create(Qt.prototype);
|
|
1042
1053
|
return e.__wbg_ptr = t, je.register(e, e.__wbg_ptr, e), e;
|
|
1043
1054
|
}
|
|
1044
1055
|
__destroy_into_raw() {
|
|
@@ -1050,26 +1061,26 @@ let __tla = Promise.all([
|
|
|
1050
1061
|
o.__wbg_profileentryjs_free(t, 0);
|
|
1051
1062
|
}
|
|
1052
1063
|
get expressId() {
|
|
1053
|
-
return o.
|
|
1064
|
+
return o.profileentryjs_expressId(this.__wbg_ptr) >>> 0;
|
|
1054
1065
|
}
|
|
1055
1066
|
get holeCounts() {
|
|
1056
1067
|
const t = o.profileentryjs_holeCounts(this.__wbg_ptr);
|
|
1057
|
-
return
|
|
1068
|
+
return G(t);
|
|
1058
1069
|
}
|
|
1059
1070
|
get holePoints() {
|
|
1060
1071
|
const t = o.profileentryjs_holePoints(this.__wbg_ptr);
|
|
1061
|
-
return
|
|
1072
|
+
return G(t);
|
|
1062
1073
|
}
|
|
1063
1074
|
get modelIndex() {
|
|
1064
1075
|
return o.profileentryjs_modelIndex(this.__wbg_ptr) >>> 0;
|
|
1065
1076
|
}
|
|
1066
1077
|
get outerPoints() {
|
|
1067
1078
|
const t = o.profileentryjs_outerPoints(this.__wbg_ptr);
|
|
1068
|
-
return
|
|
1079
|
+
return G(t);
|
|
1069
1080
|
}
|
|
1070
1081
|
get extrusionDir() {
|
|
1071
1082
|
const t = o.profileentryjs_extrusionDir(this.__wbg_ptr);
|
|
1072
|
-
return
|
|
1083
|
+
return G(t);
|
|
1073
1084
|
}
|
|
1074
1085
|
get extrusionDepth() {
|
|
1075
1086
|
return o.profileentryjs_extrusionDepth(this.__wbg_ptr);
|
|
@@ -1079,22 +1090,22 @@ let __tla = Promise.all([
|
|
|
1079
1090
|
try {
|
|
1080
1091
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1081
1092
|
o.profileentryjs_ifcType(r, this.__wbg_ptr);
|
|
1082
|
-
var n =
|
|
1083
|
-
return t = n, e = s,
|
|
1093
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
1094
|
+
return t = n, e = s, et(n, s);
|
|
1084
1095
|
} finally{
|
|
1085
1096
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
1086
1097
|
}
|
|
1087
1098
|
}
|
|
1088
1099
|
get transform() {
|
|
1089
1100
|
const t = o.profileentryjs_transform(this.__wbg_ptr);
|
|
1090
|
-
return
|
|
1101
|
+
return G(t);
|
|
1091
1102
|
}
|
|
1092
1103
|
}
|
|
1093
|
-
Symbol.dispose && (
|
|
1094
|
-
class
|
|
1104
|
+
Symbol.dispose && (Qt.prototype[Symbol.dispose] = Qt.prototype.free);
|
|
1105
|
+
class qt {
|
|
1095
1106
|
static __wrap(t) {
|
|
1096
1107
|
t = t >>> 0;
|
|
1097
|
-
const e = Object.create(
|
|
1108
|
+
const e = Object.create(qt.prototype);
|
|
1098
1109
|
return e.__wbg_ptr = t, ke.register(e, e.__wbg_ptr, e), e;
|
|
1099
1110
|
}
|
|
1100
1111
|
__destroy_into_raw() {
|
|
@@ -1112,7 +1123,7 @@ let __tla = Promise.all([
|
|
|
1112
1123
|
try {
|
|
1113
1124
|
const c = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1114
1125
|
o.rtcoffsetjs_toWorld(c, this.__wbg_ptr, t, e, n);
|
|
1115
|
-
var s =
|
|
1126
|
+
var s = F().getInt32(c + 0, !0), r = F().getInt32(c + 4, !0), a = vt(s, r).slice();
|
|
1116
1127
|
return o.__wbindgen_export2(s, r * 8, 8), a;
|
|
1117
1128
|
} finally{
|
|
1118
1129
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -1137,11 +1148,11 @@ let __tla = Promise.all([
|
|
|
1137
1148
|
o.__wbg_set_georeferencejs_orthogonal_height(this.__wbg_ptr, t);
|
|
1138
1149
|
}
|
|
1139
1150
|
}
|
|
1140
|
-
Symbol.dispose && (
|
|
1141
|
-
class
|
|
1151
|
+
Symbol.dispose && (qt.prototype[Symbol.dispose] = qt.prototype.free);
|
|
1152
|
+
class Kt {
|
|
1142
1153
|
static __wrap(t) {
|
|
1143
1154
|
t = t >>> 0;
|
|
1144
|
-
const e = Object.create(
|
|
1155
|
+
const e = Object.create(Kt.prototype);
|
|
1145
1156
|
return e.__wbg_ptr = t, We.register(e, e.__wbg_ptr, e), e;
|
|
1146
1157
|
}
|
|
1147
1158
|
__destroy_into_raw() {
|
|
@@ -1166,8 +1177,8 @@ let __tla = Promise.all([
|
|
|
1166
1177
|
try {
|
|
1167
1178
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1168
1179
|
o.symboliccircle_repIdentifier(r, this.__wbg_ptr);
|
|
1169
|
-
var n =
|
|
1170
|
-
return t = n, e = s,
|
|
1180
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
1181
|
+
return t = n, e = s, et(n, s);
|
|
1171
1182
|
} finally{
|
|
1172
1183
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
1173
1184
|
}
|
|
@@ -1186,8 +1197,8 @@ let __tla = Promise.all([
|
|
|
1186
1197
|
try {
|
|
1187
1198
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1188
1199
|
o.symboliccircle_ifcType(r, this.__wbg_ptr);
|
|
1189
|
-
var n =
|
|
1190
|
-
return t = n, e = s,
|
|
1200
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
1201
|
+
return t = n, e = s, et(n, s);
|
|
1191
1202
|
} finally{
|
|
1192
1203
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
1193
1204
|
}
|
|
@@ -1196,16 +1207,16 @@ let __tla = Promise.all([
|
|
|
1196
1207
|
return o.symboliccircle_endAngle(this.__wbg_ptr);
|
|
1197
1208
|
}
|
|
1198
1209
|
}
|
|
1199
|
-
Symbol.dispose && (
|
|
1200
|
-
class
|
|
1210
|
+
Symbol.dispose && (Kt.prototype[Symbol.dispose] = Kt.prototype.free);
|
|
1211
|
+
class Zt {
|
|
1201
1212
|
static __wrap(t) {
|
|
1202
1213
|
t = t >>> 0;
|
|
1203
|
-
const e = Object.create(
|
|
1204
|
-
return e.__wbg_ptr = t,
|
|
1214
|
+
const e = Object.create(Zt.prototype);
|
|
1215
|
+
return e.__wbg_ptr = t, He.register(e, e.__wbg_ptr, e), e;
|
|
1205
1216
|
}
|
|
1206
1217
|
__destroy_into_raw() {
|
|
1207
1218
|
const t = this.__wbg_ptr;
|
|
1208
|
-
return this.__wbg_ptr = 0,
|
|
1219
|
+
return this.__wbg_ptr = 0, He.unregister(this), t;
|
|
1209
1220
|
}
|
|
1210
1221
|
free() {
|
|
1211
1222
|
const t = this.__destroy_into_raw();
|
|
@@ -1222,23 +1233,23 @@ let __tla = Promise.all([
|
|
|
1222
1233
|
try {
|
|
1223
1234
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1224
1235
|
o.symbolicpolyline_repIdentifier(r, this.__wbg_ptr);
|
|
1225
|
-
var n =
|
|
1226
|
-
return t = n, e = s,
|
|
1236
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
1237
|
+
return t = n, e = s, et(n, s);
|
|
1227
1238
|
} finally{
|
|
1228
1239
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
1229
1240
|
}
|
|
1230
1241
|
}
|
|
1231
1242
|
get points() {
|
|
1232
1243
|
const t = o.symbolicpolyline_points(this.__wbg_ptr);
|
|
1233
|
-
return
|
|
1244
|
+
return G(t);
|
|
1234
1245
|
}
|
|
1235
1246
|
get ifcType() {
|
|
1236
1247
|
let t, e;
|
|
1237
1248
|
try {
|
|
1238
1249
|
const r = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1239
1250
|
o.symbolicpolyline_ifcType(r, this.__wbg_ptr);
|
|
1240
|
-
var n =
|
|
1241
|
-
return t = n, e = s,
|
|
1251
|
+
var n = F().getInt32(r + 0, !0), s = F().getInt32(r + 4, !0);
|
|
1252
|
+
return t = n, e = s, et(n, s);
|
|
1242
1253
|
} finally{
|
|
1243
1254
|
o.__wbindgen_add_to_stack_pointer(16), o.__wbindgen_export2(t, e, 1);
|
|
1244
1255
|
}
|
|
@@ -1247,16 +1258,16 @@ let __tla = Promise.all([
|
|
|
1247
1258
|
return o.symbolicpolyline_isClosed(this.__wbg_ptr) !== 0;
|
|
1248
1259
|
}
|
|
1249
1260
|
}
|
|
1250
|
-
Symbol.dispose && (
|
|
1251
|
-
class
|
|
1261
|
+
Symbol.dispose && (Zt.prototype[Symbol.dispose] = Zt.prototype.free);
|
|
1262
|
+
class te {
|
|
1252
1263
|
static __wrap(t) {
|
|
1253
1264
|
t = t >>> 0;
|
|
1254
|
-
const e = Object.create(
|
|
1255
|
-
return e.__wbg_ptr = t,
|
|
1265
|
+
const e = Object.create(te.prototype);
|
|
1266
|
+
return e.__wbg_ptr = t, Ye.register(e, e.__wbg_ptr, e), e;
|
|
1256
1267
|
}
|
|
1257
1268
|
__destroy_into_raw() {
|
|
1258
1269
|
const t = this.__wbg_ptr;
|
|
1259
|
-
return this.__wbg_ptr = 0,
|
|
1270
|
+
return this.__wbg_ptr = 0, Ye.unregister(this), t;
|
|
1260
1271
|
}
|
|
1261
1272
|
free() {
|
|
1262
1273
|
const t = this.__destroy_into_raw();
|
|
@@ -1264,7 +1275,7 @@ let __tla = Promise.all([
|
|
|
1264
1275
|
}
|
|
1265
1276
|
getCircle(t) {
|
|
1266
1277
|
const e = o.symbolicrepresentationcollection_getCircle(this.__wbg_ptr, t);
|
|
1267
|
-
return e === 0 ? void 0 :
|
|
1278
|
+
return e === 0 ? void 0 : Kt.__wrap(e);
|
|
1268
1279
|
}
|
|
1269
1280
|
get totalCount() {
|
|
1270
1281
|
return o.symbolicrepresentationcollection_totalCount(this.__wbg_ptr) >>> 0;
|
|
@@ -1274,7 +1285,7 @@ let __tla = Promise.all([
|
|
|
1274
1285
|
}
|
|
1275
1286
|
getPolyline(t) {
|
|
1276
1287
|
const e = o.symbolicrepresentationcollection_getPolyline(this.__wbg_ptr, t);
|
|
1277
|
-
return e === 0 ? void 0 :
|
|
1288
|
+
return e === 0 ? void 0 : Zt.__wrap(e);
|
|
1278
1289
|
}
|
|
1279
1290
|
get polylineCount() {
|
|
1280
1291
|
return o.symbolicrepresentationcollection_polylineCount(this.__wbg_ptr) >>> 0;
|
|
@@ -1283,7 +1294,7 @@ let __tla = Promise.all([
|
|
|
1283
1294
|
try {
|
|
1284
1295
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1285
1296
|
o.symbolicrepresentationcollection_getExpressIds(s, this.__wbg_ptr);
|
|
1286
|
-
var t =
|
|
1297
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = cn(t, e).slice();
|
|
1287
1298
|
return o.__wbindgen_export2(t, e * 4, 4), n;
|
|
1288
1299
|
} finally{
|
|
1289
1300
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -1293,16 +1304,16 @@ let __tla = Promise.all([
|
|
|
1293
1304
|
return o.symbolicrepresentationcollection_isEmpty(this.__wbg_ptr) !== 0;
|
|
1294
1305
|
}
|
|
1295
1306
|
}
|
|
1296
|
-
Symbol.dispose && (
|
|
1297
|
-
class
|
|
1307
|
+
Symbol.dispose && (te.prototype[Symbol.dispose] = te.prototype.free);
|
|
1308
|
+
class ee {
|
|
1298
1309
|
static __wrap(t) {
|
|
1299
1310
|
t = t >>> 0;
|
|
1300
|
-
const e = Object.create(
|
|
1301
|
-
return e.__wbg_ptr = t,
|
|
1311
|
+
const e = Object.create(ee.prototype);
|
|
1312
|
+
return e.__wbg_ptr = t, ue.register(e, e.__wbg_ptr, e), e;
|
|
1302
1313
|
}
|
|
1303
1314
|
__destroy_into_raw() {
|
|
1304
1315
|
const t = this.__wbg_ptr;
|
|
1305
|
-
return this.__wbg_ptr = 0,
|
|
1316
|
+
return this.__wbg_ptr = 0, ue.unregister(this), t;
|
|
1306
1317
|
}
|
|
1307
1318
|
free() {
|
|
1308
1319
|
const t = this.__destroy_into_raw();
|
|
@@ -1312,7 +1323,7 @@ let __tla = Promise.all([
|
|
|
1312
1323
|
try {
|
|
1313
1324
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1314
1325
|
o.zerocopymesh_bounds_max(s, this.__wbg_ptr);
|
|
1315
|
-
var t =
|
|
1326
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
|
|
1316
1327
|
return o.__wbindgen_export2(t, e * 4, 4), n;
|
|
1317
1328
|
} finally{
|
|
1318
1329
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -1322,7 +1333,7 @@ let __tla = Promise.all([
|
|
|
1322
1333
|
try {
|
|
1323
1334
|
const s = o.__wbindgen_add_to_stack_pointer(-16);
|
|
1324
1335
|
o.zerocopymesh_bounds_min(s, this.__wbg_ptr);
|
|
1325
|
-
var t =
|
|
1336
|
+
var t = F().getInt32(s + 0, !0), e = F().getInt32(s + 4, !0), n = It(t, e).slice();
|
|
1326
1337
|
return o.__wbindgen_export2(t, e * 4, 4), n;
|
|
1327
1338
|
} finally{
|
|
1328
1339
|
o.__wbindgen_add_to_stack_pointer(16);
|
|
@@ -1354,14 +1365,14 @@ let __tla = Promise.all([
|
|
|
1354
1365
|
}
|
|
1355
1366
|
constructor(){
|
|
1356
1367
|
const t = o.zerocopymesh_new();
|
|
1357
|
-
return this.__wbg_ptr = t >>> 0,
|
|
1368
|
+
return this.__wbg_ptr = t >>> 0, ue.register(this, this.__wbg_ptr, this), this;
|
|
1358
1369
|
}
|
|
1359
1370
|
get is_empty() {
|
|
1360
1371
|
return o.zerocopymesh_is_empty(this.__wbg_ptr) !== 0;
|
|
1361
1372
|
}
|
|
1362
1373
|
}
|
|
1363
|
-
Symbol.dispose && (
|
|
1364
|
-
const
|
|
1374
|
+
Symbol.dispose && (ee.prototype[Symbol.dispose] = ee.prototype.free);
|
|
1375
|
+
const xn = new Set([
|
|
1365
1376
|
"basic",
|
|
1366
1377
|
"cors",
|
|
1367
1378
|
"default"
|
|
@@ -1371,7 +1382,7 @@ let __tla = Promise.all([
|
|
|
1371
1382
|
if (typeof WebAssembly.instantiateStreaming == "function") try {
|
|
1372
1383
|
return await WebAssembly.instantiateStreaming(i, t);
|
|
1373
1384
|
} catch (n) {
|
|
1374
|
-
if (i.ok &&
|
|
1385
|
+
if (i.ok && xn.has(i.type) && i.headers.get("Content-Type") !== "application/wasm") console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", n);
|
|
1375
1386
|
else throw n;
|
|
1376
1387
|
}
|
|
1377
1388
|
const e = await i.arrayBuffer();
|
|
@@ -1387,75 +1398,75 @@ let __tla = Promise.all([
|
|
|
1387
1398
|
function Ln() {
|
|
1388
1399
|
const i = {};
|
|
1389
1400
|
return i.wbg = {}, i.wbg.__wbg_Error_52673b7de5a0ca89 = function(t, e) {
|
|
1390
|
-
const n = Error(
|
|
1391
|
-
return
|
|
1401
|
+
const n = Error(et(t, e));
|
|
1402
|
+
return B(n);
|
|
1392
1403
|
}, i.wbg.__wbg___wbindgen_is_function_8d400b8b1af978cd = function(t) {
|
|
1393
|
-
return typeof
|
|
1404
|
+
return typeof L(t) == "function";
|
|
1394
1405
|
}, i.wbg.__wbg___wbindgen_is_undefined_f6b95eab589e0269 = function(t) {
|
|
1395
|
-
return
|
|
1406
|
+
return L(t) === void 0;
|
|
1396
1407
|
}, i.wbg.__wbg___wbindgen_memory_a342e963fbcabd68 = function() {
|
|
1397
1408
|
const t = o.memory;
|
|
1398
|
-
return
|
|
1409
|
+
return B(t);
|
|
1399
1410
|
}, i.wbg.__wbg___wbindgen_number_get_9619185a74197f95 = function(t, e) {
|
|
1400
|
-
const n =
|
|
1401
|
-
|
|
1411
|
+
const n = L(e), s = typeof n == "number" ? n : void 0;
|
|
1412
|
+
F().setFloat64(t + 8, Rt(s) ? 0 : s, !0), F().setInt32(t + 0, !Rt(s), !0);
|
|
1402
1413
|
}, i.wbg.__wbg___wbindgen_throw_dd24417ed36fc46e = function(t, e) {
|
|
1403
|
-
throw new Error(
|
|
1414
|
+
throw new Error(et(t, e));
|
|
1404
1415
|
}, i.wbg.__wbg__wbg_cb_unref_87dfb5aaa0cbcea7 = function(t) {
|
|
1405
|
-
|
|
1416
|
+
L(t)._wbg_cb_unref();
|
|
1406
1417
|
}, i.wbg.__wbg_call_3020136f7a2d6e44 = function() {
|
|
1407
|
-
return
|
|
1408
|
-
const s =
|
|
1409
|
-
return
|
|
1418
|
+
return xt(function(t, e, n) {
|
|
1419
|
+
const s = L(t).call(L(e), L(n));
|
|
1420
|
+
return B(s);
|
|
1410
1421
|
}, arguments);
|
|
1411
1422
|
}, i.wbg.__wbg_call_abb4ff46ce38be40 = function() {
|
|
1412
|
-
return
|
|
1413
|
-
const n =
|
|
1414
|
-
return
|
|
1423
|
+
return xt(function(t, e) {
|
|
1424
|
+
const n = L(t).call(L(e));
|
|
1425
|
+
return B(n);
|
|
1415
1426
|
}, arguments);
|
|
1416
1427
|
}, i.wbg.__wbg_call_c8baa5c5e72d274e = function() {
|
|
1417
|
-
return
|
|
1418
|
-
const r =
|
|
1419
|
-
return
|
|
1428
|
+
return xt(function(t, e, n, s) {
|
|
1429
|
+
const r = L(t).call(L(e), L(n), L(s));
|
|
1430
|
+
return B(r);
|
|
1420
1431
|
}, arguments);
|
|
1421
1432
|
}, i.wbg.__wbg_debug_9d0c87ddda3dc485 = function(t) {
|
|
1422
|
-
console.debug(
|
|
1433
|
+
console.debug(L(t));
|
|
1423
1434
|
}, i.wbg.__wbg_error_7534b8e9a36f1ab4 = function(t, e) {
|
|
1424
1435
|
let n, s;
|
|
1425
1436
|
try {
|
|
1426
|
-
n = t, s = e, console.error(
|
|
1437
|
+
n = t, s = e, console.error(et(t, e));
|
|
1427
1438
|
} finally{
|
|
1428
1439
|
o.__wbindgen_export2(n, s, 1);
|
|
1429
1440
|
}
|
|
1430
1441
|
}, i.wbg.__wbg_get_af9dab7e9603ea93 = function() {
|
|
1431
|
-
return
|
|
1432
|
-
const n = Reflect.get(
|
|
1433
|
-
return
|
|
1442
|
+
return xt(function(t, e) {
|
|
1443
|
+
const n = Reflect.get(L(t), L(e));
|
|
1444
|
+
return B(n);
|
|
1434
1445
|
}, arguments);
|
|
1435
1446
|
}, i.wbg.__wbg_gpugeometry_new = function(t) {
|
|
1436
|
-
const e =
|
|
1437
|
-
return
|
|
1447
|
+
const e = Nt.__wrap(t);
|
|
1448
|
+
return B(e);
|
|
1438
1449
|
}, i.wbg.__wbg_info_ce6bcc489c22f6f0 = function(t) {
|
|
1439
|
-
console.info(
|
|
1450
|
+
console.info(L(t));
|
|
1440
1451
|
}, i.wbg.__wbg_instancedgeometry_new = function(t) {
|
|
1441
|
-
const e =
|
|
1442
|
-
return
|
|
1452
|
+
const e = At.__wrap(t);
|
|
1453
|
+
return B(e);
|
|
1443
1454
|
}, i.wbg.__wbg_length_86ce4877baf913bb = function(t) {
|
|
1444
|
-
return
|
|
1455
|
+
return L(t).length;
|
|
1445
1456
|
}, i.wbg.__wbg_length_d45040a40c570362 = function(t) {
|
|
1446
|
-
return
|
|
1457
|
+
return L(t).length;
|
|
1447
1458
|
}, i.wbg.__wbg_meshdatajs_new = function(t) {
|
|
1448
|
-
const e =
|
|
1449
|
-
return
|
|
1459
|
+
const e = Et.__wrap(t);
|
|
1460
|
+
return B(e);
|
|
1450
1461
|
}, i.wbg.__wbg_new_1ba21ce319a06297 = function() {
|
|
1451
1462
|
const t = new Object;
|
|
1452
|
-
return
|
|
1463
|
+
return B(t);
|
|
1453
1464
|
}, i.wbg.__wbg_new_25f239778d6112b9 = function() {
|
|
1454
1465
|
const t = new Array;
|
|
1455
|
-
return
|
|
1466
|
+
return B(t);
|
|
1456
1467
|
}, i.wbg.__wbg_new_8a6f238a6ece86ea = function() {
|
|
1457
1468
|
const t = new Error;
|
|
1458
|
-
return
|
|
1469
|
+
return B(t);
|
|
1459
1470
|
}, i.wbg.__wbg_new_ff12d2b041fb48f1 = function(t, e) {
|
|
1460
1471
|
try {
|
|
1461
1472
|
var n = {
|
|
@@ -1465,111 +1476,111 @@ let __tla = Promise.all([
|
|
|
1465
1476
|
const l = n.a;
|
|
1466
1477
|
n.a = 0;
|
|
1467
1478
|
try {
|
|
1468
|
-
return
|
|
1479
|
+
return On(l, n.b, a, c);
|
|
1469
1480
|
} finally{
|
|
1470
1481
|
n.a = l;
|
|
1471
1482
|
}
|
|
1472
1483
|
};
|
|
1473
1484
|
const r = new Promise(s);
|
|
1474
|
-
return
|
|
1485
|
+
return B(r);
|
|
1475
1486
|
} finally{
|
|
1476
1487
|
n.a = n.b = 0;
|
|
1477
1488
|
}
|
|
1478
1489
|
}, i.wbg.__wbg_new_from_slice_41e2764a343e3cb1 = function(t, e) {
|
|
1479
|
-
const n = new Float32Array(
|
|
1480
|
-
return
|
|
1490
|
+
const n = new Float32Array(It(t, e));
|
|
1491
|
+
return B(n);
|
|
1481
1492
|
}, i.wbg.__wbg_new_from_slice_db0691b69e9d3891 = function(t, e) {
|
|
1482
1493
|
const n = new Uint32Array(cn(t, e));
|
|
1483
|
-
return
|
|
1494
|
+
return B(n);
|
|
1484
1495
|
}, i.wbg.__wbg_new_no_args_cb138f77cf6151ee = function(t, e) {
|
|
1485
|
-
const n = new Function(
|
|
1486
|
-
return
|
|
1496
|
+
const n = new Function(et(t, e));
|
|
1497
|
+
return B(n);
|
|
1487
1498
|
}, i.wbg.__wbg_new_with_length_202b3db94ba5fc86 = function(t) {
|
|
1488
1499
|
const e = new Uint32Array(t >>> 0);
|
|
1489
|
-
return
|
|
1500
|
+
return B(e);
|
|
1490
1501
|
}, i.wbg.__wbg_new_with_length_806b9e5b8290af7c = function(t) {
|
|
1491
1502
|
const e = new Float64Array(t >>> 0);
|
|
1492
|
-
return
|
|
1503
|
+
return B(e);
|
|
1493
1504
|
}, i.wbg.__wbg_new_with_length_aa5eaf41d35235e5 = function(t) {
|
|
1494
1505
|
const e = new Uint8Array(t >>> 0);
|
|
1495
|
-
return
|
|
1506
|
+
return B(e);
|
|
1496
1507
|
}, i.wbg.__wbg_prototypesetcall_96cc7097487b926d = function(t, e, n) {
|
|
1497
|
-
Float32Array.prototype.set.call(
|
|
1508
|
+
Float32Array.prototype.set.call(It(t, e), L(n));
|
|
1498
1509
|
}, i.wbg.__wbg_push_7d9be8f38fc13975 = function(t, e) {
|
|
1499
|
-
return
|
|
1510
|
+
return L(t).push(L(e));
|
|
1500
1511
|
}, i.wbg.__wbg_queueMicrotask_9b549dfce8865860 = function(t) {
|
|
1501
|
-
const e =
|
|
1502
|
-
return
|
|
1512
|
+
const e = L(t).queueMicrotask;
|
|
1513
|
+
return B(e);
|
|
1503
1514
|
}, i.wbg.__wbg_queueMicrotask_fca69f5bfad613a5 = function(t) {
|
|
1504
|
-
queueMicrotask(
|
|
1515
|
+
queueMicrotask(L(t));
|
|
1505
1516
|
}, i.wbg.__wbg_resolve_fd5bfbaa4ce36e1e = function(t) {
|
|
1506
|
-
const e = Promise.resolve(
|
|
1507
|
-
return
|
|
1517
|
+
const e = Promise.resolve(L(t));
|
|
1518
|
+
return B(e);
|
|
1508
1519
|
}, i.wbg.__wbg_set_3f1d0b984ed272ed = function(t, e, n) {
|
|
1509
|
-
|
|
1520
|
+
L(t)[G(e)] = G(n);
|
|
1510
1521
|
}, i.wbg.__wbg_set_781438a03c0c3c81 = function() {
|
|
1511
|
-
return
|
|
1512
|
-
return Reflect.set(
|
|
1522
|
+
return xt(function(t, e, n) {
|
|
1523
|
+
return Reflect.set(L(t), L(e), L(n));
|
|
1513
1524
|
}, arguments);
|
|
1514
1525
|
}, i.wbg.__wbg_set_7df433eea03a5c14 = function(t, e, n) {
|
|
1515
|
-
|
|
1526
|
+
L(t)[e >>> 0] = G(n);
|
|
1516
1527
|
}, i.wbg.__wbg_set_index_021489b2916af13e = function(t, e, n) {
|
|
1517
|
-
|
|
1528
|
+
L(t)[e >>> 0] = n;
|
|
1518
1529
|
}, i.wbg.__wbg_set_index_04c4b93e64d08a52 = function(t, e, n) {
|
|
1519
|
-
|
|
1530
|
+
L(t)[e >>> 0] = n;
|
|
1520
1531
|
}, i.wbg.__wbg_set_index_42abe35f117e614e = function(t, e, n) {
|
|
1521
|
-
|
|
1532
|
+
L(t)[e >>> 0] = n >>> 0;
|
|
1522
1533
|
}, i.wbg.__wbg_stack_0ed75d68575b0f3c = function(t, e) {
|
|
1523
|
-
const n =
|
|
1524
|
-
|
|
1534
|
+
const n = L(e).stack, s = Q(n, o.__wbindgen_export3, o.__wbindgen_export4), r = O;
|
|
1535
|
+
F().setInt32(t + 4, r, !0), F().setInt32(t + 0, s, !0);
|
|
1525
1536
|
}, i.wbg.__wbg_static_accessor_GLOBAL_769e6b65d6557335 = function() {
|
|
1526
1537
|
const t = typeof global > "u" ? null : global;
|
|
1527
|
-
return
|
|
1538
|
+
return Rt(t) ? 0 : B(t);
|
|
1528
1539
|
}, i.wbg.__wbg_static_accessor_GLOBAL_THIS_60cf02db4de8e1c1 = function() {
|
|
1529
1540
|
const t = typeof globalThis > "u" ? null : globalThis;
|
|
1530
|
-
return
|
|
1541
|
+
return Rt(t) ? 0 : B(t);
|
|
1531
1542
|
}, i.wbg.__wbg_static_accessor_SELF_08f5a74c69739274 = function() {
|
|
1532
1543
|
const t = typeof self > "u" ? null : self;
|
|
1533
|
-
return
|
|
1544
|
+
return Rt(t) ? 0 : B(t);
|
|
1534
1545
|
}, i.wbg.__wbg_static_accessor_WINDOW_a8924b26aa92d024 = function() {
|
|
1535
1546
|
const t = typeof window > "u" ? null : window;
|
|
1536
|
-
return
|
|
1547
|
+
return Rt(t) ? 0 : B(t);
|
|
1537
1548
|
}, i.wbg.__wbg_then_4f95312d68691235 = function(t, e) {
|
|
1538
|
-
const n =
|
|
1539
|
-
return
|
|
1549
|
+
const n = L(t).then(L(e));
|
|
1550
|
+
return B(n);
|
|
1540
1551
|
}, i.wbg.__wbg_warn_6e567d0d926ff881 = function(t) {
|
|
1541
|
-
console.warn(
|
|
1552
|
+
console.warn(L(t));
|
|
1542
1553
|
}, i.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(t, e) {
|
|
1543
|
-
const n =
|
|
1544
|
-
return
|
|
1554
|
+
const n = et(t, e);
|
|
1555
|
+
return B(n);
|
|
1545
1556
|
}, i.wbg.__wbindgen_cast_4625c577ab2ec9ee = function(t) {
|
|
1546
1557
|
const e = BigInt.asUintN(64, t);
|
|
1547
|
-
return
|
|
1548
|
-
}, i.wbg.
|
|
1549
|
-
const n = Rn(t, e, o.
|
|
1550
|
-
return
|
|
1558
|
+
return B(e);
|
|
1559
|
+
}, i.wbg.__wbindgen_cast_73cbb7b49382c492 = function(t, e) {
|
|
1560
|
+
const n = Rn(t, e, o.__wasm_bindgen_func_elem_1483, An);
|
|
1561
|
+
return B(n);
|
|
1551
1562
|
}, i.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(t) {
|
|
1552
|
-
return
|
|
1563
|
+
return B(t);
|
|
1553
1564
|
}, i.wbg.__wbindgen_object_clone_ref = function(t) {
|
|
1554
|
-
const e =
|
|
1555
|
-
return
|
|
1565
|
+
const e = L(t);
|
|
1566
|
+
return B(e);
|
|
1556
1567
|
}, i.wbg.__wbindgen_object_drop_ref = function(t) {
|
|
1557
|
-
|
|
1568
|
+
G(t);
|
|
1558
1569
|
}, i;
|
|
1559
1570
|
}
|
|
1560
1571
|
function Bn(i, t) {
|
|
1561
|
-
return o = i.exports, dn.__wbindgen_wasm_module = t,
|
|
1572
|
+
return o = i.exports, dn.__wbindgen_wasm_module = t, bt = null, Lt = null, Bt = null, Pt = null, Ut = null, o.__wbindgen_start(), o;
|
|
1562
1573
|
}
|
|
1563
1574
|
dn = async function(i) {
|
|
1564
1575
|
if (o !== void 0) return o;
|
|
1565
|
-
typeof i < "u" && (Object.getPrototypeOf(i) === Object.prototype ? { module_or_path: i } = i : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), typeof i > "u" && (i = new URL("/assets/ifc-lite_bg-
|
|
1576
|
+
typeof i < "u" && (Object.getPrototypeOf(i) === Object.prototype ? { module_or_path: i } = i : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), typeof i > "u" && (i = new URL("/assets/ifc-lite_bg-DyHX37GQ.wasm", import.meta.url));
|
|
1566
1577
|
const t = Ln();
|
|
1567
1578
|
(typeof i == "string" || typeof Request == "function" && i instanceof Request || typeof URL == "function" && i instanceof URL) && (i = fetch(i));
|
|
1568
1579
|
const { instance: e, module: n } = await Mn(await i, t);
|
|
1569
1580
|
return Bn(e, n);
|
|
1570
1581
|
};
|
|
1571
|
-
const
|
|
1572
|
-
let
|
|
1582
|
+
const K = on("Geometry"), Pn = "IFC-Lite WASM cannot recover from a fatal runtime error within the same document lifetime. Reload the page or recreate the worker process before calling init() again.";
|
|
1583
|
+
let pe = null;
|
|
1573
1584
|
Un = class {
|
|
1574
1585
|
ifcApi = null;
|
|
1575
1586
|
initialized = !1;
|
|
@@ -1578,15 +1589,15 @@ let __tla = Promise.all([
|
|
|
1578
1589
|
return t instanceof WebAssembly.RuntimeError;
|
|
1579
1590
|
}
|
|
1580
1591
|
markFatalWasmRuntimeError() {
|
|
1581
|
-
|
|
1592
|
+
pe = new Error(Pn), this.reset();
|
|
1582
1593
|
}
|
|
1583
1594
|
async init() {
|
|
1584
1595
|
if (!this.initialized) {
|
|
1585
|
-
if (
|
|
1596
|
+
if (pe) throw pe;
|
|
1586
1597
|
try {
|
|
1587
|
-
await dn(),
|
|
1598
|
+
await dn(), K.warn("Geometry processing: single-threaded mode (thread pool disabled for Vite compatibility)"), this.ifcApi = new we, this.applyMergeLayers(), this.initialized = !0, K.info("WASM geometry engine initialized");
|
|
1588
1599
|
} catch (t) {
|
|
1589
|
-
throw
|
|
1600
|
+
throw K.error("Failed to initialize WASM geometry engine", t, {
|
|
1590
1601
|
operation: "init"
|
|
1591
1602
|
}), this.isWasmRuntimeError(t) ? this.markFatalWasmRuntimeError() : this.reset(), t;
|
|
1592
1603
|
}
|
|
@@ -1599,11 +1610,11 @@ let __tla = Promise.all([
|
|
|
1599
1610
|
if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
|
|
1600
1611
|
try {
|
|
1601
1612
|
const e = this.ifcApi.parseMeshes(t);
|
|
1602
|
-
return
|
|
1613
|
+
return K.debug(`Parsed ${e.length} meshes`, {
|
|
1603
1614
|
operation: "parseMeshes"
|
|
1604
1615
|
}), e;
|
|
1605
1616
|
} catch (e) {
|
|
1606
|
-
throw
|
|
1617
|
+
throw K.error("Failed to parse IFC geometry", e, {
|
|
1607
1618
|
operation: "parseMeshes",
|
|
1608
1619
|
data: {
|
|
1609
1620
|
contentLength: t.length
|
|
@@ -1615,11 +1626,11 @@ let __tla = Promise.all([
|
|
|
1615
1626
|
if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
|
|
1616
1627
|
try {
|
|
1617
1628
|
const e = this.ifcApi.parseMeshesInstanced(t);
|
|
1618
|
-
return
|
|
1629
|
+
return K.debug(`Parsed ${e.length} instanced geometries`, {
|
|
1619
1630
|
operation: "parseMeshesInstanced"
|
|
1620
1631
|
}), e;
|
|
1621
1632
|
} catch (e) {
|
|
1622
|
-
throw
|
|
1633
|
+
throw K.error("Failed to parse instanced IFC geometry", e, {
|
|
1623
1634
|
operation: "parseMeshesInstanced",
|
|
1624
1635
|
data: {
|
|
1625
1636
|
contentLength: t.length
|
|
@@ -1632,7 +1643,7 @@ let __tla = Promise.all([
|
|
|
1632
1643
|
try {
|
|
1633
1644
|
return await this.ifcApi.parseMeshesAsync(t, e);
|
|
1634
1645
|
} catch (n) {
|
|
1635
|
-
throw
|
|
1646
|
+
throw K.error("Failed to parse IFC geometry (streaming)", n, {
|
|
1636
1647
|
operation: "parseMeshesAsync",
|
|
1637
1648
|
data: {
|
|
1638
1649
|
contentLength: t.length
|
|
@@ -1645,7 +1656,7 @@ let __tla = Promise.all([
|
|
|
1645
1656
|
try {
|
|
1646
1657
|
return await this.ifcApi.parseMeshesInstancedAsync(t, e);
|
|
1647
1658
|
} catch (n) {
|
|
1648
|
-
throw
|
|
1659
|
+
throw K.error("Failed to parse instanced IFC geometry (streaming)", n, {
|
|
1649
1660
|
operation: "parseMeshesInstancedAsync",
|
|
1650
1661
|
data: {
|
|
1651
1662
|
contentLength: t.length
|
|
@@ -1657,11 +1668,11 @@ let __tla = Promise.all([
|
|
|
1657
1668
|
if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
|
|
1658
1669
|
try {
|
|
1659
1670
|
const e = this.ifcApi.parseSymbolicRepresentations(t);
|
|
1660
|
-
return
|
|
1671
|
+
return K.debug(`Parsed ${e.totalCount} symbolic items (${e.polylineCount} polylines, ${e.circleCount} circles)`, {
|
|
1661
1672
|
operation: "parseSymbolicRepresentations"
|
|
1662
1673
|
}), e;
|
|
1663
1674
|
} catch (e) {
|
|
1664
|
-
throw
|
|
1675
|
+
throw K.error("Failed to parse symbolic representations", e, {
|
|
1665
1676
|
operation: "parseSymbolicRepresentations",
|
|
1666
1677
|
data: {
|
|
1667
1678
|
contentLength: t.length
|
|
@@ -1673,11 +1684,11 @@ let __tla = Promise.all([
|
|
|
1673
1684
|
if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
|
|
1674
1685
|
try {
|
|
1675
1686
|
const n = this.ifcApi.extractProfiles(t, e);
|
|
1676
|
-
return
|
|
1687
|
+
return K.debug(`Extracted ${n.length} profiles`, {
|
|
1677
1688
|
operation: "extractProfiles"
|
|
1678
1689
|
}), n;
|
|
1679
1690
|
} catch (n) {
|
|
1680
|
-
throw
|
|
1691
|
+
throw K.error("Failed to extract profiles", n, {
|
|
1681
1692
|
operation: "extractProfiles",
|
|
1682
1693
|
data: {
|
|
1683
1694
|
contentLength: t.length
|
|
@@ -1689,11 +1700,11 @@ let __tla = Promise.all([
|
|
|
1689
1700
|
if (!this.ifcApi) throw new Error("IFC-Lite not initialized. Call init() first.");
|
|
1690
1701
|
try {
|
|
1691
1702
|
const r = this.ifcApi.parseMeshesSubset(t, e, n, s);
|
|
1692
|
-
return
|
|
1703
|
+
return K.debug(`Parsed subset [${e}, ${n}) → ${r.length} meshes`, {
|
|
1693
1704
|
operation: "parseMeshesSubset"
|
|
1694
1705
|
}), r;
|
|
1695
1706
|
} catch (r) {
|
|
1696
|
-
throw
|
|
1707
|
+
throw K.error("Failed to parse IFC geometry subset", r, {
|
|
1697
1708
|
operation: "parseMeshesSubset",
|
|
1698
1709
|
data: {
|
|
1699
1710
|
contentLength: t.length,
|
|
@@ -1723,7 +1734,7 @@ let __tla = Promise.all([
|
|
|
1723
1734
|
if (!this.ifcApi) return;
|
|
1724
1735
|
const t = this.ifcApi;
|
|
1725
1736
|
if (typeof t.setMergeLayers != "function") {
|
|
1726
|
-
|
|
1737
|
+
K.warn("setMergeLayers not present on WASM API — flag tracked but suppression is a no-op until WASM is rebuilt", {
|
|
1727
1738
|
operation: "setMergeLayers",
|
|
1728
1739
|
data: {
|
|
1729
1740
|
requested: this.mergeLayers
|
|
@@ -1731,13 +1742,13 @@ let __tla = Promise.all([
|
|
|
1731
1742
|
});
|
|
1732
1743
|
return;
|
|
1733
1744
|
}
|
|
1734
|
-
t.setMergeLayers(this.mergeLayers),
|
|
1745
|
+
t.setMergeLayers(this.mergeLayers), K.debug(`mergeLayers=${this.mergeLayers}`, {
|
|
1735
1746
|
operation: "setMergeLayers"
|
|
1736
1747
|
});
|
|
1737
1748
|
}
|
|
1738
1749
|
};
|
|
1739
|
-
const
|
|
1740
|
-
|
|
1750
|
+
const ct = on("MeshCollector");
|
|
1751
|
+
se = class {
|
|
1741
1752
|
ifcApi;
|
|
1742
1753
|
content;
|
|
1743
1754
|
_buildingRotation;
|
|
@@ -1772,7 +1783,7 @@ let __tla = Promise.all([
|
|
|
1772
1783
|
try {
|
|
1773
1784
|
t = this.ifcApi.parseMeshes(this.content);
|
|
1774
1785
|
} catch (r) {
|
|
1775
|
-
throw
|
|
1786
|
+
throw ct.error("WASM mesh parsing failed", r, {
|
|
1776
1787
|
operation: "collectMeshes"
|
|
1777
1788
|
}), r;
|
|
1778
1789
|
}
|
|
@@ -1790,17 +1801,25 @@ let __tla = Promise.all([
|
|
|
1790
1801
|
c[1],
|
|
1791
1802
|
c[2],
|
|
1792
1803
|
c[3]
|
|
1793
|
-
]
|
|
1804
|
+
], d = a.shadingColor, f = d && d.length === 4 ? [
|
|
1805
|
+
d[0],
|
|
1806
|
+
d[1],
|
|
1807
|
+
d[2],
|
|
1808
|
+
d[3]
|
|
1809
|
+
] : void 0;
|
|
1794
1810
|
e.push({
|
|
1795
1811
|
expressId: a.expressId,
|
|
1796
1812
|
ifcType: a.ifcType,
|
|
1797
1813
|
positions: a.positions,
|
|
1798
1814
|
normals: a.normals,
|
|
1799
1815
|
indices: a.indices,
|
|
1800
|
-
color: l
|
|
1816
|
+
color: l,
|
|
1817
|
+
...f ? {
|
|
1818
|
+
shadingColor: f
|
|
1819
|
+
} : {}
|
|
1801
1820
|
}), a.free(), a = null;
|
|
1802
1821
|
} catch (c) {
|
|
1803
|
-
if (n++,
|
|
1822
|
+
if (n++, ct.caught(`Failed to process mesh ${r}`, c, {
|
|
1804
1823
|
operation: "collectMeshes"
|
|
1805
1824
|
}), a) try {
|
|
1806
1825
|
a.free();
|
|
@@ -1808,9 +1827,9 @@ let __tla = Promise.all([
|
|
|
1808
1827
|
}
|
|
1809
1828
|
}
|
|
1810
1829
|
const s = t.buildingRotation ?? void 0;
|
|
1811
|
-
return t.free(), n > 0 &&
|
|
1830
|
+
return t.free(), n > 0 && ct.warn(`Skipped ${n} meshes due to errors`, {
|
|
1812
1831
|
operation: "collectMeshes"
|
|
1813
|
-
}),
|
|
1832
|
+
}), ct.debug(`Collected ${e.length} meshes`, {
|
|
1814
1833
|
operation: "collectMeshes"
|
|
1815
1834
|
}), this._buildingRotation = s, e;
|
|
1816
1835
|
}
|
|
@@ -1825,43 +1844,43 @@ let __tla = Promise.all([
|
|
|
1825
1844
|
let c = 0, l = 0;
|
|
1826
1845
|
const d = this.ifcApi.parseMeshesAsync(this.content, {
|
|
1827
1846
|
batchSize: t,
|
|
1828
|
-
onRtcOffset: (
|
|
1847
|
+
onRtcOffset: (_)=>{
|
|
1829
1848
|
e.push({
|
|
1830
1849
|
type: "rtcOffset",
|
|
1831
1850
|
rtcOffset: {
|
|
1832
|
-
x:
|
|
1833
|
-
y:
|
|
1834
|
-
z:
|
|
1851
|
+
x: _.x,
|
|
1852
|
+
y: _.y,
|
|
1853
|
+
z: _.z
|
|
1835
1854
|
},
|
|
1836
|
-
hasRtc:
|
|
1855
|
+
hasRtc: _.hasRtc
|
|
1837
1856
|
}), n && (n(), n = null);
|
|
1838
1857
|
},
|
|
1839
|
-
onColorUpdate: (
|
|
1840
|
-
for (const [p, g] of
|
|
1858
|
+
onColorUpdate: (_)=>{
|
|
1859
|
+
for (const [p, g] of _)a.set(p, g);
|
|
1841
1860
|
e.push({
|
|
1842
1861
|
type: "colorUpdate",
|
|
1843
|
-
updates: new Map(
|
|
1862
|
+
updates: new Map(_)
|
|
1844
1863
|
}), n && (n(), n = null);
|
|
1845
1864
|
},
|
|
1846
|
-
onBatch: (
|
|
1865
|
+
onBatch: (_, p)=>{
|
|
1847
1866
|
const g = [];
|
|
1848
|
-
for (const u of
|
|
1849
|
-
const
|
|
1867
|
+
for (const u of _)try {
|
|
1868
|
+
const h = u.expressId, m = a.get(h) ?? [
|
|
1850
1869
|
u.color[0],
|
|
1851
1870
|
u.color[1],
|
|
1852
1871
|
u.color[2],
|
|
1853
1872
|
u.color[3]
|
|
1854
1873
|
];
|
|
1855
1874
|
g.push({
|
|
1856
|
-
expressId:
|
|
1875
|
+
expressId: h,
|
|
1857
1876
|
ifcType: u.ifcType,
|
|
1858
1877
|
positions: u.positions,
|
|
1859
1878
|
normals: u.normals,
|
|
1860
1879
|
indices: u.indices,
|
|
1861
1880
|
color: m
|
|
1862
1881
|
}), u.free(), c++;
|
|
1863
|
-
} catch (
|
|
1864
|
-
l++,
|
|
1882
|
+
} catch (h) {
|
|
1883
|
+
l++, ct.caught(`Failed to process mesh #${u.expressId}`, h, {
|
|
1865
1884
|
operation: "collectMeshesStreaming",
|
|
1866
1885
|
entityId: u.expressId
|
|
1867
1886
|
});
|
|
@@ -1871,13 +1890,13 @@ let __tla = Promise.all([
|
|
|
1871
1890
|
}
|
|
1872
1891
|
g.length > 0 && e.push(g), n && (n(), n = null);
|
|
1873
1892
|
},
|
|
1874
|
-
onComplete: (
|
|
1875
|
-
s = !0,
|
|
1893
|
+
onComplete: (_)=>{
|
|
1894
|
+
s = !0, _.buildingRotation !== void 0 && (this._buildingRotation = _.buildingRotation), ct.debug(`Streaming complete: ${_.totalMeshes} meshes, ${_.totalVertices} vertices, ${_.totalTriangles} triangles`, {
|
|
1876
1895
|
operation: "collectMeshesStreaming"
|
|
1877
|
-
}), l > 0 &&
|
|
1896
|
+
}), l > 0 && ct.warn(`Skipped ${l} meshes due to errors`, {
|
|
1878
1897
|
operation: "collectMeshesStreaming"
|
|
1879
1898
|
});
|
|
1880
|
-
const p =
|
|
1899
|
+
const p = _.csgDiagnostics;
|
|
1881
1900
|
if (p) {
|
|
1882
1901
|
const g = p.totalFailures ?? 0;
|
|
1883
1902
|
if (g > 0) {
|
|
@@ -1887,23 +1906,23 @@ let __tla = Promise.all([
|
|
|
1887
1906
|
}
|
|
1888
1907
|
n && (n(), n = null);
|
|
1889
1908
|
}
|
|
1890
|
-
}).catch((
|
|
1891
|
-
r =
|
|
1909
|
+
}).catch((_)=>{
|
|
1910
|
+
r = _ instanceof Error ? _ : new Error(String(_)), ct.error("WASM streaming parsing failed", r, {
|
|
1892
1911
|
operation: "collectMeshesStreaming"
|
|
1893
1912
|
}), s = !0, n && (n(), n = null);
|
|
1894
1913
|
});
|
|
1895
|
-
let
|
|
1914
|
+
let f = 0;
|
|
1896
1915
|
for(;;){
|
|
1897
|
-
for(; e.length > 0;)
|
|
1916
|
+
for(; e.length > 0;)f++, yield e.shift();
|
|
1898
1917
|
if (r) throw r;
|
|
1899
1918
|
if (s && e.length === 0) break;
|
|
1900
|
-
await new Promise((
|
|
1901
|
-
n =
|
|
1919
|
+
await new Promise((_)=>{
|
|
1920
|
+
n = _;
|
|
1902
1921
|
});
|
|
1903
1922
|
}
|
|
1904
|
-
if (
|
|
1905
|
-
const
|
|
1906
|
-
|
|
1923
|
+
if (f === 0 && this.content.length > 1e3) {
|
|
1924
|
+
const _ = (this.content.length / 1048576).toFixed(1);
|
|
1925
|
+
ct.warn(`WASM streaming returned 0 batches for ${_}MB file - this may indicate insufficient memory for large file processing`, {
|
|
1907
1926
|
operation: "collectMeshesStreaming",
|
|
1908
1927
|
data: {
|
|
1909
1928
|
contentLength: this.content.length
|
|
@@ -1936,7 +1955,7 @@ let __tla = Promise.all([
|
|
|
1936
1955
|
s = !0, n && (n(), n = null);
|
|
1937
1956
|
}
|
|
1938
1957
|
}).catch((l)=>{
|
|
1939
|
-
r = l instanceof Error ? l : new Error(String(l)),
|
|
1958
|
+
r = l instanceof Error ? l : new Error(String(l)), ct.error("WASM instanced streaming parsing failed", r, {
|
|
1940
1959
|
operation: "collectInstancedGeometryStreaming"
|
|
1941
1960
|
}), s = !0, n && (n(), n = null);
|
|
1942
1961
|
});
|
|
@@ -1951,7 +1970,7 @@ let __tla = Promise.all([
|
|
|
1951
1970
|
}
|
|
1952
1971
|
if (c === 0 && this.content.length > 1e3) {
|
|
1953
1972
|
const l = (this.content.length / 1048576).toFixed(1);
|
|
1954
|
-
|
|
1973
|
+
ct.warn(`WASM instanced streaming returned 0 batches for ${l}MB file - this may indicate insufficient memory for large file processing`, {
|
|
1955
1974
|
operation: "collectInstancedGeometryStreaming",
|
|
1956
1975
|
data: {
|
|
1957
1976
|
contentLength: this.content.length
|
|
@@ -1964,10 +1983,10 @@ let __tla = Promise.all([
|
|
|
1964
1983
|
function _n() {
|
|
1965
1984
|
return typeof window < "u" && "__TAURI_INTERNALS__" in window;
|
|
1966
1985
|
}
|
|
1967
|
-
async function
|
|
1986
|
+
async function vn() {
|
|
1968
1987
|
if (_n()) {
|
|
1969
1988
|
const { NativeBridge: i } = await Ae(async ()=>{
|
|
1970
|
-
const { NativeBridge: t } = await import("./native-bridge-
|
|
1989
|
+
const { NativeBridge: t } = await import("./native-bridge-BVf2uzoH.js").then(async (m)=>{
|
|
1971
1990
|
await m.__tla;
|
|
1972
1991
|
return m;
|
|
1973
1992
|
});
|
|
@@ -1978,7 +1997,7 @@ let __tla = Promise.all([
|
|
|
1978
1997
|
return new i;
|
|
1979
1998
|
} else {
|
|
1980
1999
|
const { WasmBridge: i } = await Ae(async ()=>{
|
|
1981
|
-
const { WasmBridge: t } = await import("./wasm-bridge-
|
|
2000
|
+
const { WasmBridge: t } = await import("./wasm-bridge-BAfZh7YT.js");
|
|
1982
2001
|
return {
|
|
1983
2002
|
WasmBridge: t
|
|
1984
2003
|
};
|
|
@@ -1986,7 +2005,7 @@ let __tla = Promise.all([
|
|
|
1986
2005
|
return new i;
|
|
1987
2006
|
}
|
|
1988
2007
|
}
|
|
1989
|
-
class
|
|
2008
|
+
class Dn {
|
|
1990
2009
|
buildInterleavedBuffer(t) {
|
|
1991
2010
|
const e = t.positions.length / 3, n = new Float32Array(e * 6);
|
|
1992
2011
|
for(let s = 0; s < e; s++){
|
|
@@ -2038,8 +2057,8 @@ let __tla = Promise.all([
|
|
|
2038
2057
|
for (const r of t){
|
|
2039
2058
|
const a = r.positions;
|
|
2040
2059
|
for(let c = 0; c < a.length; c += 3){
|
|
2041
|
-
const l = a[c], d = a[c + 1],
|
|
2042
|
-
Number.isFinite(l) && Number.isFinite(d) && Number.isFinite(
|
|
2060
|
+
const l = a[c], d = a[c + 1], f = a[c + 2];
|
|
2061
|
+
Number.isFinite(l) && Number.isFinite(d) && Number.isFinite(f) && Math.abs(l) < s && Math.abs(d) < s && Math.abs(f) < s && (n.min.x = Math.min(n.min.x, l), n.min.y = Math.min(n.min.y, d), n.min.z = Math.min(n.min.z, f), n.max.x = Math.max(n.max.x, l), n.max.y = Math.max(n.max.y, d), n.max.z = Math.max(n.max.z, f));
|
|
2043
2062
|
}
|
|
2044
2063
|
}
|
|
2045
2064
|
return n;
|
|
@@ -2047,12 +2066,12 @@ let __tla = Promise.all([
|
|
|
2047
2066
|
calculateBoundsFast(t) {
|
|
2048
2067
|
let e = 1 / 0, n = 1 / 0, s = 1 / 0, r = -1 / 0, a = -1 / 0, c = -1 / 0;
|
|
2049
2068
|
for (const l of t){
|
|
2050
|
-
const d = l.positions,
|
|
2051
|
-
if (
|
|
2052
|
-
const
|
|
2053
|
-
if (
|
|
2054
|
-
const u = d[
|
|
2055
|
-
u < e && (e = u),
|
|
2069
|
+
const d = l.positions, f = d.length;
|
|
2070
|
+
if (f < 3) continue;
|
|
2071
|
+
const _ = d[0], p = d[1], g = d[2];
|
|
2072
|
+
if (_ < e && (e = _), p < n && (n = p), g < s && (s = g), _ > r && (r = _), p > a && (a = p), g > c && (c = g), f >= 6) {
|
|
2073
|
+
const u = d[f - 3], h = d[f - 2], m = d[f - 1];
|
|
2074
|
+
u < e && (e = u), h < n && (n = h), m < s && (s = m), u > r && (r = u), h > a && (a = h), m > c && (c = m);
|
|
2056
2075
|
}
|
|
2057
2076
|
}
|
|
2058
2077
|
return {
|
|
@@ -2190,15 +2209,15 @@ let __tla = Promise.all([
|
|
|
2190
2209
|
z: this.accumulatedBounds.max.z - this.accumulatedBounds.min.z
|
|
2191
2210
|
}, r = Math.max(s.x, s.y, s.z), a = this.calculateCentroid(this.accumulatedBounds), c = Math.sqrt(a.x ** 2 + a.y ** 2 + a.z ** 2);
|
|
2192
2211
|
let l = 0, d = 0;
|
|
2193
|
-
const
|
|
2212
|
+
const f = this.THRESHOLD;
|
|
2194
2213
|
for (const g of t){
|
|
2195
2214
|
const u = g.positions;
|
|
2196
2215
|
if (u.length >= 3) {
|
|
2197
|
-
const
|
|
2198
|
-
Math.max(
|
|
2216
|
+
const h = Math.abs(u[0]), m = Math.abs(u[1]), w = Math.abs(u[2]);
|
|
2217
|
+
Math.max(h, m, w) < f ? l++ : d++;
|
|
2199
2218
|
}
|
|
2200
2219
|
}
|
|
2201
|
-
const
|
|
2220
|
+
const _ = l + d, p = _ > 0 && l / _ > .5;
|
|
2202
2221
|
p && (this.wasmRtcDetected = !0, this.accumulatedBounds = this.calculateBounds(t, this.NORMAL_COORD_THRESHOLD)), (c > this.THRESHOLD || r > this.THRESHOLD) && !p && (this.originShift = a);
|
|
2203
2222
|
}
|
|
2204
2223
|
this.shiftCalculated = !0;
|
|
@@ -2279,7 +2298,7 @@ let __tla = Promise.all([
|
|
|
2279
2298
|
};
|
|
2280
2299
|
let l;
|
|
2281
2300
|
e >= 16 && s >= 16 ? l = Math.min(c, Math.floor(e / 2)) : e >= 12 && s >= 8 ? l = t > 512 ? 4 : 5 : e >= 10 && s >= 8 ? l = t > 512 ? 3 : 4 : e >= 8 && s >= 8 ? l = t > 512 ? 2 : 3 : l = Math.max(1, Math.min(2, Math.floor(e / 2)));
|
|
2282
|
-
const d = s * 1024,
|
|
2301
|
+
const d = s * 1024, f = Math.max(1024, d * .25), _ = t * 2.5, p = Math.max(64, t * 1.5), g = d - f - _, u = g > 0 ? Math.max(1, Math.floor(g / p)) : 1, h = [
|
|
2283
2302
|
{
|
|
2284
2303
|
value: l,
|
|
2285
2304
|
reason: "cores"
|
|
@@ -2297,8 +2316,8 @@ let __tla = Promise.all([
|
|
|
2297
2316
|
reason: "max"
|
|
2298
2317
|
}
|
|
2299
2318
|
];
|
|
2300
|
-
let m =
|
|
2301
|
-
for(let
|
|
2319
|
+
let m = h[0];
|
|
2320
|
+
for(let w = 1; w < h.length; w++)h[w].value < m.value && (m = h[w]);
|
|
2302
2321
|
return m.value < a ? {
|
|
2303
2322
|
count: a,
|
|
2304
2323
|
reason: "min"
|
|
@@ -2310,12 +2329,12 @@ let __tla = Promise.all([
|
|
|
2310
2329
|
function Vn(i) {
|
|
2311
2330
|
return zn(i).count;
|
|
2312
2331
|
}
|
|
2313
|
-
const jn = 3e4, kn = 15e3, Wn = 15e3,
|
|
2332
|
+
const jn = 3e4, kn = 15e3, Wn = 15e3, Hn = 5e3, Yn = 60, Xn = 30, Jn = 30, Qn = 15;
|
|
2314
2333
|
Ns = function(i) {
|
|
2315
|
-
const t = i.desktopStableWasm === !0, e = Math.max(0, Math.floor(i.batchCount)), n = Math.max(0, i.fileSizeMB), s = e > 0 ? t ?
|
|
2334
|
+
const t = i.desktopStableWasm === !0, e = Math.max(0, Math.floor(i.batchCount)), n = Math.max(0, i.fileSizeMB), s = e > 0 ? t ? Hn : Wn : t ? kn : jn, r = e > 0 ? t ? Qn : Jn : t ? Xn : Yn;
|
|
2316
2335
|
return Math.max(s, Math.round(s + n * r));
|
|
2317
2336
|
};
|
|
2318
|
-
function
|
|
2337
|
+
function qn(i, t) {
|
|
2319
2338
|
const e = [
|
|
2320
2339
|
i.length,
|
|
2321
2340
|
t.length
|
|
@@ -2332,7 +2351,7 @@ let __tla = Promise.all([
|
|
|
2332
2351
|
As = function(i) {
|
|
2333
2352
|
const t = new Map;
|
|
2334
2353
|
for (const e of i){
|
|
2335
|
-
const n =
|
|
2354
|
+
const n = qn(e.positions, e.indices), s = t.get(n);
|
|
2336
2355
|
s ? s.instances.push({
|
|
2337
2356
|
expressId: e.expressId,
|
|
2338
2357
|
color: e.color
|
|
@@ -2351,17 +2370,23 @@ let __tla = Promise.all([
|
|
|
2351
2370
|
}
|
|
2352
2371
|
return Array.from(t.values());
|
|
2353
2372
|
};
|
|
2354
|
-
function
|
|
2373
|
+
function ge(i, t) {
|
|
2355
2374
|
if (typeof t == "number") return t;
|
|
2356
2375
|
const e = t.fileSizeMB ? t.fileSizeMB : i.length / (1024 * 1024);
|
|
2357
2376
|
return e < 10 ? 100 : e < 50 ? 200 : e < 100 ? 300 : e < 300 ? 500 : e < 500 ? 1500 : 3e3;
|
|
2358
2377
|
}
|
|
2359
|
-
function
|
|
2378
|
+
function Kn(i) {
|
|
2360
2379
|
const t = [];
|
|
2361
2380
|
try {
|
|
2362
2381
|
for(let e = 0; e < i.length; e++){
|
|
2363
2382
|
const n = i.get(e);
|
|
2364
2383
|
if (n) try {
|
|
2384
|
+
const s = n.shadingColor, r = s && s.length === 4 ? [
|
|
2385
|
+
s[0],
|
|
2386
|
+
s[1],
|
|
2387
|
+
s[2],
|
|
2388
|
+
s[3]
|
|
2389
|
+
] : void 0;
|
|
2365
2390
|
t.push({
|
|
2366
2391
|
expressId: n.expressId,
|
|
2367
2392
|
ifcType: n.ifcType,
|
|
@@ -2373,7 +2398,10 @@ let __tla = Promise.all([
|
|
|
2373
2398
|
n.color[1],
|
|
2374
2399
|
n.color[2],
|
|
2375
2400
|
n.color[3]
|
|
2376
|
-
]
|
|
2401
|
+
],
|
|
2402
|
+
...r ? {
|
|
2403
|
+
shadingColor: r
|
|
2404
|
+
} : {}
|
|
2377
2405
|
});
|
|
2378
2406
|
} finally{
|
|
2379
2407
|
n.free();
|
|
@@ -2384,7 +2412,7 @@ let __tla = Promise.all([
|
|
|
2384
2412
|
}
|
|
2385
2413
|
return t;
|
|
2386
2414
|
}
|
|
2387
|
-
function
|
|
2415
|
+
function Zn(i) {
|
|
2388
2416
|
const t = [];
|
|
2389
2417
|
try {
|
|
2390
2418
|
for(let e = 0; e < i.length; e++){
|
|
@@ -2396,7 +2424,7 @@ let __tla = Promise.all([
|
|
|
2396
2424
|
}
|
|
2397
2425
|
return t;
|
|
2398
2426
|
}
|
|
2399
|
-
function
|
|
2427
|
+
function St(i, t) {
|
|
2400
2428
|
return t !== void 0 ? {
|
|
2401
2429
|
...i,
|
|
2402
2430
|
buildingRotation: t
|
|
@@ -2426,7 +2454,7 @@ let __tla = Promise.all([
|
|
|
2426
2454
|
} else i.push(t);
|
|
2427
2455
|
e.queuedMeshes += t.meshes.length;
|
|
2428
2456
|
}
|
|
2429
|
-
async function*
|
|
2457
|
+
async function* Qe(i, t, e, n) {
|
|
2430
2458
|
e.reset(), yield {
|
|
2431
2459
|
type: "start",
|
|
2432
2460
|
totalEstimate: t
|
|
@@ -2438,8 +2466,8 @@ let __tla = Promise.all([
|
|
|
2438
2466
|
queuedMeshes: 0,
|
|
2439
2467
|
coalescedBatchCount: 0
|
|
2440
2468
|
};
|
|
2441
|
-
let a = null, c = !1, l = null, d,
|
|
2442
|
-
const
|
|
2469
|
+
let a = null, c = !1, l = null, d, f = 0;
|
|
2470
|
+
const _ = ()=>{
|
|
2443
2471
|
a && (a(), a = null);
|
|
2444
2472
|
}, p = i({
|
|
2445
2473
|
onBatch: (u)=>{
|
|
@@ -2447,52 +2475,52 @@ let __tla = Promise.all([
|
|
|
2447
2475
|
type: "batch",
|
|
2448
2476
|
meshes: u.meshes,
|
|
2449
2477
|
nativeTelemetry: u.nativeTelemetry
|
|
2450
|
-
}, r),
|
|
2478
|
+
}, r), _();
|
|
2451
2479
|
},
|
|
2452
2480
|
onColorUpdate: (u)=>{
|
|
2453
2481
|
Je(s, {
|
|
2454
2482
|
type: "colorUpdate",
|
|
2455
2483
|
updates: new Map(u)
|
|
2456
|
-
}, r),
|
|
2484
|
+
}, r), _();
|
|
2457
2485
|
},
|
|
2458
2486
|
onComplete: (u)=>{
|
|
2459
|
-
n(u), d = u.totalMeshes, c = !0,
|
|
2487
|
+
n(u), d = u.totalMeshes, c = !0, _();
|
|
2460
2488
|
},
|
|
2461
2489
|
onError: (u)=>{
|
|
2462
|
-
l = u, c = !0,
|
|
2490
|
+
l = u, c = !0, _();
|
|
2463
2491
|
}
|
|
2464
2492
|
});
|
|
2465
2493
|
for(; !c || s.length > 0;){
|
|
2466
|
-
let u = 0,
|
|
2494
|
+
let u = 0, h = 0, m = performance.now();
|
|
2467
2495
|
for(; s.length > 0;){
|
|
2468
|
-
const
|
|
2469
|
-
if (
|
|
2496
|
+
const w = s.shift();
|
|
2497
|
+
if (w.type === "colorUpdate") {
|
|
2470
2498
|
yield {
|
|
2471
2499
|
type: "colorUpdate",
|
|
2472
|
-
updates:
|
|
2500
|
+
updates: w.updates
|
|
2473
2501
|
};
|
|
2474
2502
|
continue;
|
|
2475
2503
|
}
|
|
2476
|
-
r.queuedMeshes = Math.max(0, r.queuedMeshes -
|
|
2477
|
-
const
|
|
2504
|
+
r.queuedMeshes = Math.max(0, r.queuedMeshes - w.meshes.length), e.processTrustedMeshesIncremental(w.meshes), f += w.meshes.length;
|
|
2505
|
+
const C = e.getCurrentCoordinateInfo();
|
|
2478
2506
|
yield {
|
|
2479
2507
|
type: "batch",
|
|
2480
|
-
meshes:
|
|
2481
|
-
totalSoFar:
|
|
2482
|
-
coordinateInfo:
|
|
2483
|
-
nativeTelemetry:
|
|
2484
|
-
}, u += 1,
|
|
2508
|
+
meshes: w.meshes,
|
|
2509
|
+
totalSoFar: f,
|
|
2510
|
+
coordinateInfo: C || void 0,
|
|
2511
|
+
nativeTelemetry: w.nativeTelemetry
|
|
2512
|
+
}, u += 1, h += w.meshes.length, s.length > 0 && (u >= ns || h >= ss || performance.now() - m >= rs) && (await Xe(), u = 0, h = 0, m = performance.now());
|
|
2485
2513
|
}
|
|
2486
2514
|
if (l) throw l;
|
|
2487
|
-
c || await new Promise((
|
|
2488
|
-
a =
|
|
2515
|
+
c || await new Promise((w)=>{
|
|
2516
|
+
a = w;
|
|
2489
2517
|
});
|
|
2490
2518
|
}
|
|
2491
2519
|
await p, r.coalescedBatchCount > 0 && console.info(`[GeometryProcessor] Coalesced ${r.coalescedBatchCount} native batches while JS drained the queue`);
|
|
2492
2520
|
const g = e.getFinalCoordinateInfo();
|
|
2493
2521
|
yield {
|
|
2494
2522
|
type: "complete",
|
|
2495
|
-
totalMeshes: d ??
|
|
2523
|
+
totalMeshes: d ?? f,
|
|
2496
2524
|
coordinateInfo: g
|
|
2497
2525
|
};
|
|
2498
2526
|
}
|
|
@@ -2507,39 +2535,39 @@ let __tla = Promise.all([
|
|
|
2507
2535
|
let r;
|
|
2508
2536
|
const a = i.buffer;
|
|
2509
2537
|
n && n.byteLength === i.byteLength ? r = n : typeof SharedArrayBuffer < "u" && a instanceof SharedArrayBuffer && i.byteOffset === 0 && i.byteLength === a.byteLength ? r = a : (r = new SharedArrayBuffer(i.byteLength), new Uint8Array(r).set(i));
|
|
2510
|
-
const c = s?.useSingleController === !0, l = ()=>c ? new Worker(new URL("/assets/geometry-controller.worker-
|
|
2538
|
+
const c = s?.useSingleController === !0, l = ()=>c ? new Worker(new URL("/assets/geometry-controller.worker-Cm5pvyR6.js", import.meta.url), {
|
|
2511
2539
|
type: "module"
|
|
2512
|
-
}) : new Worker(new URL("/assets/geometry.worker-
|
|
2540
|
+
}) : new Worker(new URL("/assets/geometry.worker-ClNvXIrj.js", import.meta.url), {
|
|
2513
2541
|
type: "module"
|
|
2514
|
-
}), d = ()=>new Worker(new URL("/assets/geometry.worker-
|
|
2542
|
+
}), d = ()=>new Worker(new URL("/assets/geometry.worker-ClNvXIrj.js", import.meta.url), {
|
|
2515
2543
|
type: "module"
|
|
2516
|
-
}),
|
|
2517
|
-
let
|
|
2544
|
+
}), f = [];
|
|
2545
|
+
let _ = null;
|
|
2518
2546
|
const p = ()=>{
|
|
2519
|
-
|
|
2547
|
+
_ && (_(), _ = null);
|
|
2520
2548
|
};
|
|
2521
|
-
let g = null, u = 0,
|
|
2522
|
-
const
|
|
2523
|
-
let
|
|
2524
|
-
const
|
|
2549
|
+
let g = null, u = 0, h = !1, m = null, w = null, C = 0, A = 0, P = !1, z = !1;
|
|
2550
|
+
const x = [];
|
|
2551
|
+
let v = !1, E = !1;
|
|
2552
|
+
const N = [], S = (U, X)=>{
|
|
2525
2553
|
U.onmessage = ($)=>{
|
|
2526
2554
|
const D = $.data;
|
|
2527
2555
|
if (D.type === "ready") {
|
|
2528
|
-
console.log(`[stream] worker[${
|
|
2556
|
+
console.log(`[stream] worker[${X}] WASM ready @ ${q()}ms`);
|
|
2529
2557
|
return;
|
|
2530
2558
|
}
|
|
2531
2559
|
if (D.type === "memory") {
|
|
2532
|
-
|
|
2560
|
+
f.push({
|
|
2533
2561
|
type: "workerMemory",
|
|
2534
|
-
workerIndex:
|
|
2562
|
+
workerIndex: X,
|
|
2535
2563
|
wasmHeapBytes: D.wasmHeapBytes,
|
|
2536
2564
|
meshBytes: D.meshBytes
|
|
2537
2565
|
}), p();
|
|
2538
2566
|
return;
|
|
2539
2567
|
}
|
|
2540
2568
|
if (D.type === "batch") {
|
|
2541
|
-
|
|
2542
|
-
const
|
|
2569
|
+
N[X] === void 0 && (N[X] = q(), console.log(`[stream] worker[${X}] first batch @ ${q()}ms (${D.meshes?.length ?? 0} meshes)`));
|
|
2570
|
+
const J = D.meshes.map((V)=>({
|
|
2543
2571
|
expressId: V.expressId,
|
|
2544
2572
|
ifcType: V.ifcType,
|
|
2545
2573
|
positions: V.positions instanceof Float32Array ? V.positions : new Float32Array(V.positions),
|
|
@@ -2547,244 +2575,244 @@ let __tla = Promise.all([
|
|
|
2547
2575
|
indices: V.indices instanceof Uint32Array ? V.indices : new Uint32Array(V.indices),
|
|
2548
2576
|
color: V.color
|
|
2549
2577
|
}));
|
|
2550
|
-
if (
|
|
2551
|
-
|
|
2578
|
+
if (J.length > 0) {
|
|
2579
|
+
A += J.length, t.processMeshesIncremental(J);
|
|
2552
2580
|
const V = t.getCurrentCoordinateInfo();
|
|
2553
|
-
|
|
2581
|
+
f.push({
|
|
2554
2582
|
type: "batch",
|
|
2555
|
-
meshes:
|
|
2556
|
-
totalSoFar:
|
|
2583
|
+
meshes: J,
|
|
2584
|
+
totalSoFar: A,
|
|
2557
2585
|
coordinateInfo: V || void 0
|
|
2558
2586
|
}), p();
|
|
2559
2587
|
}
|
|
2560
2588
|
return;
|
|
2561
2589
|
}
|
|
2562
2590
|
if (D.type === "complete") {
|
|
2563
|
-
|
|
2591
|
+
C++, U.terminate(), p();
|
|
2564
2592
|
return;
|
|
2565
2593
|
}
|
|
2566
2594
|
if (D.type === "error") {
|
|
2567
|
-
|
|
2595
|
+
w = new Error(`Geometry worker error: ${D.message}`), C++, U.terminate(), p();
|
|
2568
2596
|
return;
|
|
2569
2597
|
}
|
|
2570
2598
|
}, U.onerror = ($)=>{
|
|
2571
|
-
|
|
2599
|
+
w = new Error(`Geometry worker failed: ${$.message}`), C++, U.terminate(), p();
|
|
2572
2600
|
};
|
|
2573
|
-
},
|
|
2574
|
-
fileSizeMB:
|
|
2575
|
-
cores:
|
|
2576
|
-
deviceMemoryGB:
|
|
2577
|
-
totalJobs:
|
|
2578
|
-
}),
|
|
2579
|
-
for(let U = 0; U <
|
|
2580
|
-
const
|
|
2581
|
-
|
|
2601
|
+
}, b = typeof navigator < "u" ? navigator.hardwareConcurrency ?? 2 : 2, y = typeof navigator < "u" ? navigator.deviceMemory ?? 8 : 8, T = i.byteLength / (1024 * 1024), I = Math.max(1, Math.ceil(T * 100)), M = c ? 1 : Vn({
|
|
2602
|
+
fileSizeMB: T,
|
|
2603
|
+
cores: b,
|
|
2604
|
+
deviceMemoryGB: y,
|
|
2605
|
+
totalJobs: I
|
|
2606
|
+
}), R = [];
|
|
2607
|
+
for(let U = 0; U < M; U++){
|
|
2608
|
+
const X = l();
|
|
2609
|
+
R.push(X), S(X, U);
|
|
2582
2610
|
const $ = c ? s?.wasmUrls?.wasmThreaded : s?.wasmUrls?.wasm;
|
|
2583
|
-
|
|
2611
|
+
X.postMessage({
|
|
2584
2612
|
type: "init",
|
|
2585
2613
|
...$ ? {
|
|
2586
2614
|
wasmUrl: $
|
|
2587
2615
|
} : {}
|
|
2588
|
-
}),
|
|
2616
|
+
}), X.postMessage({
|
|
2589
2617
|
type: "set-merge-layers",
|
|
2590
2618
|
enabled: s?.mergeLayers === !0
|
|
2591
2619
|
});
|
|
2592
2620
|
}
|
|
2593
|
-
const
|
|
2594
|
-
if (!
|
|
2595
|
-
|
|
2596
|
-
for (const U of
|
|
2621
|
+
const j = ()=>{
|
|
2622
|
+
if (!P) {
|
|
2623
|
+
P = !0;
|
|
2624
|
+
for (const U of R)try {
|
|
2597
2625
|
U.postMessage({
|
|
2598
2626
|
type: "stream-end"
|
|
2599
2627
|
});
|
|
2600
2628
|
} catch {}
|
|
2601
2629
|
}
|
|
2602
|
-
},
|
|
2603
|
-
if (
|
|
2604
|
-
|
|
2605
|
-
const U = e != null,
|
|
2606
|
-
|
|
2630
|
+
}, H = ()=>{
|
|
2631
|
+
if (z || !g) return;
|
|
2632
|
+
z = !0;
|
|
2633
|
+
const U = e != null, X = U ? e.x : g.rtcOffset[0], $ = U ? e.y : g.rtcOffset[1], D = U ? e.z : g.rtcOffset[2], J = U ? !0 : g.needsShift;
|
|
2634
|
+
f.push({
|
|
2607
2635
|
type: "rtcOffset",
|
|
2608
2636
|
rtcOffset: {
|
|
2609
|
-
x:
|
|
2637
|
+
x: X,
|
|
2610
2638
|
y: $,
|
|
2611
2639
|
z: D
|
|
2612
2640
|
},
|
|
2613
|
-
hasRtc:
|
|
2641
|
+
hasRtc: J
|
|
2614
2642
|
}), p();
|
|
2615
|
-
const V = new Uint32Array(0),
|
|
2616
|
-
for (const
|
|
2643
|
+
const V = new Uint32Array(0), it = new Uint8Array(0);
|
|
2644
|
+
for (const mt of R)mt.postMessage({
|
|
2617
2645
|
type: "stream-start",
|
|
2618
2646
|
sharedBuffer: r,
|
|
2619
2647
|
unitScale: g.unitScale,
|
|
2620
|
-
rtcX:
|
|
2648
|
+
rtcX: X,
|
|
2621
2649
|
rtcY: $,
|
|
2622
2650
|
rtcZ: D,
|
|
2623
|
-
needsShift:
|
|
2651
|
+
needsShift: J,
|
|
2624
2652
|
voidKeys: V,
|
|
2625
2653
|
voidCounts: V,
|
|
2626
2654
|
voidValues: V,
|
|
2627
2655
|
styleIds: V,
|
|
2628
|
-
styleColors:
|
|
2656
|
+
styleColors: it
|
|
2629
2657
|
});
|
|
2630
2658
|
};
|
|
2631
2659
|
function k(U) {
|
|
2632
|
-
if (
|
|
2633
|
-
const
|
|
2634
|
-
if (
|
|
2635
|
-
const $ = Math.ceil(
|
|
2660
|
+
if (R.length === 0 || U.length === 0) return;
|
|
2661
|
+
const X = Math.floor(U.length / 3);
|
|
2662
|
+
if (X === 0) return;
|
|
2663
|
+
const $ = Math.ceil(X / R.length);
|
|
2636
2664
|
try {
|
|
2637
|
-
for(let D = 0; D <
|
|
2638
|
-
const
|
|
2639
|
-
if (
|
|
2640
|
-
const
|
|
2641
|
-
|
|
2665
|
+
for(let D = 0; D < R.length; D++){
|
|
2666
|
+
const J = D * $ * 3, V = Math.min(J + $ * 3, U.length);
|
|
2667
|
+
if (J >= V) continue;
|
|
2668
|
+
const it = U.slice(J, V);
|
|
2669
|
+
R[D].postMessage({
|
|
2642
2670
|
type: "stream-chunk",
|
|
2643
|
-
jobsFlat:
|
|
2671
|
+
jobsFlat: it
|
|
2644
2672
|
}, [
|
|
2645
|
-
|
|
2673
|
+
it.buffer
|
|
2646
2674
|
]);
|
|
2647
2675
|
}
|
|
2648
2676
|
} catch (D) {
|
|
2649
|
-
|
|
2677
|
+
w = new Error(`Failed to dispatch jobs chunk: ${D instanceof Error ? D.message : String(D)}`), p();
|
|
2650
2678
|
}
|
|
2651
2679
|
}
|
|
2652
|
-
const
|
|
2653
|
-
if (!
|
|
2654
|
-
|
|
2680
|
+
const Y = (U)=>{
|
|
2681
|
+
if (!z || !v || !E) {
|
|
2682
|
+
x.push(U);
|
|
2655
2683
|
return;
|
|
2656
2684
|
}
|
|
2657
2685
|
k(U);
|
|
2658
|
-
},
|
|
2659
|
-
if (!(!
|
|
2660
|
-
},
|
|
2661
|
-
console.log(`[stream] processParallel start, fileSizeMB=${
|
|
2662
|
-
const
|
|
2663
|
-
s?.wasmUrls?.wasm &&
|
|
2686
|
+
}, W = ()=>{
|
|
2687
|
+
if (!(!z || !v || !E)) for(; x.length > 0;)k(x.shift());
|
|
2688
|
+
}, at = performance.now(), q = ()=>Math.round(performance.now() - at);
|
|
2689
|
+
console.log(`[stream] processParallel start, fileSizeMB=${T.toFixed(1)} workerCount=${M}`);
|
|
2690
|
+
const st = d();
|
|
2691
|
+
s?.wasmUrls?.wasm && st.postMessage({
|
|
2664
2692
|
type: "init",
|
|
2665
2693
|
wasmUrl: s.wasmUrls.wasm
|
|
2666
2694
|
});
|
|
2667
|
-
let
|
|
2668
|
-
|
|
2669
|
-
const
|
|
2670
|
-
if (
|
|
2671
|
-
|
|
2695
|
+
let ut = 0, lt = 0, dt = -1;
|
|
2696
|
+
st.onmessage = (U)=>{
|
|
2697
|
+
const X = U.data;
|
|
2698
|
+
if (X.type === "prepass-progress") {
|
|
2699
|
+
f.push({
|
|
2672
2700
|
type: "progress",
|
|
2673
2701
|
phase: "prepass"
|
|
2674
2702
|
}), p();
|
|
2675
2703
|
return;
|
|
2676
2704
|
}
|
|
2677
|
-
if (
|
|
2678
|
-
const $ =
|
|
2705
|
+
if (X.type === "prepass-stream") {
|
|
2706
|
+
const $ = X.event;
|
|
2679
2707
|
if ($.type === "meta") g = {
|
|
2680
2708
|
unitScale: $.unitScale,
|
|
2681
2709
|
rtcOffset: $.rtcOffset,
|
|
2682
2710
|
needsShift: $.needsShift,
|
|
2683
2711
|
buildingRotation: $.buildingRotation ?? null
|
|
2684
|
-
}, console.log(`[stream] meta @ ${
|
|
2712
|
+
}, console.log(`[stream] meta @ ${q()}ms unitScale=${g.unitScale} rtc=[${g.rtcOffset[0].toFixed(0)},${g.rtcOffset[1].toFixed(0)},${g.rtcOffset[2].toFixed(0)}]`), H(), p();
|
|
2685
2713
|
else if ($.type === "jobs") {
|
|
2686
|
-
const D = $.jobs,
|
|
2687
|
-
|
|
2714
|
+
const D = $.jobs, J = Math.floor(D.length / 3);
|
|
2715
|
+
ut++, lt += J, dt < 0 && (dt = q(), console.log(`[stream] first jobs chunk @ ${dt}ms (${J} jobs)`)), (ut % 10 === 1 || J < 1e3) && console.log(`[stream] chunk #${ut} @ ${q()}ms (+${J} jobs, total ${lt})`), Y(D);
|
|
2688
2716
|
} else if ($.type === "styles") {
|
|
2689
|
-
const D = $.styleIds,
|
|
2690
|
-
console.log(`[stream] styles @ ${
|
|
2691
|
-
for (const
|
|
2692
|
-
const
|
|
2693
|
-
|
|
2717
|
+
const D = $.styleIds, J = $.styleColors, V = $.voidKeys, it = $.voidCounts, mt = $.voidValues;
|
|
2718
|
+
console.log(`[stream] styles @ ${q()}ms (${D.length} styled, ${V.length} void hosts), draining ${x.length} queued chunks`);
|
|
2719
|
+
for (const ce of R)try {
|
|
2720
|
+
const gt = D.slice(), wt = J.slice(), Ct = V.slice(), Tt = it.slice(), ne = mt.slice();
|
|
2721
|
+
ce.postMessage({
|
|
2694
2722
|
type: "set-styles",
|
|
2695
|
-
styleIds:
|
|
2696
|
-
styleColors:
|
|
2697
|
-
voidKeys:
|
|
2698
|
-
voidCounts:
|
|
2699
|
-
voidValues:
|
|
2723
|
+
styleIds: gt,
|
|
2724
|
+
styleColors: wt,
|
|
2725
|
+
voidKeys: Ct,
|
|
2726
|
+
voidCounts: Tt,
|
|
2727
|
+
voidValues: ne
|
|
2700
2728
|
}, [
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2729
|
+
gt.buffer,
|
|
2730
|
+
wt.buffer,
|
|
2731
|
+
Ct.buffer,
|
|
2732
|
+
Tt.buffer,
|
|
2733
|
+
ne.buffer
|
|
2706
2734
|
]);
|
|
2707
|
-
} catch (
|
|
2708
|
-
console.warn("[stream] set-styles dispatch failed:",
|
|
2735
|
+
} catch (gt) {
|
|
2736
|
+
console.warn("[stream] set-styles dispatch failed:", gt);
|
|
2709
2737
|
}
|
|
2710
|
-
|
|
2738
|
+
v = !0, W();
|
|
2711
2739
|
} else if ($.type === "entity-index") {
|
|
2712
|
-
const D = $.ids,
|
|
2713
|
-
if (console.log(`[stream] entity-index @ ${
|
|
2714
|
-
const
|
|
2715
|
-
new Uint32Array(
|
|
2716
|
-
for (const
|
|
2717
|
-
|
|
2740
|
+
const D = $.ids, J = $.starts, V = $.lengths;
|
|
2741
|
+
if (console.log(`[stream] entity-index @ ${q()}ms (${D.length} entries)`), typeof SharedArrayBuffer < "u") {
|
|
2742
|
+
const it = D.byteLength, mt = J.byteLength, ce = V.byteLength, gt = new SharedArrayBuffer(it), wt = new SharedArrayBuffer(mt), Ct = new SharedArrayBuffer(ce);
|
|
2743
|
+
new Uint32Array(gt).set(D), new Uint32Array(wt).set(J), new Uint32Array(Ct).set(V);
|
|
2744
|
+
for (const Tt of R)try {
|
|
2745
|
+
Tt.postMessage({
|
|
2718
2746
|
type: "set-entity-index",
|
|
2719
|
-
ids: new Uint32Array(
|
|
2720
|
-
starts: new Uint32Array(
|
|
2721
|
-
lengths: new Uint32Array(
|
|
2747
|
+
ids: new Uint32Array(gt),
|
|
2748
|
+
starts: new Uint32Array(wt),
|
|
2749
|
+
lengths: new Uint32Array(Ct)
|
|
2722
2750
|
});
|
|
2723
|
-
} catch (
|
|
2724
|
-
console.warn("[stream] set-entity-index dispatch failed:",
|
|
2751
|
+
} catch (ne) {
|
|
2752
|
+
console.warn("[stream] set-entity-index dispatch failed:", ne);
|
|
2725
2753
|
}
|
|
2726
2754
|
if (s?.onEntityIndex) try {
|
|
2727
|
-
s.onEntityIndex(new Uint32Array(
|
|
2728
|
-
} catch (
|
|
2729
|
-
console.warn("[stream] onEntityIndex callback failed:",
|
|
2755
|
+
s.onEntityIndex(new Uint32Array(gt), new Uint32Array(wt), new Uint32Array(Ct));
|
|
2756
|
+
} catch (Tt) {
|
|
2757
|
+
console.warn("[stream] onEntityIndex callback failed:", Tt);
|
|
2730
2758
|
}
|
|
2731
2759
|
} else {
|
|
2732
|
-
for (const
|
|
2733
|
-
|
|
2760
|
+
for (const it of R)try {
|
|
2761
|
+
it.postMessage({
|
|
2734
2762
|
type: "set-entity-index",
|
|
2735
2763
|
ids: D.slice(),
|
|
2736
|
-
starts:
|
|
2764
|
+
starts: J.slice(),
|
|
2737
2765
|
lengths: V.slice()
|
|
2738
2766
|
});
|
|
2739
|
-
} catch (
|
|
2740
|
-
console.warn("[stream] set-entity-index dispatch failed:",
|
|
2767
|
+
} catch (mt) {
|
|
2768
|
+
console.warn("[stream] set-entity-index dispatch failed:", mt);
|
|
2741
2769
|
}
|
|
2742
2770
|
if (s?.onEntityIndex) try {
|
|
2743
|
-
s.onEntityIndex(D.slice(),
|
|
2744
|
-
} catch (
|
|
2745
|
-
console.warn("[stream] onEntityIndex callback failed:",
|
|
2771
|
+
s.onEntityIndex(D.slice(), J.slice(), V.slice());
|
|
2772
|
+
} catch (it) {
|
|
2773
|
+
console.warn("[stream] onEntityIndex callback failed:", it);
|
|
2746
2774
|
}
|
|
2747
2775
|
}
|
|
2748
|
-
|
|
2749
|
-
} else $.type === "complete" && (u = $.totalJobs, console.log(`[stream] prepass complete @ ${
|
|
2776
|
+
E = !0, W();
|
|
2777
|
+
} else $.type === "complete" && (u = $.totalJobs, console.log(`[stream] prepass complete @ ${q()}ms totalJobs=${u} chunks=${ut}`), yt || (yt = !0, pt()));
|
|
2750
2778
|
return;
|
|
2751
2779
|
}
|
|
2752
|
-
if (
|
|
2753
|
-
m = new Error(
|
|
2780
|
+
if (X.type === "error") {
|
|
2781
|
+
m = new Error(X.message), h = !0, st.terminate(), p();
|
|
2754
2782
|
return;
|
|
2755
2783
|
}
|
|
2756
|
-
},
|
|
2757
|
-
m = new Error(`Pre-pass worker failed: ${U.message}`),
|
|
2784
|
+
}, st.onerror = (U)=>{
|
|
2785
|
+
m = new Error(`Pre-pass worker failed: ${U.message}`), h = !0, st.terminate(), p();
|
|
2758
2786
|
};
|
|
2759
|
-
const
|
|
2760
|
-
|
|
2787
|
+
const pt = ()=>{
|
|
2788
|
+
h = !0, z && j(), st.terminate(), p();
|
|
2761
2789
|
};
|
|
2762
|
-
|
|
2790
|
+
st.postMessage({
|
|
2763
2791
|
type: "prepass-streaming",
|
|
2764
2792
|
sharedBuffer: r,
|
|
2765
2793
|
chunkSize: 5e4
|
|
2766
2794
|
});
|
|
2767
|
-
let
|
|
2795
|
+
let yt = !1;
|
|
2768
2796
|
for(;;){
|
|
2769
|
-
for(;
|
|
2770
|
-
if (
|
|
2771
|
-
for (const U of
|
|
2797
|
+
for(; f.length > 0;)yield f.shift();
|
|
2798
|
+
if (w) {
|
|
2799
|
+
for (const U of R)try {
|
|
2772
2800
|
U.terminate();
|
|
2773
2801
|
} catch {}
|
|
2774
2802
|
try {
|
|
2775
|
-
|
|
2803
|
+
st.terminate();
|
|
2776
2804
|
} catch {}
|
|
2777
|
-
throw
|
|
2805
|
+
throw w;
|
|
2778
2806
|
}
|
|
2779
2807
|
if (m) {
|
|
2780
|
-
for (const U of
|
|
2808
|
+
for (const U of R)try {
|
|
2781
2809
|
U.terminate();
|
|
2782
2810
|
} catch {}
|
|
2783
2811
|
throw m;
|
|
2784
2812
|
}
|
|
2785
|
-
if (
|
|
2786
|
-
for (const
|
|
2787
|
-
|
|
2813
|
+
if (h && !z && u === 0) {
|
|
2814
|
+
for (const X of R)try {
|
|
2815
|
+
X.terminate();
|
|
2788
2816
|
} catch {}
|
|
2789
2817
|
yield {
|
|
2790
2818
|
type: "complete",
|
|
@@ -2793,26 +2821,26 @@ let __tla = Promise.all([
|
|
|
2793
2821
|
};
|
|
2794
2822
|
return;
|
|
2795
2823
|
}
|
|
2796
|
-
if (
|
|
2824
|
+
if (h && z && C >= R.length && f.length === 0) break;
|
|
2797
2825
|
await new Promise((U)=>{
|
|
2798
|
-
|
|
2826
|
+
_ = U;
|
|
2799
2827
|
});
|
|
2800
2828
|
}
|
|
2801
2829
|
const pn = t.getFinalCoordinateInfo();
|
|
2802
2830
|
yield {
|
|
2803
2831
|
type: "complete",
|
|
2804
|
-
totalMeshes:
|
|
2832
|
+
totalMeshes: A,
|
|
2805
2833
|
coordinateInfo: pn
|
|
2806
2834
|
};
|
|
2807
2835
|
}
|
|
2808
|
-
let
|
|
2809
|
-
function
|
|
2810
|
-
if (
|
|
2811
|
-
return
|
|
2812
|
-
|
|
2836
|
+
let Mt = null;
|
|
2837
|
+
function qe(i) {
|
|
2838
|
+
if (Mt) throw new Error(`GeometryProcessor ${i} cannot start while ${Mt} is still running. Wait for the active stream to finish, or cancel it before starting another geometry operation.`);
|
|
2839
|
+
return Mt = i, ()=>{
|
|
2840
|
+
Mt === i && (Mt = null);
|
|
2813
2841
|
};
|
|
2814
2842
|
}
|
|
2815
|
-
|
|
2843
|
+
Ce = class {
|
|
2816
2844
|
static largeFileByteStreamingThreshold = 256 * 1024 * 1024;
|
|
2817
2845
|
bridge = null;
|
|
2818
2846
|
platformBridge = null;
|
|
@@ -2822,10 +2850,10 @@ let __tla = Promise.all([
|
|
|
2822
2850
|
lastNativeStats = null;
|
|
2823
2851
|
mergeLayers;
|
|
2824
2852
|
constructor(t = {}){
|
|
2825
|
-
this.bufferBuilder = new
|
|
2853
|
+
this.bufferBuilder = new Dn, this.coordinateHandler = new Gn, this.isNative = t.preferNative !== !1 && _n(), this.mergeLayers = t.mergeLayers === !0, t.quality, this.isNative || (this.bridge = new Un, this.bridge.setMergeLayers(this.mergeLayers));
|
|
2826
2854
|
}
|
|
2827
2855
|
async init() {
|
|
2828
|
-
this.isNative ? (this.platformBridge = await
|
|
2856
|
+
this.isNative ? (this.platformBridge = await vn(), await this.platformBridge.init(), console.log("[GeometryProcessor] Native bridge initialized")) : this.bridge && await this.bridge.init();
|
|
2829
2857
|
}
|
|
2830
2858
|
async process(t, e) {
|
|
2831
2859
|
let n;
|
|
@@ -2834,15 +2862,15 @@ let __tla = Promise.all([
|
|
|
2834
2862
|
this.bridge?.isInitialized() || await this.init();
|
|
2835
2863
|
const c = await this.collectMeshesMainThread(t);
|
|
2836
2864
|
n = c.meshes;
|
|
2837
|
-
const l = this.coordinateHandler.processMeshes(n), d = c.buildingRotation,
|
|
2865
|
+
const l = this.coordinateHandler.processMeshes(n), d = c.buildingRotation, f = {
|
|
2838
2866
|
...l,
|
|
2839
2867
|
buildingRotation: d
|
|
2840
|
-
},
|
|
2868
|
+
}, _ = this.bufferBuilder.processMeshes(n);
|
|
2841
2869
|
return {
|
|
2842
|
-
meshes:
|
|
2843
|
-
totalTriangles:
|
|
2844
|
-
totalVertices:
|
|
2845
|
-
coordinateInfo:
|
|
2870
|
+
meshes: _.meshes,
|
|
2871
|
+
totalTriangles: _.totalTriangles,
|
|
2872
|
+
totalVertices: _.totalVertices,
|
|
2873
|
+
coordinateInfo: f
|
|
2846
2874
|
};
|
|
2847
2875
|
}
|
|
2848
2876
|
const s = this.coordinateHandler.processMeshes(n), r = this.bufferBuilder.processMeshes(n);
|
|
@@ -2866,7 +2894,7 @@ let __tla = Promise.all([
|
|
|
2866
2894
|
}
|
|
2867
2895
|
async collectMeshesMainThread(t, e) {
|
|
2868
2896
|
if (!this.bridge) throw new Error("WASM bridge not initialized");
|
|
2869
|
-
const n =
|
|
2897
|
+
const n = tt(t), s = new se(this.bridge.getApi(), n, {
|
|
2870
2898
|
mergeLayers: this.mergeLayers
|
|
2871
2899
|
}), r = s.collectMeshes(), a = s.getBuildingRotation();
|
|
2872
2900
|
return {
|
|
@@ -2894,33 +2922,33 @@ let __tla = Promise.all([
|
|
|
2894
2922
|
yield {
|
|
2895
2923
|
type: "complete",
|
|
2896
2924
|
totalMeshes: 0,
|
|
2897
|
-
coordinateInfo:
|
|
2925
|
+
coordinateInfo: St(this.coordinateHandler.getFinalCoordinateInfo(), r)
|
|
2898
2926
|
};
|
|
2899
2927
|
return;
|
|
2900
2928
|
}
|
|
2901
|
-
const a =
|
|
2929
|
+
const a = ge(t, e), l = Math.max(a, Math.ceil(s.totalJobs / 30));
|
|
2902
2930
|
let d = 0;
|
|
2903
|
-
for(let
|
|
2904
|
-
const p = Math.min(
|
|
2905
|
-
if (
|
|
2906
|
-
await new Promise((
|
|
2931
|
+
for(let _ = 0; _ < s.totalJobs; _ += l){
|
|
2932
|
+
const p = Math.min(_ + l, s.totalJobs), g = s.jobs.slice(_ * 3, p * 3), u = n.processGeometryBatch(t, g, s.unitScale, s.rtcOffset?.[0] ?? 0, s.rtcOffset?.[1] ?? 0, s.rtcOffset?.[2] ?? 0, s.needsShift, s.voidKeys, s.voidCounts, s.voidValues, s.styleIds, s.styleColors), h = Kn(u);
|
|
2933
|
+
if (h.length === 0) {
|
|
2934
|
+
await new Promise((C)=>setTimeout(C, 0));
|
|
2907
2935
|
continue;
|
|
2908
2936
|
}
|
|
2909
|
-
this.coordinateHandler.processMeshesIncremental(
|
|
2910
|
-
const m = this.coordinateHandler.getCurrentCoordinateInfo(),
|
|
2937
|
+
this.coordinateHandler.processMeshesIncremental(h), d += h.length;
|
|
2938
|
+
const m = this.coordinateHandler.getCurrentCoordinateInfo(), w = m ? St(m, r) : null;
|
|
2911
2939
|
yield {
|
|
2912
2940
|
type: "batch",
|
|
2913
|
-
meshes:
|
|
2941
|
+
meshes: h,
|
|
2914
2942
|
totalSoFar: d,
|
|
2915
|
-
coordinateInfo:
|
|
2916
|
-
}, await new Promise((
|
|
2943
|
+
coordinateInfo: w || void 0
|
|
2944
|
+
}, await new Promise((C)=>setTimeout(C, 0));
|
|
2917
2945
|
}
|
|
2918
2946
|
n.clearPrePassCache?.();
|
|
2919
|
-
const
|
|
2947
|
+
const f = St(this.coordinateHandler.getFinalCoordinateInfo(), r);
|
|
2920
2948
|
yield {
|
|
2921
2949
|
type: "complete",
|
|
2922
2950
|
totalMeshes: d,
|
|
2923
|
-
coordinateInfo:
|
|
2951
|
+
coordinateInfo: f
|
|
2924
2952
|
};
|
|
2925
2953
|
}
|
|
2926
2954
|
async *processInstancedStreamingBytes(t, e) {
|
|
@@ -2934,60 +2962,60 @@ let __tla = Promise.all([
|
|
|
2934
2962
|
type: "complete",
|
|
2935
2963
|
totalGeometries: 0,
|
|
2936
2964
|
totalInstances: 0,
|
|
2937
|
-
coordinateInfo:
|
|
2965
|
+
coordinateInfo: St(this.coordinateHandler.getFinalCoordinateInfo(), r)
|
|
2938
2966
|
};
|
|
2939
2967
|
return;
|
|
2940
2968
|
}
|
|
2941
2969
|
let a = 0, c = 0;
|
|
2942
2970
|
const d = Math.max(e, Math.ceil(s.totalJobs / 30));
|
|
2943
|
-
for(let
|
|
2944
|
-
const p = Math.min(
|
|
2945
|
-
if (
|
|
2946
|
-
await new Promise((
|
|
2971
|
+
for(let _ = 0; _ < s.totalJobs; _ += d){
|
|
2972
|
+
const p = Math.min(_ + d, s.totalJobs), g = s.jobs.slice(_ * 3, p * 3), u = n.processInstancedGeometryBatch(t, g, s.unitScale, s.rtcOffset?.[0] ?? 0, s.rtcOffset?.[1] ?? 0, s.rtcOffset?.[2] ?? 0, s.needsShift, s.styleIds, s.styleColors), h = Zn(u);
|
|
2973
|
+
if (h.length === 0) {
|
|
2974
|
+
await new Promise((A)=>setTimeout(A, 0));
|
|
2947
2975
|
continue;
|
|
2948
2976
|
}
|
|
2949
2977
|
const m = [];
|
|
2950
|
-
for (const
|
|
2951
|
-
const
|
|
2952
|
-
if (
|
|
2953
|
-
const
|
|
2954
|
-
if (
|
|
2955
|
-
const
|
|
2978
|
+
for (const A of h){
|
|
2979
|
+
const P = A.positions, z = A.normals, x = A.indices;
|
|
2980
|
+
if (A.instance_count > 0) {
|
|
2981
|
+
const v = A.get_instance(0);
|
|
2982
|
+
if (v) {
|
|
2983
|
+
const E = v.color;
|
|
2956
2984
|
m.push({
|
|
2957
|
-
expressId:
|
|
2958
|
-
positions:
|
|
2959
|
-
normals:
|
|
2960
|
-
indices:
|
|
2985
|
+
expressId: v.expressId,
|
|
2986
|
+
positions: P,
|
|
2987
|
+
normals: z,
|
|
2988
|
+
indices: x,
|
|
2961
2989
|
color: [
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2990
|
+
E[0],
|
|
2991
|
+
E[1],
|
|
2992
|
+
E[2],
|
|
2993
|
+
E[3]
|
|
2966
2994
|
]
|
|
2967
2995
|
});
|
|
2968
2996
|
}
|
|
2969
2997
|
}
|
|
2970
2998
|
}
|
|
2971
|
-
m.length > 0 && this.coordinateHandler.processMeshesIncremental(m), a +=
|
|
2972
|
-
const
|
|
2999
|
+
m.length > 0 && this.coordinateHandler.processMeshesIncremental(m), a += h.length, c += h.reduce((A, P)=>A + P.instance_count, 0);
|
|
3000
|
+
const w = this.coordinateHandler.getCurrentCoordinateInfo(), C = w ? St(w, r) : null;
|
|
2973
3001
|
yield {
|
|
2974
3002
|
type: "batch",
|
|
2975
|
-
geometries:
|
|
3003
|
+
geometries: h,
|
|
2976
3004
|
totalSoFar: a,
|
|
2977
|
-
coordinateInfo:
|
|
2978
|
-
}, await new Promise((
|
|
3005
|
+
coordinateInfo: C || void 0
|
|
3006
|
+
}, await new Promise((A)=>setTimeout(A, 0));
|
|
2979
3007
|
}
|
|
2980
3008
|
n.clearPrePassCache?.();
|
|
2981
|
-
const
|
|
3009
|
+
const f = St(this.coordinateHandler.getFinalCoordinateInfo(), r);
|
|
2982
3010
|
yield {
|
|
2983
3011
|
type: "complete",
|
|
2984
3012
|
totalGeometries: a,
|
|
2985
3013
|
totalInstances: c,
|
|
2986
|
-
coordinateInfo:
|
|
3014
|
+
coordinateInfo: f
|
|
2987
3015
|
};
|
|
2988
3016
|
}
|
|
2989
3017
|
async *processStreaming(t, e, n = 25, s) {
|
|
2990
|
-
const r = this.isNative ? null :
|
|
3018
|
+
const r = this.isNative ? null : qe("processStreaming");
|
|
2991
3019
|
try {
|
|
2992
3020
|
yield* this.processStreamingUnlocked(t, e, n, s);
|
|
2993
3021
|
} finally{
|
|
@@ -3004,8 +3032,8 @@ let __tla = Promise.all([
|
|
|
3004
3032
|
modelID: 0
|
|
3005
3033
|
}, console.time("[GeometryProcessor] native-streaming");
|
|
3006
3034
|
const r = [];
|
|
3007
|
-
let a = null, c = !1, l = null, d,
|
|
3008
|
-
const
|
|
3035
|
+
let a = null, c = !1, l = null, d, f = 0;
|
|
3036
|
+
const _ = ()=>{
|
|
3009
3037
|
a && (a(), a = null);
|
|
3010
3038
|
}, p = this.platformBridge.processGeometryStreaming(t, {
|
|
3011
3039
|
onBatch: (u)=>{
|
|
@@ -3013,19 +3041,19 @@ let __tla = Promise.all([
|
|
|
3013
3041
|
type: "batch",
|
|
3014
3042
|
meshes: u.meshes,
|
|
3015
3043
|
nativeTelemetry: u.nativeTelemetry
|
|
3016
|
-
}),
|
|
3044
|
+
}), _();
|
|
3017
3045
|
},
|
|
3018
3046
|
onColorUpdate: (u)=>{
|
|
3019
3047
|
r.push({
|
|
3020
3048
|
type: "colorUpdate",
|
|
3021
3049
|
updates: new Map(u)
|
|
3022
|
-
}),
|
|
3050
|
+
}), _();
|
|
3023
3051
|
},
|
|
3024
3052
|
onComplete: (u)=>{
|
|
3025
|
-
this.lastNativeStats = u, d = u.totalMeshes, c = !0,
|
|
3053
|
+
this.lastNativeStats = u, d = u.totalMeshes, c = !0, _();
|
|
3026
3054
|
},
|
|
3027
3055
|
onError: (u)=>{
|
|
3028
|
-
l = u, c = !0,
|
|
3056
|
+
l = u, c = !0, _();
|
|
3029
3057
|
}
|
|
3030
3058
|
});
|
|
3031
3059
|
for(; !c || r.length > 0;){
|
|
@@ -3038,13 +3066,13 @@ let __tla = Promise.all([
|
|
|
3038
3066
|
};
|
|
3039
3067
|
continue;
|
|
3040
3068
|
}
|
|
3041
|
-
this.coordinateHandler.processMeshesIncremental(u.meshes),
|
|
3042
|
-
const
|
|
3069
|
+
this.coordinateHandler.processMeshesIncremental(u.meshes), f += u.meshes.length;
|
|
3070
|
+
const h = this.coordinateHandler.getCurrentCoordinateInfo();
|
|
3043
3071
|
yield {
|
|
3044
3072
|
type: "batch",
|
|
3045
3073
|
meshes: u.meshes,
|
|
3046
|
-
totalSoFar:
|
|
3047
|
-
coordinateInfo:
|
|
3074
|
+
totalSoFar: f,
|
|
3075
|
+
coordinateInfo: h || void 0,
|
|
3048
3076
|
nativeTelemetry: u.nativeTelemetry
|
|
3049
3077
|
};
|
|
3050
3078
|
}
|
|
@@ -3057,25 +3085,25 @@ let __tla = Promise.all([
|
|
|
3057
3085
|
const g = this.coordinateHandler.getFinalCoordinateInfo();
|
|
3058
3086
|
yield {
|
|
3059
3087
|
type: "complete",
|
|
3060
|
-
totalMeshes: d ??
|
|
3088
|
+
totalMeshes: d ?? f,
|
|
3061
3089
|
coordinateInfo: g
|
|
3062
3090
|
}, console.timeEnd("[GeometryProcessor] native-streaming");
|
|
3063
3091
|
} else {
|
|
3064
3092
|
if (!this.bridge) throw new Error("WASM bridge not initialized");
|
|
3065
|
-
if (t.length >=
|
|
3093
|
+
if (t.length >= Ce.largeFileByteStreamingThreshold) {
|
|
3066
3094
|
yield* this.processStreamingBytes(t, n);
|
|
3067
3095
|
return;
|
|
3068
3096
|
}
|
|
3069
|
-
const r =
|
|
3097
|
+
const r = tt(t);
|
|
3070
3098
|
yield {
|
|
3071
3099
|
type: "model-open",
|
|
3072
3100
|
modelID: 0
|
|
3073
3101
|
};
|
|
3074
|
-
const a = new
|
|
3102
|
+
const a = new se(this.bridge.getApi(), r, {
|
|
3075
3103
|
mergeLayers: this.mergeLayers
|
|
3076
3104
|
});
|
|
3077
3105
|
let c = 0, l;
|
|
3078
|
-
const d =
|
|
3106
|
+
const d = ge(t, n);
|
|
3079
3107
|
for await (const p of a.collectMeshesStreaming(d)){
|
|
3080
3108
|
if (p && typeof p == "object" && "type" in p && p.type === "colorUpdate") {
|
|
3081
3109
|
yield {
|
|
@@ -3095,7 +3123,7 @@ let __tla = Promise.all([
|
|
|
3095
3123
|
}
|
|
3096
3124
|
const g = p;
|
|
3097
3125
|
this.coordinateHandler.processMeshesIncremental(g), c += g.length;
|
|
3098
|
-
const u = this.coordinateHandler.getCurrentCoordinateInfo(),
|
|
3126
|
+
const u = this.coordinateHandler.getCurrentCoordinateInfo(), h = u && l !== void 0 ? {
|
|
3099
3127
|
...u,
|
|
3100
3128
|
buildingRotation: l
|
|
3101
3129
|
} : u;
|
|
@@ -3103,37 +3131,37 @@ let __tla = Promise.all([
|
|
|
3103
3131
|
type: "batch",
|
|
3104
3132
|
meshes: g,
|
|
3105
3133
|
totalSoFar: c,
|
|
3106
|
-
coordinateInfo:
|
|
3134
|
+
coordinateInfo: h || void 0
|
|
3107
3135
|
};
|
|
3108
3136
|
}
|
|
3109
3137
|
l = a.getBuildingRotation();
|
|
3110
|
-
const
|
|
3111
|
-
...
|
|
3138
|
+
const f = this.coordinateHandler.getFinalCoordinateInfo(), _ = l !== void 0 ? {
|
|
3139
|
+
...f,
|
|
3112
3140
|
buildingRotation: l
|
|
3113
|
-
} :
|
|
3141
|
+
} : f;
|
|
3114
3142
|
yield {
|
|
3115
3143
|
type: "complete",
|
|
3116
3144
|
totalMeshes: c,
|
|
3117
|
-
coordinateInfo:
|
|
3145
|
+
coordinateInfo: _
|
|
3118
3146
|
};
|
|
3119
3147
|
}
|
|
3120
3148
|
}
|
|
3121
3149
|
async *processStreamingPath(t, e = 0, n) {
|
|
3122
3150
|
if (!this.isNative) throw new Error("File-path geometry streaming is only available in native desktop builds");
|
|
3123
3151
|
if (this.platformBridge || await this.init(), !this.platformBridge?.processGeometryStreamingPath) throw new Error("Native platform bridge does not support file-path streaming");
|
|
3124
|
-
yield*
|
|
3152
|
+
yield* Qe((s)=>this.platformBridge.processGeometryStreamingPath(t, s, n), e > 0 ? e / 1e3 : 0, this.coordinateHandler, (s)=>{
|
|
3125
3153
|
this.lastNativeStats = s;
|
|
3126
3154
|
});
|
|
3127
3155
|
}
|
|
3128
3156
|
async *processStreamingCache(t) {
|
|
3129
3157
|
if (!this.isNative) throw new Error("Native cached geometry streaming is only available in native desktop builds");
|
|
3130
3158
|
if (this.platformBridge || await this.init(), !this.platformBridge?.processGeometryStreamingCache) throw new Error("Native platform bridge does not support cached geometry streaming");
|
|
3131
|
-
yield*
|
|
3159
|
+
yield* Qe((e)=>this.platformBridge.processGeometryStreamingCache(t, e), 0, this.coordinateHandler, (e)=>{
|
|
3132
3160
|
this.lastNativeStats = e;
|
|
3133
3161
|
});
|
|
3134
3162
|
}
|
|
3135
3163
|
async *processInstancedStreaming(t, e = 25) {
|
|
3136
|
-
const n = this.isNative ? null :
|
|
3164
|
+
const n = this.isNative ? null : qe("processInstancedStreaming");
|
|
3137
3165
|
try {
|
|
3138
3166
|
yield* this.processInstancedStreamingUnlocked(t, e);
|
|
3139
3167
|
} finally{
|
|
@@ -3145,58 +3173,58 @@ let __tla = Promise.all([
|
|
|
3145
3173
|
type: "start",
|
|
3146
3174
|
totalEstimate: t.length / 1e3
|
|
3147
3175
|
};
|
|
3148
|
-
const n = t.length / (1024 * 1024), s = n < 50 ? e : n < 200 ? Math.max(e, 50) : n < 300 ? Math.max(e, 100) : Math.max(e, 200), r = Math.max(s,
|
|
3149
|
-
if (t.length >=
|
|
3176
|
+
const n = t.length / (1024 * 1024), s = n < 50 ? e : n < 200 ? Math.max(e, 50) : n < 300 ? Math.max(e, 100) : Math.max(e, 200), r = Math.max(s, ge(t, e));
|
|
3177
|
+
if (t.length >= Ce.largeFileByteStreamingThreshold) {
|
|
3150
3178
|
yield* this.processInstancedStreamingBytes(t, r);
|
|
3151
3179
|
return;
|
|
3152
3180
|
}
|
|
3153
|
-
const a =
|
|
3181
|
+
const a = tt(t);
|
|
3154
3182
|
yield {
|
|
3155
3183
|
type: "model-open",
|
|
3156
3184
|
modelID: 0
|
|
3157
3185
|
};
|
|
3158
|
-
const c = new
|
|
3186
|
+
const c = new se(this.bridge.getApi(), a, {
|
|
3159
3187
|
mergeLayers: this.mergeLayers
|
|
3160
3188
|
});
|
|
3161
3189
|
let l = 0, d = 0;
|
|
3162
|
-
for await (const
|
|
3190
|
+
for await (const _ of c.collectInstancedGeometryStreaming(s)){
|
|
3163
3191
|
const p = [];
|
|
3164
|
-
for (const u of
|
|
3165
|
-
const
|
|
3192
|
+
for (const u of _){
|
|
3193
|
+
const h = u.positions, m = u.normals, w = u.indices;
|
|
3166
3194
|
if (u.instance_count > 0) {
|
|
3167
|
-
const
|
|
3168
|
-
if (
|
|
3169
|
-
const
|
|
3195
|
+
const C = u.get_instance(0);
|
|
3196
|
+
if (C) {
|
|
3197
|
+
const A = C.color;
|
|
3170
3198
|
p.push({
|
|
3171
|
-
expressId:
|
|
3172
|
-
positions:
|
|
3199
|
+
expressId: C.expressId,
|
|
3200
|
+
positions: h,
|
|
3173
3201
|
normals: m,
|
|
3174
|
-
indices:
|
|
3202
|
+
indices: w,
|
|
3175
3203
|
color: [
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3204
|
+
A[0],
|
|
3205
|
+
A[1],
|
|
3206
|
+
A[2],
|
|
3207
|
+
A[3]
|
|
3180
3208
|
]
|
|
3181
3209
|
});
|
|
3182
3210
|
}
|
|
3183
3211
|
}
|
|
3184
3212
|
}
|
|
3185
|
-
p.length > 0 && this.coordinateHandler.processMeshesIncremental(p), l +=
|
|
3213
|
+
p.length > 0 && this.coordinateHandler.processMeshesIncremental(p), l += _.length, d += _.reduce((u, h)=>u + h.instance_count, 0);
|
|
3186
3214
|
const g = this.coordinateHandler.getCurrentCoordinateInfo();
|
|
3187
3215
|
yield {
|
|
3188
3216
|
type: "batch",
|
|
3189
|
-
geometries:
|
|
3217
|
+
geometries: _,
|
|
3190
3218
|
totalSoFar: l,
|
|
3191
3219
|
coordinateInfo: g || void 0
|
|
3192
3220
|
};
|
|
3193
3221
|
}
|
|
3194
|
-
const
|
|
3222
|
+
const f = this.coordinateHandler.getFinalCoordinateInfo();
|
|
3195
3223
|
yield {
|
|
3196
3224
|
type: "complete",
|
|
3197
3225
|
totalGeometries: l,
|
|
3198
3226
|
totalInstances: d,
|
|
3199
|
-
coordinateInfo:
|
|
3227
|
+
coordinateInfo: f
|
|
3200
3228
|
};
|
|
3201
3229
|
}
|
|
3202
3230
|
async *processParallel(t, e, n, s, r, a) {
|
|
@@ -3220,8 +3248,8 @@ let __tla = Promise.all([
|
|
|
3220
3248
|
let r;
|
|
3221
3249
|
if (this.isNative && this.platformBridge) console.time("[GeometryProcessor] native-adaptive-sync"), r = (await this.platformBridge.processGeometry(t)).meshes, console.timeEnd("[GeometryProcessor] native-adaptive-sync");
|
|
3222
3250
|
else {
|
|
3223
|
-
const c =
|
|
3224
|
-
r = new
|
|
3251
|
+
const c = tt(t);
|
|
3252
|
+
r = new se(this.bridge.getApi(), c, {
|
|
3225
3253
|
mergeLayers: this.mergeLayers
|
|
3226
3254
|
}).collectMeshes();
|
|
3227
3255
|
}
|
|
@@ -3247,17 +3275,17 @@ let __tla = Promise.all([
|
|
|
3247
3275
|
}
|
|
3248
3276
|
parseSymbolicRepresentations(t) {
|
|
3249
3277
|
if (!this.bridge || !this.bridge.isInitialized()) return null;
|
|
3250
|
-
const e =
|
|
3278
|
+
const e = tt(t);
|
|
3251
3279
|
return this.bridge.parseSymbolicRepresentations(e);
|
|
3252
3280
|
}
|
|
3253
3281
|
extractProfiles(t, e = 0) {
|
|
3254
3282
|
if (!this.bridge || !this.bridge.isInitialized()) return null;
|
|
3255
|
-
const n =
|
|
3283
|
+
const n = tt(t);
|
|
3256
3284
|
return this.bridge.extractProfiles(n, e);
|
|
3257
3285
|
}
|
|
3258
3286
|
dispose() {}
|
|
3259
3287
|
};
|
|
3260
|
-
|
|
3288
|
+
Os = class {
|
|
3261
3289
|
geometryResult;
|
|
3262
3290
|
constructor(t){
|
|
3263
3291
|
this.geometryResult = t;
|
|
@@ -3274,7 +3302,7 @@ let __tla = Promise.all([
|
|
|
3274
3302
|
};
|
|
3275
3303
|
}
|
|
3276
3304
|
buildGLTF(t) {
|
|
3277
|
-
const e = this.geometryResult.meshes, n = {
|
|
3305
|
+
const e = this.geometryResult.meshes, n = t.colorSource ?? "rendering", s = t.visibleOnly === !0, r = t.hiddenEntityIds ?? null, a = t.isolatedEntityIds ?? null, c = a !== null && a.size > 0, l = t.hiddenIfcTypes ?? null, d = (I)=>s ? !(l && I.ifcType && l.has(I.ifcType) || c && !a.has(I.expressId) || r && r.has(I.expressId)) : !0, f = (I)=>n === "shading" ? I.shadingColor ?? I.color : I.color, _ = {
|
|
3278
3306
|
asset: {
|
|
3279
3307
|
version: "2.0",
|
|
3280
3308
|
generator: "IFC-Lite"
|
|
@@ -3295,23 +3323,23 @@ let __tla = Promise.all([
|
|
|
3295
3323
|
}
|
|
3296
3324
|
]
|
|
3297
3325
|
};
|
|
3298
|
-
t.includeMetadata && (
|
|
3326
|
+
t.includeMetadata && (_.asset.extras = {
|
|
3299
3327
|
meshCount: e.length,
|
|
3300
3328
|
vertexCount: this.geometryResult.totalVertices,
|
|
3301
3329
|
triangleCount: this.geometryResult.totalTriangles
|
|
3302
3330
|
});
|
|
3303
|
-
const
|
|
3304
|
-
function
|
|
3305
|
-
const
|
|
3306
|
-
if (
|
|
3307
|
-
const
|
|
3308
|
-
return
|
|
3331
|
+
const p = new Map, g = [];
|
|
3332
|
+
function u(I) {
|
|
3333
|
+
const M = `${Math.round(I[0] * 100)},${Math.round(I[1] * 100)},${Math.round(I[2] * 100)},${Math.round(I[3] * 100)}`, R = p.get(M);
|
|
3334
|
+
if (R !== void 0) return R;
|
|
3335
|
+
const j = g.length;
|
|
3336
|
+
return g.push({
|
|
3309
3337
|
pbrMetallicRoughness: {
|
|
3310
3338
|
baseColorFactor: [
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3339
|
+
I[0],
|
|
3340
|
+
I[1],
|
|
3341
|
+
I[2],
|
|
3342
|
+
I[3]
|
|
3315
3343
|
],
|
|
3316
3344
|
metallicFactor: 0,
|
|
3317
3345
|
roughnessFactor: 1
|
|
@@ -3319,147 +3347,150 @@ let __tla = Promise.all([
|
|
|
3319
3347
|
extensions: {
|
|
3320
3348
|
KHR_materials_unlit: {}
|
|
3321
3349
|
},
|
|
3322
|
-
...
|
|
3350
|
+
...I[3] < 1 ? {
|
|
3323
3351
|
alphaMode: "BLEND"
|
|
3324
3352
|
} : {}
|
|
3325
|
-
}),
|
|
3326
|
-
}
|
|
3327
|
-
const
|
|
3328
|
-
let
|
|
3329
|
-
for(let
|
|
3330
|
-
const
|
|
3331
|
-
if (!
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3353
|
+
}), p.set(M, j), j;
|
|
3354
|
+
}
|
|
3355
|
+
const h = [];
|
|
3356
|
+
let m = 0, w = 0, C = 0;
|
|
3357
|
+
for(let I = 0; I < e.length; I++){
|
|
3358
|
+
const M = e[I];
|
|
3359
|
+
if (!d(M)) continue;
|
|
3360
|
+
const R = M.positions, j = M.normals, H = M.indices;
|
|
3361
|
+
if (!R.length || !j.length || !H.length || R.length % 3 !== 0 || j.length % 3 !== 0 || R.length !== j.length) continue;
|
|
3362
|
+
let k = R[0], Y = R[1], W = R[2], at = R[0], q = R[1], st = R[2];
|
|
3363
|
+
for(let lt = 3; lt < R.length; lt += 3){
|
|
3364
|
+
const dt = R[lt], pt = R[lt + 1], yt = R[lt + 2];
|
|
3365
|
+
dt < k && (k = dt), dt > at && (at = dt), pt < Y && (Y = pt), pt > q && (q = pt), yt < W && (W = yt), yt > st && (st = yt);
|
|
3336
3366
|
}
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3367
|
+
const ut = f(M);
|
|
3368
|
+
h.push({
|
|
3369
|
+
meshIndex: I,
|
|
3370
|
+
posCount: R.length,
|
|
3371
|
+
normCount: j.length,
|
|
3372
|
+
idxCount: H.length,
|
|
3373
|
+
posByteOffset: m * 4,
|
|
3374
|
+
normByteOffset: w * 4,
|
|
3375
|
+
idxByteOffset: C * 4,
|
|
3345
3376
|
bounds: {
|
|
3346
3377
|
min: [
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3378
|
+
k,
|
|
3379
|
+
Y,
|
|
3380
|
+
W
|
|
3350
3381
|
],
|
|
3351
3382
|
max: [
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3383
|
+
at,
|
|
3384
|
+
q,
|
|
3385
|
+
st
|
|
3355
3386
|
]
|
|
3356
3387
|
},
|
|
3357
|
-
materialIdx:
|
|
3358
|
-
}),
|
|
3359
|
-
}
|
|
3360
|
-
if (
|
|
3361
|
-
const
|
|
3362
|
-
let
|
|
3363
|
-
const
|
|
3364
|
-
for (const
|
|
3365
|
-
const
|
|
3366
|
-
|
|
3367
|
-
const
|
|
3368
|
-
|
|
3388
|
+
materialIdx: ut ? u(ut) : void 0
|
|
3389
|
+
}), m += R.length, w += j.length, C += H.length;
|
|
3390
|
+
}
|
|
3391
|
+
if (m === 0 || w === 0 || C === 0) throw new Error("Cannot export GLB: no valid geometry data found");
|
|
3392
|
+
const A = new Float32Array(m), P = new Float32Array(w), z = new Uint32Array(C);
|
|
3393
|
+
let x = 0, v = 0, E = 0;
|
|
3394
|
+
const N = [];
|
|
3395
|
+
for (const I of h){
|
|
3396
|
+
const M = e[I.meshIndex];
|
|
3397
|
+
A.set(M.positions, x), P.set(M.normals, v), z.set(M.indices, E), x += I.posCount, v += I.normCount, E += I.idxCount;
|
|
3398
|
+
const R = _.accessors.length;
|
|
3399
|
+
_.accessors.push({
|
|
3369
3400
|
bufferView: 0,
|
|
3370
|
-
byteOffset:
|
|
3401
|
+
byteOffset: I.posByteOffset,
|
|
3371
3402
|
componentType: 5126,
|
|
3372
|
-
count:
|
|
3403
|
+
count: I.posCount / 3,
|
|
3373
3404
|
type: "VEC3",
|
|
3374
|
-
min:
|
|
3375
|
-
max:
|
|
3405
|
+
min: I.bounds.min,
|
|
3406
|
+
max: I.bounds.max
|
|
3376
3407
|
});
|
|
3377
|
-
const
|
|
3378
|
-
|
|
3408
|
+
const j = _.accessors.length;
|
|
3409
|
+
_.accessors.push({
|
|
3379
3410
|
bufferView: 1,
|
|
3380
|
-
byteOffset:
|
|
3411
|
+
byteOffset: I.normByteOffset,
|
|
3381
3412
|
componentType: 5126,
|
|
3382
|
-
count:
|
|
3413
|
+
count: I.normCount / 3,
|
|
3383
3414
|
type: "VEC3"
|
|
3384
3415
|
});
|
|
3385
|
-
const
|
|
3386
|
-
|
|
3416
|
+
const H = _.accessors.length;
|
|
3417
|
+
_.accessors.push({
|
|
3387
3418
|
bufferView: 2,
|
|
3388
|
-
byteOffset:
|
|
3419
|
+
byteOffset: I.idxByteOffset,
|
|
3389
3420
|
componentType: 5125,
|
|
3390
|
-
count:
|
|
3421
|
+
count: I.idxCount,
|
|
3391
3422
|
type: "SCALAR"
|
|
3392
3423
|
});
|
|
3393
|
-
const
|
|
3394
|
-
|
|
3424
|
+
const k = _.meshes.length;
|
|
3425
|
+
_.meshes.push({
|
|
3395
3426
|
primitives: [
|
|
3396
3427
|
{
|
|
3397
3428
|
attributes: {
|
|
3398
|
-
POSITION:
|
|
3399
|
-
NORMAL:
|
|
3429
|
+
POSITION: R,
|
|
3430
|
+
NORMAL: j
|
|
3400
3431
|
},
|
|
3401
|
-
indices:
|
|
3402
|
-
...
|
|
3403
|
-
material:
|
|
3432
|
+
indices: H,
|
|
3433
|
+
...I.materialIdx !== void 0 ? {
|
|
3434
|
+
material: I.materialIdx
|
|
3404
3435
|
} : {}
|
|
3405
3436
|
}
|
|
3406
3437
|
]
|
|
3407
3438
|
});
|
|
3408
|
-
const
|
|
3409
|
-
mesh:
|
|
3439
|
+
const Y = _.nodes.length, W = {
|
|
3440
|
+
mesh: k
|
|
3410
3441
|
};
|
|
3411
|
-
t.includeMetadata &&
|
|
3412
|
-
expressId:
|
|
3413
|
-
modelIndex:
|
|
3442
|
+
t.includeMetadata && M.expressId !== void 0 && (W.extras = M.modelIndex !== void 0 ? {
|
|
3443
|
+
expressId: M.expressId,
|
|
3444
|
+
modelIndex: M.modelIndex
|
|
3414
3445
|
} : {
|
|
3415
|
-
expressId:
|
|
3416
|
-
}),
|
|
3446
|
+
expressId: M.expressId
|
|
3447
|
+
}), _.nodes.push(W), N.push(Y);
|
|
3417
3448
|
}
|
|
3418
|
-
|
|
3449
|
+
_.scenes[0].nodes = N, g.length > 0 && (_.materials = g, _.extensionsUsed = [
|
|
3419
3450
|
"KHR_materials_unlit"
|
|
3420
3451
|
]);
|
|
3421
|
-
const
|
|
3422
|
-
|
|
3452
|
+
const S = A.buffer, b = P.buffer, y = z.buffer, T = S.byteLength + b.byteLength + y.byteLength;
|
|
3453
|
+
_.bufferViews.push({
|
|
3423
3454
|
buffer: 0,
|
|
3424
3455
|
byteOffset: 0,
|
|
3425
|
-
byteLength:
|
|
3456
|
+
byteLength: S.byteLength,
|
|
3426
3457
|
byteStride: 12,
|
|
3427
3458
|
target: 34962
|
|
3428
|
-
}),
|
|
3459
|
+
}), _.bufferViews.push({
|
|
3429
3460
|
buffer: 0,
|
|
3430
|
-
byteOffset:
|
|
3431
|
-
byteLength:
|
|
3461
|
+
byteOffset: S.byteLength,
|
|
3462
|
+
byteLength: b.byteLength,
|
|
3432
3463
|
byteStride: 12,
|
|
3433
3464
|
target: 34962
|
|
3434
|
-
}),
|
|
3465
|
+
}), _.bufferViews.push({
|
|
3435
3466
|
buffer: 0,
|
|
3436
|
-
byteOffset:
|
|
3437
|
-
byteLength:
|
|
3467
|
+
byteOffset: S.byteLength + b.byteLength,
|
|
3468
|
+
byteLength: y.byteLength,
|
|
3438
3469
|
target: 34963
|
|
3439
|
-
}),
|
|
3440
|
-
for (const
|
|
3441
|
-
const
|
|
3442
|
-
if (!
|
|
3443
|
-
let
|
|
3444
|
-
if (
|
|
3445
|
-
else if (
|
|
3446
|
-
else if (
|
|
3447
|
-
else if (
|
|
3448
|
-
else throw new Error(`Unsupported component type: ${
|
|
3449
|
-
let
|
|
3450
|
-
if (
|
|
3451
|
-
else if (
|
|
3452
|
-
else if (
|
|
3453
|
-
else throw new Error(`Unsupported accessor type: ${
|
|
3454
|
-
const
|
|
3455
|
-
if (
|
|
3470
|
+
}), _.buffers[0].byteLength = T;
|
|
3471
|
+
for (const I of _.accessors){
|
|
3472
|
+
const M = _.bufferViews[I.bufferView];
|
|
3473
|
+
if (!M) throw new Error(`Accessor references invalid bufferView ${I.bufferView}`);
|
|
3474
|
+
let R = 0;
|
|
3475
|
+
if (I.componentType === 5126) R = 4;
|
|
3476
|
+
else if (I.componentType === 5125) R = 4;
|
|
3477
|
+
else if (I.componentType === 5123) R = 2;
|
|
3478
|
+
else if (I.componentType === 5120) R = 1;
|
|
3479
|
+
else throw new Error(`Unsupported component type: ${I.componentType}`);
|
|
3480
|
+
let j = 1;
|
|
3481
|
+
if (I.type === "VEC3") j = 3;
|
|
3482
|
+
else if (I.type === "VEC2") j = 2;
|
|
3483
|
+
else if (I.type === "SCALAR") j = 1;
|
|
3484
|
+
else throw new Error(`Unsupported accessor type: ${I.type}`);
|
|
3485
|
+
const H = I.count * j * R, k = (I.byteOffset || 0) + H;
|
|
3486
|
+
if (k > M.byteLength) throw new Error(`Accessor exceeds bufferView bounds: accessor byteOffset=${I.byteOffset || 0}, length=${H}, bufferView byteLength=${M.byteLength}, end=${k}`);
|
|
3456
3487
|
}
|
|
3457
3488
|
return {
|
|
3458
|
-
json:
|
|
3489
|
+
json: _,
|
|
3459
3490
|
buffers: [
|
|
3460
|
-
new Uint8Array(
|
|
3461
|
-
new Uint8Array(
|
|
3462
|
-
new Uint8Array(
|
|
3491
|
+
new Uint8Array(S),
|
|
3492
|
+
new Uint8Array(b),
|
|
3493
|
+
new Uint8Array(y)
|
|
3463
3494
|
]
|
|
3464
3495
|
};
|
|
3465
3496
|
}
|
|
@@ -3470,14 +3501,14 @@ let __tla = Promise.all([
|
|
|
3470
3501
|
return n;
|
|
3471
3502
|
}
|
|
3472
3503
|
packGLB(t, e) {
|
|
3473
|
-
const n = JSON.stringify(t), s = new TextEncoder().encode(n), r = (4 - s.byteLength % 4) % 4, a = s.byteLength + r, c = this.combineBuffers(e), l = (4 - c.byteLength % 4) % 4, d = c.byteLength + l,
|
|
3504
|
+
const n = JSON.stringify(t), s = new TextEncoder().encode(n), r = (4 - s.byteLength % 4) % 4, a = s.byteLength + r, c = this.combineBuffers(e), l = (4 - c.byteLength % 4) % 4, d = c.byteLength + l, f = 20 + a + 8 + d, _ = new ArrayBuffer(f), p = new DataView(_), g = new Uint8Array(_);
|
|
3474
3505
|
let u = 0;
|
|
3475
|
-
p.setUint32(u, 1179937895, !0), u += 4, p.setUint32(u, 2, !0), u += 4, p.setUint32(u,
|
|
3476
|
-
for(let
|
|
3477
|
-
return p.setUint32(u, d, !0), u += 4, p.setUint32(u, 5130562, !0), u += 4, g.set(c, u), new Uint8Array(
|
|
3506
|
+
p.setUint32(u, 1179937895, !0), u += 4, p.setUint32(u, 2, !0), u += 4, p.setUint32(u, f, !0), u += 4, p.setUint32(u, a, !0), u += 4, p.setUint32(u, 1313821514, !0), u += 4, g.set(s, u), u += s.byteLength;
|
|
3507
|
+
for(let h = 0; h < r; h++)g[u++] = 32;
|
|
3508
|
+
return p.setUint32(u, d, !0), u += 4, p.setUint32(u, 5130562, !0), u += 4, g.set(c, u), new Uint8Array(_);
|
|
3478
3509
|
}
|
|
3479
3510
|
};
|
|
3480
|
-
|
|
3511
|
+
xs = class {
|
|
3481
3512
|
store;
|
|
3482
3513
|
constructor(t){
|
|
3483
3514
|
this.store = t;
|
|
@@ -3499,42 +3530,42 @@ let __tla = Promise.all([
|
|
|
3499
3530
|
"hasGeometry"
|
|
3500
3531
|
], c = new Map;
|
|
3501
3532
|
if (s && r) {
|
|
3502
|
-
const
|
|
3503
|
-
for (const
|
|
3504
|
-
const p = this.getPropertiesForEntity(
|
|
3533
|
+
const f = t ?? this.getAllEntityIds();
|
|
3534
|
+
for (const _ of f){
|
|
3535
|
+
const p = this.getPropertiesForEntity(_);
|
|
3505
3536
|
for (const g of p){
|
|
3506
3537
|
c.has(g.name) || c.set(g.name, new Set);
|
|
3507
3538
|
for (const u of g.properties)c.get(g.name).add(u.name);
|
|
3508
3539
|
}
|
|
3509
3540
|
}
|
|
3510
|
-
for (const [
|
|
3541
|
+
for (const [_, p] of c)for (const g of p)a.push(`${_}_${g}`);
|
|
3511
3542
|
}
|
|
3512
3543
|
const l = [
|
|
3513
|
-
this.joinRow(a.map((
|
|
3544
|
+
this.joinRow(a.map((f)=>this.escapeValue(f)), n)
|
|
3514
3545
|
], d = t ?? this.getAllEntityIds();
|
|
3515
|
-
for (const
|
|
3516
|
-
const
|
|
3517
|
-
this.escapeValue(
|
|
3518
|
-
this.escapeValue(this.store.entities.getGlobalId(
|
|
3519
|
-
this.escapeValue(this.store.entities.getName(
|
|
3520
|
-
this.escapeValue(this.store.entities.getTypeName(
|
|
3521
|
-
this.escapeValue(this.store.entities.getDescription(
|
|
3522
|
-
this.escapeValue(this.store.entities.getObjectType(
|
|
3523
|
-
this.escapeValue(this.store.entities.hasGeometry(
|
|
3546
|
+
for (const f of d){
|
|
3547
|
+
const _ = [
|
|
3548
|
+
this.escapeValue(f),
|
|
3549
|
+
this.escapeValue(this.store.entities.getGlobalId(f) || ""),
|
|
3550
|
+
this.escapeValue(this.store.entities.getName(f) || ""),
|
|
3551
|
+
this.escapeValue(this.store.entities.getTypeName(f) || ""),
|
|
3552
|
+
this.escapeValue(this.store.entities.getDescription(f) || ""),
|
|
3553
|
+
this.escapeValue(this.store.entities.getObjectType(f) || ""),
|
|
3554
|
+
this.escapeValue(this.store.entities.hasGeometry(f) ? "true" : "false")
|
|
3524
3555
|
];
|
|
3525
3556
|
if (s && r) {
|
|
3526
|
-
const p = this.getPropertiesForEntity(
|
|
3557
|
+
const p = this.getPropertiesForEntity(f), g = new Map;
|
|
3527
3558
|
for (const u of p){
|
|
3528
|
-
const
|
|
3529
|
-
for (const m of u.properties)
|
|
3530
|
-
g.set(u.name,
|
|
3559
|
+
const h = new Map;
|
|
3560
|
+
for (const m of u.properties)h.set(m.name, m.value);
|
|
3561
|
+
g.set(u.name, h);
|
|
3531
3562
|
}
|
|
3532
|
-
for (const [u,
|
|
3533
|
-
const
|
|
3534
|
-
|
|
3563
|
+
for (const [u, h] of c)for (const m of h){
|
|
3564
|
+
const w = g.get(u)?.get(m) ?? "";
|
|
3565
|
+
_.push(this.escapeValue(w));
|
|
3535
3566
|
}
|
|
3536
3567
|
}
|
|
3537
|
-
l.push(this.joinRow(
|
|
3568
|
+
l.push(this.joinRow(_, n));
|
|
3538
3569
|
}
|
|
3539
3570
|
return l.join(`
|
|
3540
3571
|
`);
|
|
@@ -3555,13 +3586,13 @@ let __tla = Promise.all([
|
|
|
3555
3586
|
for (const c of a){
|
|
3556
3587
|
const l = this.getPropertiesForEntity(c);
|
|
3557
3588
|
if (!l || l.length === 0) continue;
|
|
3558
|
-
const d = this.store.entities.getGlobalId(c) || "",
|
|
3589
|
+
const d = this.store.entities.getGlobalId(c) || "", f = this.store.entities.getName(c) || "", _ = this.store.entities.getTypeName(c) || "";
|
|
3559
3590
|
for (const p of l)if (!(!p.properties || p.properties.length === 0)) for (const g of p.properties){
|
|
3560
3591
|
const u = [
|
|
3561
3592
|
this.escapeValue(c),
|
|
3562
3593
|
this.escapeValue(d),
|
|
3563
|
-
this.escapeValue(_),
|
|
3564
3594
|
this.escapeValue(f),
|
|
3595
|
+
this.escapeValue(_),
|
|
3565
3596
|
this.escapeValue(p.name || ""),
|
|
3566
3597
|
this.escapeValue(g.name || ""),
|
|
3567
3598
|
this.escapeValue(g.value),
|
|
@@ -3589,19 +3620,19 @@ let __tla = Promise.all([
|
|
|
3589
3620
|
for (const l of c){
|
|
3590
3621
|
const d = this.getQuantitiesForEntity(l);
|
|
3591
3622
|
if (!d || d.length === 0) continue;
|
|
3592
|
-
const
|
|
3623
|
+
const f = this.store.entities.getGlobalId(l) || "", _ = this.store.entities.getName(l) || "", p = this.store.entities.getTypeName(l) || "";
|
|
3593
3624
|
for (const g of d)if (!(!g.quantities || g.quantities.length === 0)) for (const u of g.quantities){
|
|
3594
|
-
const
|
|
3625
|
+
const h = [
|
|
3595
3626
|
this.escapeValue(l),
|
|
3596
|
-
this.escapeValue(_),
|
|
3597
3627
|
this.escapeValue(f),
|
|
3628
|
+
this.escapeValue(_),
|
|
3598
3629
|
this.escapeValue(p),
|
|
3599
3630
|
this.escapeValue(g.name || ""),
|
|
3600
3631
|
this.escapeValue(u.name || ""),
|
|
3601
3632
|
this.escapeValue(u.value),
|
|
3602
3633
|
this.escapeValue(u.type ?? "")
|
|
3603
3634
|
];
|
|
3604
|
-
a.push(this.joinRow(
|
|
3635
|
+
a.push(this.joinRow(h, n));
|
|
3605
3636
|
}
|
|
3606
3637
|
}
|
|
3607
3638
|
return a.join(`
|
|
@@ -3620,7 +3651,7 @@ let __tla = Promise.all([
|
|
|
3620
3651
|
], r = this.store.spatialHierarchy;
|
|
3621
3652
|
if (!r?.project) return s[0];
|
|
3622
3653
|
const a = (c, l, d)=>{
|
|
3623
|
-
const
|
|
3654
|
+
const f = [
|
|
3624
3655
|
this.escapeValue(c.expressId),
|
|
3625
3656
|
this.escapeValue(this.store.entities.getGlobalId(c.expressId) || ""),
|
|
3626
3657
|
this.escapeValue(c.name || ""),
|
|
@@ -3628,7 +3659,7 @@ let __tla = Promise.all([
|
|
|
3628
3659
|
this.escapeValue(l ?? ""),
|
|
3629
3660
|
this.escapeValue(d)
|
|
3630
3661
|
];
|
|
3631
|
-
if (s.push(this.joinRow(
|
|
3662
|
+
if (s.push(this.joinRow(f, e)), c.children) for (const _ of c.children)a(_, c.expressId, d + 1);
|
|
3632
3663
|
};
|
|
3633
3664
|
return a(r.project, null, 0), s.join(`
|
|
3634
3665
|
`);
|
|
@@ -3648,7 +3679,7 @@ let __tla = Promise.all([
|
|
|
3648
3679
|
return t.join(e);
|
|
3649
3680
|
}
|
|
3650
3681
|
};
|
|
3651
|
-
const os = 35,
|
|
3682
|
+
const os = 35, re = 48, Ke = 57, as = new Set([
|
|
3652
3683
|
"IFCOWNERHISTORY",
|
|
3653
3684
|
"IFCAPPLICATION",
|
|
3654
3685
|
"IFCPERSON",
|
|
@@ -3893,37 +3924,37 @@ let __tla = Promise.all([
|
|
|
3893
3924
|
"IFCSTRUCTURALSURFACEMEMBERVARYING",
|
|
3894
3925
|
"IFCSTRUCTURALSURFACEREACTION"
|
|
3895
3926
|
]);
|
|
3896
|
-
function
|
|
3927
|
+
function oe(i, t, e, n) {
|
|
3897
3928
|
const s = t + e;
|
|
3898
3929
|
let r = t;
|
|
3899
3930
|
for(; r < s;)if (i[r] === os) {
|
|
3900
|
-
if (r++, r < s && i[r] >=
|
|
3901
|
-
let a = i[r] -
|
|
3902
|
-
for(r++; r < s && i[r] >=
|
|
3931
|
+
if (r++, r < s && i[r] >= re && i[r] <= Ke) {
|
|
3932
|
+
let a = i[r] - re;
|
|
3933
|
+
for(r++; r < s && i[r] >= re && i[r] <= Ke;)a = a * 10 + (i[r] - re), r++;
|
|
3903
3934
|
n.push(a);
|
|
3904
3935
|
}
|
|
3905
3936
|
} else r++;
|
|
3906
3937
|
}
|
|
3907
|
-
function
|
|
3938
|
+
function Te(i, t, e, n) {
|
|
3908
3939
|
const s = new Set, r = [];
|
|
3909
3940
|
for (const c of i)e.has(c) && !s.has(c) && (s.add(c), r.push(c));
|
|
3910
3941
|
const a = [];
|
|
3911
3942
|
for(; r.length > 0;){
|
|
3912
3943
|
const c = r.pop(), l = e.get(c);
|
|
3913
3944
|
if (l) {
|
|
3914
|
-
a.length = 0,
|
|
3945
|
+
a.length = 0, oe(t, l.byteOffset, l.byteLength, a);
|
|
3915
3946
|
for(let d = 0; d < a.length; d++){
|
|
3916
|
-
const
|
|
3917
|
-
if (!s.has(
|
|
3918
|
-
if (n && n.has(
|
|
3919
|
-
s.add(
|
|
3947
|
+
const f = a[d];
|
|
3948
|
+
if (!s.has(f) && e.has(f)) {
|
|
3949
|
+
if (n && n.has(f)) continue;
|
|
3950
|
+
s.add(f), r.push(f);
|
|
3920
3951
|
}
|
|
3921
3952
|
}
|
|
3922
3953
|
}
|
|
3923
3954
|
}
|
|
3924
3955
|
return s;
|
|
3925
3956
|
}
|
|
3926
|
-
function
|
|
3957
|
+
function Fe(i, t, e) {
|
|
3927
3958
|
const n = new Set, s = new Set;
|
|
3928
3959
|
for (const [r, a] of i.entityIndex.byId){
|
|
3929
3960
|
const c = a.type.toUpperCase();
|
|
@@ -3970,12 +4001,12 @@ let __tla = Promise.all([
|
|
|
3970
4001
|
let l = c.byteOffset;
|
|
3971
4002
|
const d = c.byteOffset + c.byteLength;
|
|
3972
4003
|
for(; l < d && n[l] !== 40;)l++;
|
|
3973
|
-
if (l >= d || (r.length = 0,
|
|
3974
|
-
const
|
|
3975
|
-
e.has(
|
|
4004
|
+
if (l >= d || (r.length = 0, oe(n, l, d - l, r), r.length < 2)) continue;
|
|
4005
|
+
const f = r[r.length - 2], _ = r[r.length - 1];
|
|
4006
|
+
e.has(f) && (e.add(_), t.delete(a), t.delete(_));
|
|
3976
4007
|
}
|
|
3977
4008
|
}
|
|
3978
|
-
function
|
|
4009
|
+
function Re(i, t, e) {
|
|
3979
4010
|
const n = [], s = [], r = e.byType.get("IFCSTYLEDITEM") ?? [], a = e.byType.get("IFCSTYLEDREPRESENTATION") ?? [];
|
|
3980
4011
|
for (const c of [
|
|
3981
4012
|
r,
|
|
@@ -3984,26 +4015,26 @@ let __tla = Promise.all([
|
|
|
3984
4015
|
if (i.has(l)) continue;
|
|
3985
4016
|
const d = e.byId.get(l);
|
|
3986
4017
|
if (!d) continue;
|
|
3987
|
-
s.length = 0,
|
|
3988
|
-
let
|
|
3989
|
-
for(let
|
|
3990
|
-
|
|
4018
|
+
s.length = 0, oe(t, d.byteOffset, d.byteLength, s);
|
|
4019
|
+
let f = !1;
|
|
4020
|
+
for(let _ = 0; _ < s.length; _++)if (i.has(s[_])) {
|
|
4021
|
+
f = !0;
|
|
3991
4022
|
break;
|
|
3992
4023
|
}
|
|
3993
|
-
|
|
4024
|
+
f && (i.add(l), n.push(l));
|
|
3994
4025
|
}
|
|
3995
4026
|
for(; n.length > 0;){
|
|
3996
4027
|
const c = n.pop(), l = e.byId.get(c);
|
|
3997
4028
|
if (l) {
|
|
3998
|
-
s.length = 0,
|
|
4029
|
+
s.length = 0, oe(t, l.byteOffset, l.byteLength, s);
|
|
3999
4030
|
for(let d = 0; d < s.length; d++){
|
|
4000
|
-
const
|
|
4001
|
-
!i.has(
|
|
4031
|
+
const f = s[d];
|
|
4032
|
+
!i.has(f) && e.byId.has(f) && (i.add(f), n.push(f));
|
|
4002
4033
|
}
|
|
4003
4034
|
}
|
|
4004
4035
|
}
|
|
4005
4036
|
}
|
|
4006
|
-
const
|
|
4037
|
+
const Ze = new Map([
|
|
4007
4038
|
[
|
|
4008
4039
|
"IFCELECTRICDISTRIBUTIONPOINT",
|
|
4009
4040
|
"IFCELECTRICDISTRIBUTIONBOARD"
|
|
@@ -4109,7 +4140,7 @@ let __tla = Promise.all([
|
|
|
4109
4140
|
"IFCBUILTELEMENT",
|
|
4110
4141
|
"IFCBUILDINGELEMENTPROXY"
|
|
4111
4142
|
]
|
|
4112
|
-
]),
|
|
4143
|
+
]), he = new Map([]), Ie = new Map([
|
|
4113
4144
|
[
|
|
4114
4145
|
"IFCFACILITY",
|
|
4115
4146
|
"IFCBUILDING"
|
|
@@ -4382,7 +4413,7 @@ let __tla = Promise.all([
|
|
|
4382
4413
|
return fs(t, e)?.get(n) ?? n;
|
|
4383
4414
|
}
|
|
4384
4415
|
function fs(i, t) {
|
|
4385
|
-
return i === "IFC2X3" && t === "IFC4" ?
|
|
4416
|
+
return i === "IFC2X3" && t === "IFC4" ? Ze : i === "IFC4" && t === "IFC2X3" ? tn : i === "IFC4" && t === "IFC4X3" ? he : i === "IFC4X3" && t === "IFC4" ? Ie : i === "IFC5" && t === "IFC4X3" || i === "IFC4X3" && t === "IFC5" ? null : i === "IFC5" && t === "IFC4" ? Ie : i === "IFC4" && t === "IFC5" ? he : i === "IFC2X3" && (t === "IFC4X3" || t === "IFC5") ? en(Ze, he) : (i === "IFC4X3" || i === "IFC5") && t === "IFC2X3" ? en(Ie, tn) : null;
|
|
4386
4417
|
}
|
|
4387
4418
|
function en(i, t) {
|
|
4388
4419
|
const e = new Map;
|
|
@@ -4390,7 +4421,7 @@ let __tla = Promise.all([
|
|
|
4390
4421
|
for (const [n, s] of t)e.has(n) || e.set(n, s);
|
|
4391
4422
|
return e;
|
|
4392
4423
|
}
|
|
4393
|
-
function
|
|
4424
|
+
function ae(i, t, e) {
|
|
4394
4425
|
if (t === e) return i;
|
|
4395
4426
|
const n = i.match(/^(#\d+=)(\w+)\((.*)?\);?\s*$/);
|
|
4396
4427
|
if (!n) return i;
|
|
@@ -4433,7 +4464,7 @@ let __tla = Promise.all([
|
|
|
4433
4464
|
}
|
|
4434
4465
|
return e.push(r), e.length > t ? e.slice(0, t).join(",") : e.join(",");
|
|
4435
4466
|
}
|
|
4436
|
-
function
|
|
4467
|
+
function Se(i, t) {
|
|
4437
4468
|
return i !== t;
|
|
4438
4469
|
}
|
|
4439
4470
|
let gs = 0;
|
|
@@ -4443,7 +4474,7 @@ let __tla = Promise.all([
|
|
|
4443
4474
|
for(let s = 0; s < 16; s++)e += i[n % 64], n = Math.floor(n / 64) + s;
|
|
4444
4475
|
return e;
|
|
4445
4476
|
}
|
|
4446
|
-
function
|
|
4477
|
+
function rt(i) {
|
|
4447
4478
|
return i.replace(/\\/g, "\\\\").replace(/'/g, "''");
|
|
4448
4479
|
}
|
|
4449
4480
|
function Z(i) {
|
|
@@ -4453,17 +4484,17 @@ let __tla = Promise.all([
|
|
|
4453
4484
|
}
|
|
4454
4485
|
function Is(i) {
|
|
4455
4486
|
switch(i){
|
|
4456
|
-
case
|
|
4487
|
+
case Ft.Length:
|
|
4457
4488
|
return "IFCQUANTITYLENGTH";
|
|
4458
|
-
case
|
|
4489
|
+
case Ft.Area:
|
|
4459
4490
|
return "IFCQUANTITYAREA";
|
|
4460
|
-
case
|
|
4491
|
+
case Ft.Volume:
|
|
4461
4492
|
return "IFCQUANTITYVOLUME";
|
|
4462
|
-
case
|
|
4493
|
+
case Ft.Count:
|
|
4463
4494
|
return "IFCQUANTITYCOUNT";
|
|
4464
|
-
case
|
|
4495
|
+
case Ft.Weight:
|
|
4465
4496
|
return "IFCQUANTITYWEIGHT";
|
|
4466
|
-
case
|
|
4497
|
+
case Ft.Time:
|
|
4467
4498
|
return "IFCQUANTITYTIME";
|
|
4468
4499
|
default:
|
|
4469
4500
|
return "IFCQUANTITYCOUNT";
|
|
@@ -4472,28 +4503,28 @@ let __tla = Promise.all([
|
|
|
4472
4503
|
function un(i, t) {
|
|
4473
4504
|
if (i == null) return "$";
|
|
4474
4505
|
switch(t){
|
|
4475
|
-
case
|
|
4476
|
-
case
|
|
4477
|
-
case
|
|
4478
|
-
return `IFCLABEL('${
|
|
4479
|
-
case
|
|
4480
|
-
return `IFCIDENTIFIER('${
|
|
4481
|
-
case
|
|
4506
|
+
case nt.String:
|
|
4507
|
+
case nt.Label:
|
|
4508
|
+
case nt.Text:
|
|
4509
|
+
return `IFCLABEL('${rt(String(i))}')`;
|
|
4510
|
+
case nt.Identifier:
|
|
4511
|
+
return `IFCIDENTIFIER('${rt(String(i))}')`;
|
|
4512
|
+
case nt.Real:
|
|
4482
4513
|
{
|
|
4483
4514
|
const e = Number(i);
|
|
4484
4515
|
return Number.isFinite(e) ? `IFCREAL(${e.toString().includes(".") ? e : e + "."})` : "$";
|
|
4485
4516
|
}
|
|
4486
|
-
case
|
|
4517
|
+
case nt.Integer:
|
|
4487
4518
|
return `IFCINTEGER(${Math.round(Number(i))})`;
|
|
4488
|
-
case
|
|
4489
|
-
case
|
|
4519
|
+
case nt.Boolean:
|
|
4520
|
+
case nt.Logical:
|
|
4490
4521
|
return i === !0 ? "IFCBOOLEAN(.T.)" : i === !1 ? "IFCBOOLEAN(.F.)" : "IFCLOGICAL(.U.)";
|
|
4491
|
-
case
|
|
4522
|
+
case nt.Enum:
|
|
4492
4523
|
return `.${String(i).toUpperCase()}.`;
|
|
4493
|
-
case
|
|
4494
|
-
return Array.isArray(i) ? `(${i.map((n)=>un(n,
|
|
4524
|
+
case nt.List:
|
|
4525
|
+
return Array.isArray(i) ? `(${i.map((n)=>un(n, nt.String)).join(",")})` : "$";
|
|
4495
4526
|
default:
|
|
4496
|
-
return `IFCLABEL('${
|
|
4527
|
+
return `IFCLABEL('${rt(String(i))}')`;
|
|
4497
4528
|
}
|
|
4498
4529
|
}
|
|
4499
4530
|
function ys(i, t) {
|
|
@@ -4511,16 +4542,16 @@ let __tla = Promise.all([
|
|
|
4511
4542
|
}
|
|
4512
4543
|
return an(i);
|
|
4513
4544
|
}
|
|
4514
|
-
function
|
|
4545
|
+
function Ne(i) {
|
|
4515
4546
|
if (i == null) return "$";
|
|
4516
4547
|
if (typeof i == "boolean") return i ? ".T." : ".F.";
|
|
4517
4548
|
if (typeof i == "number") return Number.isFinite(i) ? Number.isInteger(i) ? String(i) : Z(i) : "$";
|
|
4518
|
-
if (Array.isArray(i)) return `(${i.map(
|
|
4549
|
+
if (Array.isArray(i)) return `(${i.map(Ne).join(",")})`;
|
|
4519
4550
|
const t = String(i).trim();
|
|
4520
|
-
return t === "$" || t === "*" || /^#\d+$/.test(t) ? t : /^\.[A-Z0-9_]+\.$/i.test(t) ? t.toUpperCase() : `'${
|
|
4551
|
+
return t === "$" || t === "*" || /^#\d+$/.test(t) ? t : /^\.[A-Z0-9_]+\.$/i.test(t) ? t.toUpperCase() : `'${rt(String(i))}'`;
|
|
4521
4552
|
}
|
|
4522
4553
|
function ms(i) {
|
|
4523
|
-
return i.map(
|
|
4554
|
+
return i.map(Ne).join(",");
|
|
4524
4555
|
}
|
|
4525
4556
|
function nn(i) {
|
|
4526
4557
|
const t = [];
|
|
@@ -4585,187 +4616,187 @@ let __tla = Promise.all([
|
|
|
4585
4616
|
export(t) {
|
|
4586
4617
|
const e = [];
|
|
4587
4618
|
let n = 0, s = 0;
|
|
4588
|
-
const r = t.schema || this.dataStore.schemaVersion || "IFC4", a = this.dataStore.schemaVersion || "IFC4", c =
|
|
4619
|
+
const r = t.schema || this.dataStore.schemaVersion || "IFC4", a = this.dataStore.schemaVersion || "IFC4", c = Se(a, r);
|
|
4589
4620
|
if (r === "IFC2X3" && t.applyMutations !== !1 && t.georefMutations && (Object.keys(t.georefMutations.projectedCRS ?? {}).length > 0 || Object.keys(t.georefMutations.mapConversion ?? {}).length > 0)) throw new Error("Georeferencing creation and editing requires IFC4 or newer. IFC2X3 does not support IfcProjectedCRS or IfcMapConversion.");
|
|
4590
|
-
const l =
|
|
4621
|
+
const l = be({
|
|
4591
4622
|
schema: r,
|
|
4592
4623
|
description: t.description || "Exported from ifc-lite",
|
|
4593
4624
|
author: t.author || "",
|
|
4594
4625
|
organization: t.organization || "",
|
|
4595
4626
|
application: t.application || "ifc-lite",
|
|
4596
4627
|
filename: t.filename || "export.ifc"
|
|
4597
|
-
}), d = new Set,
|
|
4628
|
+
}), d = new Set, f = new Map, _ = new Map, p = [], g = [], u = new Map, h = new Map, m = new Set, w = new Map, C = new Set, A = new Set;
|
|
4598
4629
|
if (this.mutationView && t.applyMutations !== !1) {
|
|
4599
|
-
const
|
|
4600
|
-
for (const
|
|
4601
|
-
if (
|
|
4602
|
-
d.add(
|
|
4630
|
+
const E = this.mutationView.getMutations(), N = new Map, S = new Map;
|
|
4631
|
+
for (const y of E){
|
|
4632
|
+
if (y.type === "UPDATE_ATTRIBUTE" && y.attributeName) {
|
|
4633
|
+
d.add(y.entityId), _.has(y.entityId) || _.set(y.entityId, new Map), _.get(y.entityId).set(y.attributeName, y.newValue == null ? "" : String(y.newValue));
|
|
4603
4634
|
continue;
|
|
4604
4635
|
}
|
|
4605
|
-
if (!
|
|
4606
|
-
const
|
|
4607
|
-
|
|
4636
|
+
if (!y.psetName) continue;
|
|
4637
|
+
const I = y.type === "CREATE_QUANTITY" || y.type === "UPDATE_QUANTITY" || y.type === "DELETE_QUANTITY" ? S : N;
|
|
4638
|
+
I.has(y.entityId) || I.set(y.entityId, new Set), I.get(y.entityId).add(y.psetName);
|
|
4608
4639
|
}
|
|
4609
|
-
const
|
|
4610
|
-
for (const [
|
|
4611
|
-
d.add(
|
|
4612
|
-
const
|
|
4613
|
-
|
|
4614
|
-
entityId:
|
|
4615
|
-
psets:
|
|
4640
|
+
const b = this.buildRelDefinesByPropertiesIndex();
|
|
4641
|
+
for (const [y, T] of N){
|
|
4642
|
+
d.add(y), f.set(y, T), s++;
|
|
4643
|
+
const M = this.mutationView.getForEntity(y).filter((H)=>T.has(H.name)), R = new Set;
|
|
4644
|
+
M.length > 0 && p.push({
|
|
4645
|
+
entityId: y,
|
|
4646
|
+
psets: M
|
|
4616
4647
|
});
|
|
4617
|
-
const
|
|
4618
|
-
if (
|
|
4619
|
-
const
|
|
4620
|
-
if (
|
|
4621
|
-
|
|
4622
|
-
const
|
|
4623
|
-
for (const
|
|
4648
|
+
const j = b.get(y);
|
|
4649
|
+
if (j) for (const { relId: H, psetId: k } of j){
|
|
4650
|
+
const Y = this.getPropertySetName(k);
|
|
4651
|
+
if (Y && R.add(Y), Y && T.has(Y)) {
|
|
4652
|
+
A.add(H), C.add(k);
|
|
4653
|
+
const W = this.getPropertyIdsInSet(k);
|
|
4654
|
+
for (const at of W)C.add(at);
|
|
4624
4655
|
}
|
|
4625
4656
|
}
|
|
4626
|
-
if (this.isTypeEntity(
|
|
4627
|
-
const
|
|
4628
|
-
for (const
|
|
4629
|
-
const
|
|
4630
|
-
if (!
|
|
4631
|
-
k.add(
|
|
4632
|
-
const
|
|
4633
|
-
for (const
|
|
4657
|
+
if (this.isTypeEntity(y)) {
|
|
4658
|
+
const H = this.getTypeOwnedHasPropertySetIds(y), k = new Set;
|
|
4659
|
+
for (const Y of H){
|
|
4660
|
+
const W = this.getPropertySetName(Y);
|
|
4661
|
+
if (!W || !T.has(W)) continue;
|
|
4662
|
+
k.add(W), C.add(Y);
|
|
4663
|
+
const at = this.getPropertyIdsInSet(Y);
|
|
4664
|
+
for (const q of at)C.add(q);
|
|
4634
4665
|
}
|
|
4635
|
-
for (const
|
|
4636
|
-
k.size > 0 && (u.set(
|
|
4666
|
+
for (const Y of T)R.has(Y) || k.add(Y);
|
|
4667
|
+
k.size > 0 && (u.set(y, k), h.set(y, H), m.add(y));
|
|
4637
4668
|
}
|
|
4638
4669
|
}
|
|
4639
4670
|
t.includeQuantities === !1 && S.clear();
|
|
4640
|
-
for (const [
|
|
4641
|
-
d.add(
|
|
4642
|
-
const
|
|
4643
|
-
|
|
4644
|
-
entityId:
|
|
4645
|
-
qsets:
|
|
4671
|
+
for (const [y, T] of S){
|
|
4672
|
+
d.add(y), f.has(y) || s++;
|
|
4673
|
+
const M = this.mutationView.getQuantitiesForEntity(y).filter((j)=>T.has(j.name));
|
|
4674
|
+
M.length > 0 && g.push({
|
|
4675
|
+
entityId: y,
|
|
4676
|
+
qsets: M
|
|
4646
4677
|
});
|
|
4647
|
-
const
|
|
4648
|
-
if (
|
|
4649
|
-
const k = this.getElementQuantityName(
|
|
4650
|
-
if (k &&
|
|
4651
|
-
|
|
4652
|
-
const
|
|
4653
|
-
for (const
|
|
4678
|
+
const R = b.get(y);
|
|
4679
|
+
if (R) for (const { relId: j, psetId: H } of R){
|
|
4680
|
+
const k = this.getElementQuantityName(H);
|
|
4681
|
+
if (k && T.has(k)) {
|
|
4682
|
+
A.add(j), C.add(H);
|
|
4683
|
+
const Y = this.getPropertyIdsInSet(H);
|
|
4684
|
+
for (const W of Y)C.add(W);
|
|
4654
4685
|
}
|
|
4655
4686
|
}
|
|
4656
4687
|
}
|
|
4657
|
-
for (const [
|
|
4688
|
+
for (const [y] of _)!N.has(y) && !S.has(y) && s++;
|
|
4658
4689
|
}
|
|
4659
|
-
const
|
|
4690
|
+
const P = [];
|
|
4660
4691
|
if (t.applyMutations !== !1 && t.georefMutations) {
|
|
4661
|
-
const
|
|
4662
|
-
if (
|
|
4663
|
-
const
|
|
4664
|
-
|
|
4665
|
-
const
|
|
4666
|
-
let
|
|
4667
|
-
if (
|
|
4668
|
-
const
|
|
4669
|
-
|
|
4692
|
+
const E = t.georefMutations, N = this.dataStore.entityIndex.byType.get("IFCPROJECTEDCRS"), S = this.dataStore.entityIndex.byType.get("IFCMAPCONVERSION");
|
|
4693
|
+
if (E.projectedCRS && N?.length) {
|
|
4694
|
+
const b = N[0];
|
|
4695
|
+
_.has(b) || _.set(b, new Map);
|
|
4696
|
+
const y = _.get(b), T = E.projectedCRS;
|
|
4697
|
+
let I = !1;
|
|
4698
|
+
if (T.name !== void 0 && (y.set("Name", String(T.name)), I = !0), T.description !== void 0 && (y.set("Description", String(T.description)), I = !0), T.geodeticDatum !== void 0 && (y.set("GeodeticDatum", String(T.geodeticDatum)), I = !0), T.verticalDatum !== void 0 && (y.set("VerticalDatum", String(T.verticalDatum)), I = !0), T.mapProjection !== void 0 && (y.set("MapProjection", String(T.mapProjection)), I = !0), T.mapZone !== void 0 && (y.set("MapZone", String(T.mapZone)), I = !0), T.mapUnit !== void 0) {
|
|
4699
|
+
const M = this.resolveMapUnitReference(String(T.mapUnit), P);
|
|
4700
|
+
y.set("MapUnit", `#${M}`), I = !0;
|
|
4670
4701
|
}
|
|
4671
|
-
|
|
4702
|
+
I && !d.has(b) && (d.add(b), s++);
|
|
4672
4703
|
}
|
|
4673
|
-
if (
|
|
4674
|
-
const
|
|
4675
|
-
|
|
4676
|
-
const
|
|
4677
|
-
let
|
|
4678
|
-
|
|
4704
|
+
if (E.mapConversion && S?.length) {
|
|
4705
|
+
const b = S[0];
|
|
4706
|
+
_.has(b) || _.set(b, new Map);
|
|
4707
|
+
const y = _.get(b), T = E.mapConversion;
|
|
4708
|
+
let I = !1;
|
|
4709
|
+
T.eastings !== void 0 && (y.set("Eastings", String(T.eastings)), I = !0), T.northings !== void 0 && (y.set("Northings", String(T.northings)), I = !0), T.orthogonalHeight !== void 0 && (y.set("OrthogonalHeight", String(T.orthogonalHeight)), I = !0), T.xAxisAbscissa !== void 0 && (y.set("XAxisAbscissa", String(T.xAxisAbscissa)), I = !0), T.xAxisOrdinate !== void 0 && (y.set("XAxisOrdinate", String(T.xAxisOrdinate)), I = !0), T.scale !== void 0 && (y.set("Scale", String(T.scale)), I = !0), I && !d.has(b) && (d.add(b), s++);
|
|
4679
4710
|
}
|
|
4680
|
-
if (
|
|
4681
|
-
const
|
|
4682
|
-
|
|
4683
|
-
const
|
|
4684
|
-
if (
|
|
4685
|
-
const
|
|
4686
|
-
|
|
4711
|
+
if (E.projectedCRS && !N?.length) {
|
|
4712
|
+
const b = E.projectedCRS, y = this.nextExpressId++, T = b.name ? `'${rt(String(b.name))}'` : "$", I = b.description ? `'${rt(String(b.description))}'` : "$", M = b.geodeticDatum ? `'${rt(String(b.geodeticDatum))}'` : "$", R = b.verticalDatum ? `'${rt(String(b.verticalDatum))}'` : "$", j = b.mapProjection ? `'${rt(String(b.mapProjection))}'` : "$", H = b.mapZone ? `'${rt(String(b.mapZone))}'` : "$", k = b.mapUnit ? `#${this.resolveMapUnitReference(String(b.mapUnit), P)}` : "$";
|
|
4713
|
+
P.push(`#${y}=IFCPROJECTEDCRS(${T},${I},${M},${R},${j},${H},${k});`), n++;
|
|
4714
|
+
const Y = this.findPreferredGeometricRepresentationContextId();
|
|
4715
|
+
if (Y) {
|
|
4716
|
+
const W = E.mapConversion || {}, at = this.nextExpressId++, q = Z(Number(W.eastings) || 0), st = Z(Number(W.northings) || 0), ut = Z(Number(W.orthogonalHeight) || 0), lt = W.xAxisAbscissa !== void 0 ? Z(Number(W.xAxisAbscissa)) : "$", dt = W.xAxisOrdinate !== void 0 ? Z(Number(W.xAxisOrdinate)) : "$", pt = W.scale !== void 0 ? Z(Number(W.scale)) : "$";
|
|
4717
|
+
P.push(`#${at}=IFCMAPCONVERSION(#${Y},#${y},${q},${st},${ut},${lt},${dt},${pt});`), n++;
|
|
4687
4718
|
} else console.warn("[StepExporter] Cannot create IfcMapConversion: no IfcGeometricRepresentationContext found in source file");
|
|
4688
|
-
} else if (
|
|
4689
|
-
const
|
|
4690
|
-
if (
|
|
4691
|
-
const
|
|
4692
|
-
|
|
4719
|
+
} else if (E.mapConversion && !S?.length && N?.length) {
|
|
4720
|
+
const b = this.findPreferredGeometricRepresentationContextId();
|
|
4721
|
+
if (b) {
|
|
4722
|
+
const y = E.mapConversion, T = this.nextExpressId++, I = Z(Number(y.eastings) || 0), M = Z(Number(y.northings) || 0), R = Z(Number(y.orthogonalHeight) || 0), j = y.xAxisAbscissa !== void 0 ? Z(Number(y.xAxisAbscissa)) : "$", H = y.xAxisOrdinate !== void 0 ? Z(Number(y.xAxisOrdinate)) : "$", k = y.scale !== void 0 ? Z(Number(y.scale)) : "$";
|
|
4723
|
+
P.push(`#${T}=IFCMAPCONVERSION(#${b},#${N[0]},${I},${M},${R},${j},${H},${k});`), n++;
|
|
4693
4724
|
} else console.warn("[StepExporter] Cannot create IfcMapConversion: no IfcGeometricRepresentationContext found in source file");
|
|
4694
4725
|
}
|
|
4695
4726
|
}
|
|
4696
|
-
const
|
|
4697
|
-
if (t.deltaOnly && d.size === 0 &&
|
|
4698
|
-
const
|
|
4727
|
+
const z = this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function" ? this.mutationView.getNewEntities().length : 0;
|
|
4728
|
+
if (t.deltaOnly && d.size === 0 && z === 0 && P.length === 0) {
|
|
4729
|
+
const E = new TextEncoder().encode(l + `DATA;
|
|
4699
4730
|
ENDSEC;
|
|
4700
4731
|
END-ISO-10303-21;
|
|
4701
4732
|
`);
|
|
4702
4733
|
return {
|
|
4703
|
-
content:
|
|
4734
|
+
content: E,
|
|
4704
4735
|
stats: {
|
|
4705
4736
|
entityCount: 0,
|
|
4706
4737
|
newEntityCount: 0,
|
|
4707
4738
|
modifiedEntityCount: 0,
|
|
4708
|
-
fileSize:
|
|
4739
|
+
fileSize: E.byteLength
|
|
4709
4740
|
}
|
|
4710
4741
|
};
|
|
4711
4742
|
}
|
|
4712
|
-
let
|
|
4743
|
+
let x = null;
|
|
4713
4744
|
if (t.visibleOnly && this.dataStore.source) {
|
|
4714
|
-
const { roots:
|
|
4715
|
-
|
|
4745
|
+
const { roots: E, hiddenProductIds: N } = Fe(this.dataStore, t.hiddenEntityIds ?? new Set, t.isolatedEntityIds ?? null);
|
|
4746
|
+
x = Te(E, this.dataStore.source, this.dataStore.entityIndex.byId, N), Re(x, this.dataStore.source, this.dataStore.entityIndex);
|
|
4716
4747
|
}
|
|
4717
4748
|
if (!t.deltaOnly && this.dataStore.source) {
|
|
4718
|
-
const
|
|
4719
|
-
for (const [
|
|
4720
|
-
if (
|
|
4721
|
-
const
|
|
4722
|
-
if (t.includeGeometry === !1 && this.isGeometryEntity(
|
|
4723
|
-
const
|
|
4724
|
-
let
|
|
4725
|
-
const
|
|
4726
|
-
if (
|
|
4727
|
-
const
|
|
4728
|
-
|
|
4729
|
-
} else e.push(
|
|
4749
|
+
const E = this.dataStore.source, N = !!this.mutationView && t.applyMutations !== !1;
|
|
4750
|
+
for (const [S, b] of this.dataStore.entityIndex.byId){
|
|
4751
|
+
if (N && typeof this.mutationView.isDeleted == "function" && this.mutationView.isDeleted(S) || b.byteLength === 0 || b.byteOffset < 0 || x !== null && !x.has(S) || C.has(S) || A.has(S) || m.has(S)) continue;
|
|
4752
|
+
const y = b.type.toUpperCase();
|
|
4753
|
+
if (t.includeGeometry === !1 && this.isGeometryEntity(y)) continue;
|
|
4754
|
+
const T = tt(E, b.byteOffset, b.byteOffset + b.byteLength);
|
|
4755
|
+
let I = _.has(S) ? this.applyAttributeMutations(T, y, _.get(S)) : T;
|
|
4756
|
+
const M = N && typeof this.mutationView.getPositionalMutationsForEntity == "function" ? this.mutationView.getPositionalMutationsForEntity(S) : null;
|
|
4757
|
+
if (M && M.size > 0 && (I = this.applyPositionalMutations(I, M), d.has(S) || (d.add(S), s++)), c) {
|
|
4758
|
+
const R = ae(I, a, r);
|
|
4759
|
+
R !== null && e.push(R);
|
|
4760
|
+
} else e.push(I);
|
|
4730
4761
|
}
|
|
4731
4762
|
}
|
|
4732
|
-
for (const { entityId:
|
|
4733
|
-
const S = this.generatePropertySetEntities(
|
|
4763
|
+
for (const { entityId: E, psets: N } of p){
|
|
4764
|
+
const S = this.generatePropertySetEntities(E, N, u.get(E));
|
|
4734
4765
|
e.push(...S.lines), n += S.count;
|
|
4735
|
-
const
|
|
4736
|
-
if (
|
|
4737
|
-
const
|
|
4738
|
-
|
|
4766
|
+
const b = u.get(E);
|
|
4767
|
+
if (b && b.size > 0) {
|
|
4768
|
+
const y = this.rewriteTypeEntityHasPropertySets(E, h.get(E) ?? [], b, S.generatedTypeOwnedPsetIds);
|
|
4769
|
+
y && w.set(E, y);
|
|
4739
4770
|
}
|
|
4740
4771
|
}
|
|
4741
|
-
for (const [
|
|
4742
|
-
if (
|
|
4743
|
-
const S = this.rewriteTypeEntityHasPropertySets(
|
|
4744
|
-
S &&
|
|
4772
|
+
for (const [E, N] of u){
|
|
4773
|
+
if (w.has(E)) continue;
|
|
4774
|
+
const S = this.rewriteTypeEntityHasPropertySets(E, h.get(E) ?? [], N, new Map);
|
|
4775
|
+
S && w.set(E, S);
|
|
4745
4776
|
}
|
|
4746
|
-
for (const { entityId:
|
|
4747
|
-
const S = this.generateQuantitySetEntities(
|
|
4777
|
+
for (const { entityId: E, qsets: N } of g){
|
|
4778
|
+
const S = this.generateQuantitySetEntities(E, N);
|
|
4748
4779
|
e.push(...S.lines), n += S.count;
|
|
4749
4780
|
}
|
|
4750
|
-
for (const
|
|
4751
|
-
for (const
|
|
4752
|
-
if (this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function") for (const
|
|
4753
|
-
const
|
|
4754
|
-
if (t.includeGeometry === !1 && this.isGeometryEntity(
|
|
4755
|
-
const S = `#${
|
|
4781
|
+
for (const E of w.values())e.push(E);
|
|
4782
|
+
for (const E of P)e.push(E);
|
|
4783
|
+
if (this.mutationView && t.applyMutations !== !1 && typeof this.mutationView.getNewEntities == "function") for (const E of this.mutationView.getNewEntities()){
|
|
4784
|
+
const N = E.type.toUpperCase();
|
|
4785
|
+
if (t.includeGeometry === !1 && this.isGeometryEntity(N) || x !== null && !x.has(E.expressId)) continue;
|
|
4786
|
+
const S = `#${E.expressId}=${N}(${ms(E.attributes)});`;
|
|
4756
4787
|
if (c) {
|
|
4757
|
-
const
|
|
4758
|
-
|
|
4788
|
+
const b = ae(S, a, r);
|
|
4789
|
+
b !== null && (e.push(b), n++);
|
|
4759
4790
|
} else e.push(S), n++;
|
|
4760
4791
|
}
|
|
4761
|
-
const
|
|
4792
|
+
const v = ws(l, e);
|
|
4762
4793
|
return {
|
|
4763
|
-
content:
|
|
4794
|
+
content: v,
|
|
4764
4795
|
stats: {
|
|
4765
4796
|
entityCount: e.length,
|
|
4766
4797
|
newEntityCount: n,
|
|
4767
4798
|
modifiedEntityCount: s,
|
|
4768
|
-
fileSize:
|
|
4799
|
+
fileSize: v.byteLength
|
|
4769
4800
|
}
|
|
4770
4801
|
};
|
|
4771
4802
|
}
|
|
@@ -4806,18 +4837,18 @@ END-ISO-10303-21;
|
|
|
4806
4837
|
for (const g of c.properties){
|
|
4807
4838
|
const u = this.nextExpressId++;
|
|
4808
4839
|
r++;
|
|
4809
|
-
const
|
|
4810
|
-
s.push(
|
|
4840
|
+
const h = un(g.value, g.type), m = g.unit ? this.findUnitId(g.unit) : null, w = m !== null ? bn(m) : null, C = `#${u}=IFCPROPERTYSINGLEVALUE('${rt(g.name)}',$,${h},${w ? an(w) : "$"});`;
|
|
4841
|
+
s.push(C), l.push(u);
|
|
4811
4842
|
}
|
|
4812
4843
|
const d = this.nextExpressId++;
|
|
4813
4844
|
r++;
|
|
4814
|
-
const
|
|
4845
|
+
const f = l.map((g)=>`#${g}`).join(","), _ = this.generateGlobalId(), p = `#${d}=IFCPROPERTYSET('${_}',$,'${rt(c.name)}',$,(${f}));`;
|
|
4815
4846
|
if (s.push(p), n?.has(c.name)) a.set(c.name, d);
|
|
4816
4847
|
else {
|
|
4817
4848
|
const g = this.nextExpressId++;
|
|
4818
4849
|
r++;
|
|
4819
|
-
const u = this.generateGlobalId(),
|
|
4820
|
-
s.push(
|
|
4850
|
+
const u = this.generateGlobalId(), h = `#${g}=IFCRELDEFINESBYPROPERTIES('${u}',$,$,$,(#${t}),#${d});`;
|
|
4851
|
+
s.push(h);
|
|
4821
4852
|
}
|
|
4822
4853
|
}
|
|
4823
4854
|
return {
|
|
@@ -4832,18 +4863,18 @@ END-ISO-10303-21;
|
|
|
4832
4863
|
for (const r of e){
|
|
4833
4864
|
const a = [];
|
|
4834
4865
|
for (const u of r.quantities){
|
|
4835
|
-
const
|
|
4866
|
+
const h = this.nextExpressId++;
|
|
4836
4867
|
s++;
|
|
4837
|
-
const m = Is(u.type),
|
|
4838
|
-
n.push(
|
|
4868
|
+
const m = Is(u.type), w = Z(u.value), C = `#${h}=${m}('${rt(u.name)}',$,$,${w},$);`;
|
|
4869
|
+
n.push(C), a.push(h);
|
|
4839
4870
|
}
|
|
4840
4871
|
const c = this.nextExpressId++;
|
|
4841
4872
|
s++;
|
|
4842
|
-
const l = a.map((u)=>`#${u}`).join(","), d = this.generateGlobalId(),
|
|
4843
|
-
n.push(
|
|
4844
|
-
const
|
|
4873
|
+
const l = a.map((u)=>`#${u}`).join(","), d = this.generateGlobalId(), f = `#${c}=IFCELEMENTQUANTITY('${d}',$,'${rt(r.name)}',$,$,(${l}));`;
|
|
4874
|
+
n.push(f);
|
|
4875
|
+
const _ = this.nextExpressId++;
|
|
4845
4876
|
s++;
|
|
4846
|
-
const p = this.generateGlobalId(), g = `#${
|
|
4877
|
+
const p = this.generateGlobalId(), g = `#${_}=IFCRELDEFINESBYPROPERTIES('${p}',$,$,$,(#${t}),#${c});`;
|
|
4847
4878
|
n.push(g);
|
|
4848
4879
|
}
|
|
4849
4880
|
return {
|
|
@@ -4858,9 +4889,9 @@ END-ISO-10303-21;
|
|
|
4858
4889
|
if (a.length === 0) return t;
|
|
4859
4890
|
const c = nn(t.slice(s + 1, r));
|
|
4860
4891
|
let l = !1;
|
|
4861
|
-
for (const [d,
|
|
4862
|
-
const
|
|
4863
|
-
|
|
4892
|
+
for (const [d, f] of n){
|
|
4893
|
+
const _ = a.indexOf(d);
|
|
4894
|
+
_ < 0 || _ >= c.length || (c[_] = ys(f, c[_]), l = !0);
|
|
4864
4895
|
}
|
|
4865
4896
|
return l ? `${t.slice(0, s + 1)}${c.join(",")}${t.slice(r)}` : t;
|
|
4866
4897
|
}
|
|
@@ -4869,7 +4900,7 @@ END-ISO-10303-21;
|
|
|
4869
4900
|
if (n < 0 || s < n) return t;
|
|
4870
4901
|
const r = nn(t.slice(n + 1, s));
|
|
4871
4902
|
let a = !1;
|
|
4872
|
-
for (const [c, l] of e)c < 0 || c >= r.length || (r[c] =
|
|
4903
|
+
for (const [c, l] of e)c < 0 || c >= r.length || (r[c] = Ne(l), a = !0);
|
|
4873
4904
|
return a ? `${t.slice(0, n + 1)}${r.join(",")}${t.slice(s)}` : t;
|
|
4874
4905
|
}
|
|
4875
4906
|
resolveMapUnitReference(t, e) {
|
|
@@ -4880,8 +4911,8 @@ END-ISO-10303-21;
|
|
|
4880
4911
|
return e.push(`#${a}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), a;
|
|
4881
4912
|
}
|
|
4882
4913
|
if (n === "FOOT" || n === "US SURVEY FOOT") {
|
|
4883
|
-
const a = this.nextExpressId++, c = this.nextExpressId++, l = this.nextExpressId++, d = this.nextExpressId++,
|
|
4884
|
-
return e.push(`#${a}=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);`), e.push(`#${c}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), e.push(`#${l}=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(${Z(
|
|
4914
|
+
const a = this.nextExpressId++, c = this.nextExpressId++, l = this.nextExpressId++, d = this.nextExpressId++, f = n === "US SURVEY FOOT" ? 1200 / 3937 : .3048, _ = n === "US SURVEY FOOT" ? "US SURVEY FOOT" : "FOOT";
|
|
4915
|
+
return e.push(`#${a}=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);`), e.push(`#${c}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), e.push(`#${l}=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(${Z(f)}),#${c});`), e.push(`#${d}=IFCCONVERSIONBASEDUNIT(#${a},.LENGTHUNIT.,'${_}',#${l});`), d;
|
|
4885
4916
|
}
|
|
4886
4917
|
const r = this.nextExpressId++;
|
|
4887
4918
|
return e.push(`#${r}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`), r;
|
|
@@ -4898,13 +4929,13 @@ END-ISO-10303-21;
|
|
|
4898
4929
|
if (!Array.isArray(l)) return null;
|
|
4899
4930
|
for (const d of l){
|
|
4900
4931
|
if (typeof d != "number") continue;
|
|
4901
|
-
const
|
|
4902
|
-
if (!
|
|
4903
|
-
const p =
|
|
4932
|
+
const f = this.dataStore.entityIndex.byId.get(d), _ = f ? this.entityExtractor.extractEntity(f) : null;
|
|
4933
|
+
if (!_) continue;
|
|
4934
|
+
const p = _.type.toUpperCase(), g = _.attributes ?? [];
|
|
4904
4935
|
if ((typeof g[1] == "string" ? g[1].replace(/\./g, "").toUpperCase() : "") === "LENGTHUNIT") {
|
|
4905
4936
|
if (p === "IFCSIUNIT") {
|
|
4906
|
-
const
|
|
4907
|
-
if (t === "METRE" && (
|
|
4937
|
+
const h = typeof g[2] == "string" ? g[2].replace(/\./g, "").toUpperCase() : "", m = typeof g[3] == "string" ? g[3].replace(/\./g, "").toUpperCase() : "", w = h ? `${h}${m}` : m;
|
|
4938
|
+
if (t === "METRE" && (w === "METRE" || w === "METER")) return d;
|
|
4908
4939
|
}
|
|
4909
4940
|
if (p === "IFCCONVERSIONBASEDUNIT" && (typeof g[2] == "string" ? this.normalizeMapUnitName(g[2]) : "") === t) return d;
|
|
4910
4941
|
}
|
|
@@ -4987,38 +5018,38 @@ END-ISO-10303-21;
|
|
|
4987
5018
|
getRelatedEntities(t) {
|
|
4988
5019
|
const e = this.dataStore.entityIndex.byId.get(t);
|
|
4989
5020
|
if (!e || !this.dataStore.source) return [];
|
|
4990
|
-
const
|
|
4991
|
-
if (!
|
|
4992
|
-
const
|
|
4993
|
-
for (const
|
|
4994
|
-
return
|
|
5021
|
+
const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/\(([^)]+)\)\s*,\s*#(\d+)\s*\)\s*;/);
|
|
5022
|
+
if (!s) return [];
|
|
5023
|
+
const r = s[1], a = [], c = r.matchAll(/#(\d+)/g);
|
|
5024
|
+
for (const l of c)a.push(parseInt(l[1], 10));
|
|
5025
|
+
return a;
|
|
4995
5026
|
}
|
|
4996
5027
|
getRelatedPropertySet(t) {
|
|
4997
5028
|
const e = this.dataStore.entityIndex.byId.get(t);
|
|
4998
5029
|
if (!e || !this.dataStore.source) return null;
|
|
4999
|
-
const
|
|
5000
|
-
return
|
|
5030
|
+
const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/,\s*#(\d+)\s*\)\s*;$/);
|
|
5031
|
+
return s ? parseInt(s[1], 10) : null;
|
|
5001
5032
|
}
|
|
5002
5033
|
getPropertySetName(t) {
|
|
5003
5034
|
const e = this.dataStore.entityIndex.byId.get(t);
|
|
5004
5035
|
if (!e || !this.dataStore.source) return null;
|
|
5005
|
-
const
|
|
5006
|
-
return
|
|
5036
|
+
const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/IFCPROPERTYSET\s*\([^,]*,[^,]*,'([^']*)'/i);
|
|
5037
|
+
return s ? s[1] : null;
|
|
5007
5038
|
}
|
|
5008
5039
|
getElementQuantityName(t) {
|
|
5009
5040
|
const e = this.dataStore.entityIndex.byId.get(t);
|
|
5010
5041
|
if (!e || !this.dataStore.source) return null;
|
|
5011
|
-
const
|
|
5012
|
-
return
|
|
5042
|
+
const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/IFCELEMENTQUANTITY\s*\([^,]*,[^,]*,'([^']*)'/i);
|
|
5043
|
+
return s ? s[1] : null;
|
|
5013
5044
|
}
|
|
5014
5045
|
getPropertyIdsInSet(t) {
|
|
5015
5046
|
const e = this.dataStore.entityIndex.byId.get(t);
|
|
5016
5047
|
if (!e || !this.dataStore.source) return [];
|
|
5017
|
-
const
|
|
5018
|
-
if (!
|
|
5019
|
-
const
|
|
5020
|
-
for (const
|
|
5021
|
-
return
|
|
5048
|
+
const s = tt(this.dataStore.source, e.byteOffset, e.byteOffset + e.byteLength).match(/\(\s*(#[^)]+)\s*\)\s*\)\s*;$/);
|
|
5049
|
+
if (!s) return [];
|
|
5050
|
+
const r = s[1], a = [], c = r.matchAll(/#(\d+)/g);
|
|
5051
|
+
for (const l of c)a.push(parseInt(l[1], 10));
|
|
5052
|
+
return a;
|
|
5022
5053
|
}
|
|
5023
5054
|
isTypeEntity(t) {
|
|
5024
5055
|
return this.dataStore.entityIndex.byId.get(t)?.type.toUpperCase().endsWith("TYPE") ?? !1;
|
|
@@ -5035,8 +5066,8 @@ END-ISO-10303-21;
|
|
|
5035
5066
|
for (const l of e){
|
|
5036
5067
|
const d = this.getPropertySetName(l);
|
|
5037
5068
|
if (d && n.has(d)) {
|
|
5038
|
-
const
|
|
5039
|
-
|
|
5069
|
+
const f = s.get(d);
|
|
5070
|
+
f !== void 0 && (r.push(f), a.add(d));
|
|
5040
5071
|
continue;
|
|
5041
5072
|
}
|
|
5042
5073
|
r.push(l);
|
|
@@ -5048,10 +5079,10 @@ END-ISO-10303-21;
|
|
|
5048
5079
|
replaceEntityAttribute(t, e, n) {
|
|
5049
5080
|
const s = this.dataStore.entityIndex.byId.get(t);
|
|
5050
5081
|
if (!s || !this.dataStore.source) return null;
|
|
5051
|
-
const
|
|
5052
|
-
if (!
|
|
5053
|
-
const [, l, d
|
|
5054
|
-
return e >= f.length ? null : (f[e] = n, `${
|
|
5082
|
+
const a = tt(this.dataStore.source, s.byteOffset, s.byteOffset + s.byteLength).match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
|
|
5083
|
+
if (!a) return null;
|
|
5084
|
+
const [, c, l, d] = a, f = bs(l);
|
|
5085
|
+
return e >= f.length ? null : (f[e] = n, `${c}${f.join(",")}${d}`);
|
|
5055
5086
|
}
|
|
5056
5087
|
};
|
|
5057
5088
|
Ms = function(i, t) {
|
|
@@ -5069,11 +5100,11 @@ END-ISO-10303-21;
|
|
|
5069
5100
|
`);
|
|
5070
5101
|
let a = n.byteLength + s.byteLength;
|
|
5071
5102
|
const c = new Array(t.length);
|
|
5072
|
-
for(let
|
|
5103
|
+
for(let f = 0; f < t.length; f++)c[f] = e.encode(t[f]), a += c[f].byteLength + r.byteLength;
|
|
5073
5104
|
const l = new Uint8Array(a);
|
|
5074
5105
|
let d = 0;
|
|
5075
5106
|
l.set(n, d), d += n.byteLength;
|
|
5076
|
-
for(let
|
|
5107
|
+
for(let f = 0; f < c.length; f++)l.set(c[f], d), d += c[f].byteLength, l.set(r, d), d += r.byteLength;
|
|
5077
5108
|
return l.set(s, d), l;
|
|
5078
5109
|
}
|
|
5079
5110
|
const Cs = /#(\d+)/g, Ts = new Set([
|
|
@@ -5088,55 +5119,55 @@ END-ISO-10303-21;
|
|
|
5088
5119
|
this.models = t;
|
|
5089
5120
|
}
|
|
5090
5121
|
export(t) {
|
|
5091
|
-
const e = t.onProgress, n = t.schema || "IFC4", s =
|
|
5122
|
+
const e = t.onProgress, n = t.schema || "IFC4", s = be({
|
|
5092
5123
|
schema: n,
|
|
5093
5124
|
description: t.description || `Merged export of ${this.models.length} models from ifc-lite`,
|
|
5094
5125
|
author: t.author || "",
|
|
5095
5126
|
organization: t.organization || "",
|
|
5096
5127
|
application: t.application || "ifc-lite",
|
|
5097
5128
|
filename: t.filename || "merged.ifc"
|
|
5098
|
-
}), r = []
|
|
5099
|
-
let
|
|
5100
|
-
const
|
|
5101
|
-
for (const
|
|
5102
|
-
|
|
5103
|
-
let
|
|
5104
|
-
for (const [
|
|
5105
|
-
|
|
5106
|
-
}
|
|
5107
|
-
const
|
|
5108
|
-
let
|
|
5109
|
-
for (const
|
|
5110
|
-
const
|
|
5111
|
-
if (!
|
|
5112
|
-
let
|
|
5129
|
+
}), r = [];
|
|
5130
|
+
let a = 1;
|
|
5131
|
+
const c = new Map;
|
|
5132
|
+
for (const h of this.models){
|
|
5133
|
+
c.set(h.id, a - 1);
|
|
5134
|
+
let m = 0;
|
|
5135
|
+
for (const [w] of h.dataStore.entityIndex.byId)w > m && (m = w);
|
|
5136
|
+
a += m;
|
|
5137
|
+
}
|
|
5138
|
+
const l = this.models[0], d = c.get(l.id), f = this.findInfrastructureEntities(l.dataStore), _ = this.findEntitiesByType(l.dataStore, "IFCPROJECT"), p = this.buildSpatialLookup(l.dataStore);
|
|
5139
|
+
let g = !0;
|
|
5140
|
+
for (const h of this.models){
|
|
5141
|
+
const m = c.get(h.id), w = h.dataStore.source;
|
|
5142
|
+
if (!w || w.length === 0) continue;
|
|
5143
|
+
let C = null;
|
|
5113
5144
|
if (t.visibleOnly) {
|
|
5114
|
-
const
|
|
5115
|
-
|
|
5145
|
+
const z = t.hiddenEntityIdsByModel?.get(h.id) ?? new Set, x = t.isolatedEntityIdsByModel?.get(h.id) ?? null, { roots: v, hiddenProductIds: E } = Fe(h.dataStore, z, x);
|
|
5146
|
+
C = Te(v, w, h.dataStore.entityIndex.byId, E), Re(C, w, h.dataStore.entityIndex);
|
|
5116
5147
|
}
|
|
5117
|
-
const
|
|
5118
|
-
if (!
|
|
5119
|
-
const
|
|
5120
|
-
if (
|
|
5121
|
-
const
|
|
5122
|
-
for (const [
|
|
5123
|
-
const
|
|
5124
|
-
|
|
5148
|
+
const A = new Map, P = new Set;
|
|
5149
|
+
if (!g) {
|
|
5150
|
+
const z = this.findEntitiesByType(h.dataStore, "IFCPROJECT");
|
|
5151
|
+
if (_.length > 0) for (const v of z)A.set(v, _[0] + d), P.add(v);
|
|
5152
|
+
const x = this.findInfrastructureEntities(h.dataStore);
|
|
5153
|
+
for (const [v, E] of f){
|
|
5154
|
+
const N = x.get(v);
|
|
5155
|
+
N && E.length > 0 && N.length > 0 && (A.set(N[0], E[0] + d), P.add(N[0]));
|
|
5125
5156
|
}
|
|
5126
|
-
this.unifySpatialEntities(
|
|
5157
|
+
this.unifySpatialEntities(h.dataStore, p, d, A, P), this.skipRedundantRelAggregates(h.dataStore, A, P);
|
|
5127
5158
|
}
|
|
5128
|
-
for (const [
|
|
5129
|
-
if (
|
|
5130
|
-
const
|
|
5131
|
-
let
|
|
5132
|
-
|
|
5133
|
-
const
|
|
5134
|
-
if (
|
|
5135
|
-
const
|
|
5136
|
-
|
|
5137
|
-
} else r.push(
|
|
5159
|
+
for (const [z, x] of h.dataStore.entityIndex.byId){
|
|
5160
|
+
if (C !== null && !C.has(z) || P.has(z)) continue;
|
|
5161
|
+
const v = tt(w, x.byteOffset, x.byteOffset + x.byteLength);
|
|
5162
|
+
let E;
|
|
5163
|
+
m === 0 && A.size === 0 ? E = v : E = this.remapEntityText(v, m, A);
|
|
5164
|
+
const N = h.dataStore.schemaVersion || "IFC4";
|
|
5165
|
+
if (Se(N, n)) {
|
|
5166
|
+
const S = ae(E, N, n);
|
|
5167
|
+
S !== null && r.push(S);
|
|
5168
|
+
} else r.push(E);
|
|
5138
5169
|
}
|
|
5139
|
-
|
|
5170
|
+
g = !1;
|
|
5140
5171
|
}
|
|
5141
5172
|
e && e({
|
|
5142
5173
|
phase: "assembling",
|
|
@@ -5144,109 +5175,109 @@ END-ISO-10303-21;
|
|
|
5144
5175
|
entitiesProcessed: r.length,
|
|
5145
5176
|
entitiesTotal: r.length
|
|
5146
5177
|
});
|
|
5147
|
-
const
|
|
5178
|
+
const u = sn(s, r);
|
|
5148
5179
|
return {
|
|
5149
|
-
content:
|
|
5180
|
+
content: u,
|
|
5150
5181
|
stats: {
|
|
5151
5182
|
modelCount: this.models.length,
|
|
5152
5183
|
totalEntityCount: r.length,
|
|
5153
|
-
fileSize:
|
|
5184
|
+
fileSize: u.byteLength
|
|
5154
5185
|
}
|
|
5155
5186
|
};
|
|
5156
5187
|
}
|
|
5157
5188
|
async exportAsync(t) {
|
|
5158
|
-
const e = t.onProgress, n = t.schema || "IFC4", s =
|
|
5189
|
+
const e = t.onProgress, n = t.schema || "IFC4", s = be({
|
|
5159
5190
|
schema: n,
|
|
5160
5191
|
description: t.description || `Merged export of ${this.models.length} models from ifc-lite`,
|
|
5161
5192
|
author: t.author || "",
|
|
5162
5193
|
organization: t.organization || "",
|
|
5163
5194
|
application: t.application || "ifc-lite",
|
|
5164
5195
|
filename: t.filename || "merged.ifc"
|
|
5165
|
-
}), r = []
|
|
5166
|
-
let
|
|
5167
|
-
for (const
|
|
5168
|
-
let
|
|
5169
|
-
const
|
|
5170
|
-
for (const
|
|
5171
|
-
|
|
5172
|
-
let
|
|
5173
|
-
for (const [
|
|
5174
|
-
|
|
5175
|
-
}
|
|
5176
|
-
const
|
|
5177
|
-
let
|
|
5178
|
-
const
|
|
5196
|
+
}), r = [];
|
|
5197
|
+
let a = 0;
|
|
5198
|
+
for (const C of this.models)a += C.dataStore.entityIndex.byId.size;
|
|
5199
|
+
let c = 1;
|
|
5200
|
+
const l = new Map;
|
|
5201
|
+
for (const C of this.models){
|
|
5202
|
+
l.set(C.id, c - 1);
|
|
5203
|
+
let A = 0;
|
|
5204
|
+
for (const [P] of C.dataStore.entityIndex.byId)P > A && (A = P);
|
|
5205
|
+
c += A;
|
|
5206
|
+
}
|
|
5207
|
+
const d = this.models[0], f = l.get(d.id), _ = this.findInfrastructureEntities(d.dataStore), p = this.findEntitiesByType(d.dataStore, "IFCPROJECT"), g = this.buildSpatialLookup(d.dataStore);
|
|
5208
|
+
let u = !0, h = 0;
|
|
5209
|
+
const m = 2e3;
|
|
5179
5210
|
e && e({
|
|
5180
5211
|
phase: "preparing",
|
|
5181
5212
|
percent: 0,
|
|
5182
5213
|
entitiesProcessed: 0,
|
|
5183
|
-
entitiesTotal:
|
|
5214
|
+
entitiesTotal: a
|
|
5184
5215
|
});
|
|
5185
|
-
for (const
|
|
5186
|
-
const
|
|
5187
|
-
if (!
|
|
5216
|
+
for (const C of this.models){
|
|
5217
|
+
const A = l.get(C.id), P = C.dataStore.source;
|
|
5218
|
+
if (!P || P.length === 0) continue;
|
|
5188
5219
|
e && e({
|
|
5189
5220
|
phase: "entities",
|
|
5190
|
-
percent:
|
|
5191
|
-
entitiesProcessed:
|
|
5192
|
-
entitiesTotal:
|
|
5193
|
-
currentModel:
|
|
5221
|
+
percent: a > 0 ? h / a * .85 : 0,
|
|
5222
|
+
entitiesProcessed: h,
|
|
5223
|
+
entitiesTotal: a,
|
|
5224
|
+
currentModel: C.name
|
|
5194
5225
|
});
|
|
5195
|
-
let
|
|
5226
|
+
let z = null;
|
|
5196
5227
|
if (t.visibleOnly) {
|
|
5197
|
-
const
|
|
5198
|
-
|
|
5228
|
+
const N = t.hiddenEntityIdsByModel?.get(C.id) ?? new Set, S = t.isolatedEntityIdsByModel?.get(C.id) ?? null, { roots: b, hiddenProductIds: y } = Fe(C.dataStore, N, S);
|
|
5229
|
+
z = Te(b, P, C.dataStore.entityIndex.byId, y), Re(z, P, C.dataStore.entityIndex);
|
|
5199
5230
|
}
|
|
5200
|
-
const
|
|
5201
|
-
if (!
|
|
5202
|
-
const
|
|
5203
|
-
if (
|
|
5204
|
-
const
|
|
5205
|
-
for (const [
|
|
5206
|
-
const
|
|
5207
|
-
|
|
5231
|
+
const x = new Map, v = new Set;
|
|
5232
|
+
if (!u) {
|
|
5233
|
+
const N = this.findEntitiesByType(C.dataStore, "IFCPROJECT");
|
|
5234
|
+
if (p.length > 0) for (const b of N)x.set(b, p[0] + f), v.add(b);
|
|
5235
|
+
const S = this.findInfrastructureEntities(C.dataStore);
|
|
5236
|
+
for (const [b, y] of _){
|
|
5237
|
+
const T = S.get(b);
|
|
5238
|
+
T && y.length > 0 && T.length > 0 && (x.set(T[0], y[0] + f), v.add(T[0]));
|
|
5208
5239
|
}
|
|
5209
|
-
this.unifySpatialEntities(
|
|
5240
|
+
this.unifySpatialEntities(C.dataStore, g, f, x, v), this.skipRedundantRelAggregates(C.dataStore, x, v);
|
|
5210
5241
|
}
|
|
5211
|
-
let
|
|
5212
|
-
for (const [
|
|
5213
|
-
if (
|
|
5214
|
-
const
|
|
5215
|
-
let
|
|
5216
|
-
|
|
5217
|
-
const
|
|
5218
|
-
if (
|
|
5219
|
-
const
|
|
5220
|
-
|
|
5221
|
-
} else r.push(
|
|
5222
|
-
|
|
5242
|
+
let E = 0;
|
|
5243
|
+
for (const [N, S] of C.dataStore.entityIndex.byId){
|
|
5244
|
+
if (z !== null && !z.has(N) || v.has(N)) continue;
|
|
5245
|
+
const b = tt(P, S.byteOffset, S.byteOffset + S.byteLength);
|
|
5246
|
+
let y;
|
|
5247
|
+
A === 0 && x.size === 0 ? y = b : y = this.remapEntityText(b, A, x);
|
|
5248
|
+
const T = C.dataStore.schemaVersion || "IFC4";
|
|
5249
|
+
if (Se(T, n)) {
|
|
5250
|
+
const I = ae(y, T, n);
|
|
5251
|
+
I !== null && r.push(I);
|
|
5252
|
+
} else r.push(y);
|
|
5253
|
+
E++, h++, E % m === 0 && (e && e({
|
|
5223
5254
|
phase: "entities",
|
|
5224
|
-
percent:
|
|
5225
|
-
entitiesProcessed:
|
|
5226
|
-
entitiesTotal:
|
|
5227
|
-
currentModel:
|
|
5228
|
-
}), await new Promise((
|
|
5255
|
+
percent: a > 0 ? h / a * .85 : 0,
|
|
5256
|
+
entitiesProcessed: h,
|
|
5257
|
+
entitiesTotal: a,
|
|
5258
|
+
currentModel: C.name
|
|
5259
|
+
}), await new Promise((I)=>setTimeout(I, 0)));
|
|
5229
5260
|
}
|
|
5230
|
-
|
|
5261
|
+
u = !1;
|
|
5231
5262
|
}
|
|
5232
5263
|
e && e({
|
|
5233
5264
|
phase: "assembling",
|
|
5234
5265
|
percent: .9,
|
|
5235
|
-
entitiesProcessed:
|
|
5236
|
-
entitiesTotal:
|
|
5237
|
-
}), await new Promise((
|
|
5238
|
-
const
|
|
5266
|
+
entitiesProcessed: a,
|
|
5267
|
+
entitiesTotal: a
|
|
5268
|
+
}), await new Promise((C)=>setTimeout(C, 0));
|
|
5269
|
+
const w = sn(s, r);
|
|
5239
5270
|
return e && e({
|
|
5240
5271
|
phase: "assembling",
|
|
5241
5272
|
percent: 1,
|
|
5242
|
-
entitiesProcessed:
|
|
5243
|
-
entitiesTotal:
|
|
5273
|
+
entitiesProcessed: a,
|
|
5274
|
+
entitiesTotal: a
|
|
5244
5275
|
}), {
|
|
5245
|
-
content:
|
|
5276
|
+
content: w,
|
|
5246
5277
|
stats: {
|
|
5247
5278
|
modelCount: this.models.length,
|
|
5248
5279
|
totalEntityCount: r.length,
|
|
5249
|
-
fileSize:
|
|
5280
|
+
fileSize: w.byteLength
|
|
5250
5281
|
}
|
|
5251
5282
|
};
|
|
5252
5283
|
}
|
|
@@ -5269,8 +5300,8 @@ END-ISO-10303-21;
|
|
|
5269
5300
|
findEntitiesByType(t, e) {
|
|
5270
5301
|
return t.entityIndex.byType.get(e) ?? [];
|
|
5271
5302
|
}
|
|
5272
|
-
buildSpatialLookup(t
|
|
5273
|
-
const
|
|
5303
|
+
buildSpatialLookup(t) {
|
|
5304
|
+
const e = {
|
|
5274
5305
|
sitesByName: new Map,
|
|
5275
5306
|
buildingsByName: new Map,
|
|
5276
5307
|
storeysByName: new Map,
|
|
@@ -5278,116 +5309,116 @@ END-ISO-10303-21;
|
|
|
5278
5309
|
siteIds: [],
|
|
5279
5310
|
buildingIds: []
|
|
5280
5311
|
};
|
|
5281
|
-
for (const
|
|
5282
|
-
|
|
5283
|
-
const
|
|
5284
|
-
|
|
5285
|
-
}
|
|
5286
|
-
for (const
|
|
5287
|
-
|
|
5288
|
-
const
|
|
5289
|
-
|
|
5290
|
-
}
|
|
5291
|
-
for (const
|
|
5292
|
-
const
|
|
5293
|
-
|
|
5294
|
-
const
|
|
5295
|
-
|
|
5296
|
-
expressId:
|
|
5297
|
-
elevation:
|
|
5312
|
+
for (const n of this.findEntitiesByType(t, "IFCSITE")){
|
|
5313
|
+
e.siteIds.push(n);
|
|
5314
|
+
const s = this.extractEntityName(n, t);
|
|
5315
|
+
s && e.sitesByName.set(s.toLowerCase(), n);
|
|
5316
|
+
}
|
|
5317
|
+
for (const n of this.findEntitiesByType(t, "IFCBUILDING")){
|
|
5318
|
+
e.buildingIds.push(n);
|
|
5319
|
+
const s = this.extractEntityName(n, t);
|
|
5320
|
+
s && e.buildingsByName.set(s.toLowerCase(), n);
|
|
5321
|
+
}
|
|
5322
|
+
for (const n of this.findEntitiesByType(t, "IFCBUILDINGSTOREY")){
|
|
5323
|
+
const s = this.extractEntityName(n, t);
|
|
5324
|
+
s && e.storeysByName.set(s.toLowerCase(), n);
|
|
5325
|
+
const r = this.extractStoreyElevation(n, t);
|
|
5326
|
+
r !== void 0 && e.storeysByElevation.push({
|
|
5327
|
+
expressId: n,
|
|
5328
|
+
elevation: r
|
|
5298
5329
|
});
|
|
5299
5330
|
}
|
|
5300
|
-
return
|
|
5331
|
+
return e;
|
|
5301
5332
|
}
|
|
5302
|
-
unifySpatialEntities(t, e, n, s, r
|
|
5303
|
-
const
|
|
5304
|
-
for (const
|
|
5305
|
-
const f = this.extractEntityName(
|
|
5306
|
-
let
|
|
5307
|
-
f && (
|
|
5308
|
-
}
|
|
5309
|
-
const
|
|
5310
|
-
for (const
|
|
5311
|
-
const f = this.extractEntityName(
|
|
5312
|
-
let
|
|
5313
|
-
f && (
|
|
5314
|
-
}
|
|
5315
|
-
const
|
|
5316
|
-
for (const
|
|
5317
|
-
const f = this.extractEntityName(
|
|
5318
|
-
let
|
|
5333
|
+
unifySpatialEntities(t, e, n, s, r) {
|
|
5334
|
+
const a = this.findEntitiesByType(t, "IFCSITE");
|
|
5335
|
+
for (const d of a){
|
|
5336
|
+
const f = this.extractEntityName(d, t);
|
|
5337
|
+
let _;
|
|
5338
|
+
f && (_ = e.sitesByName.get(f.toLowerCase())), _ === void 0 && a.length === 1 && e.siteIds.length === 1 && (_ = e.siteIds[0]), _ !== void 0 && (s.set(d, _ + n), r.add(d));
|
|
5339
|
+
}
|
|
5340
|
+
const c = this.findEntitiesByType(t, "IFCBUILDING");
|
|
5341
|
+
for (const d of c){
|
|
5342
|
+
const f = this.extractEntityName(d, t);
|
|
5343
|
+
let _;
|
|
5344
|
+
f && (_ = e.buildingsByName.get(f.toLowerCase())), _ === void 0 && c.length === 1 && e.buildingIds.length === 1 && (_ = e.buildingIds[0]), _ !== void 0 && (s.set(d, _ + n), r.add(d));
|
|
5345
|
+
}
|
|
5346
|
+
const l = new Set;
|
|
5347
|
+
for (const d of this.findEntitiesByType(t, "IFCBUILDINGSTOREY")){
|
|
5348
|
+
const f = this.extractEntityName(d, t);
|
|
5349
|
+
let _;
|
|
5319
5350
|
if (f) {
|
|
5320
|
-
const
|
|
5321
|
-
|
|
5351
|
+
const p = e.storeysByName.get(f.toLowerCase());
|
|
5352
|
+
p !== void 0 && !l.has(p) && (_ = p);
|
|
5322
5353
|
}
|
|
5323
|
-
if (
|
|
5324
|
-
const
|
|
5325
|
-
if (
|
|
5326
|
-
if (
|
|
5327
|
-
const
|
|
5328
|
-
if (Math.abs(
|
|
5329
|
-
|
|
5354
|
+
if (_ === void 0) {
|
|
5355
|
+
const p = this.extractStoreyElevation(d, t);
|
|
5356
|
+
if (p !== void 0) for (const g of e.storeysByElevation){
|
|
5357
|
+
if (l.has(g.expressId)) continue;
|
|
5358
|
+
const u = Math.max(.5, Math.abs(g.elevation) * .01);
|
|
5359
|
+
if (Math.abs(p - g.elevation) <= u) {
|
|
5360
|
+
_ = g.expressId;
|
|
5330
5361
|
break;
|
|
5331
5362
|
}
|
|
5332
5363
|
}
|
|
5333
5364
|
}
|
|
5334
|
-
|
|
5335
|
-
}
|
|
5336
|
-
}
|
|
5337
|
-
skipRedundantRelAggregates(t, e, n
|
|
5338
|
-
for (const
|
|
5339
|
-
const
|
|
5340
|
-
if (!
|
|
5341
|
-
const
|
|
5342
|
-
if (!
|
|
5343
|
-
const
|
|
5344
|
-
if (!
|
|
5345
|
-
const
|
|
5365
|
+
_ !== void 0 && (l.add(_), s.set(d, _ + n), r.add(d));
|
|
5366
|
+
}
|
|
5367
|
+
}
|
|
5368
|
+
skipRedundantRelAggregates(t, e, n) {
|
|
5369
|
+
for (const s of this.findEntitiesByType(t, "IFCRELAGGREGATES")){
|
|
5370
|
+
const r = this.extractStepAttribute(s, t, 4);
|
|
5371
|
+
if (!r) continue;
|
|
5372
|
+
const a = r.match(/^#(\d+)$/);
|
|
5373
|
+
if (!a || !e.has(parseInt(a[1], 10))) continue;
|
|
5374
|
+
const c = this.extractStepAttribute(s, t, 5);
|
|
5375
|
+
if (!c) continue;
|
|
5376
|
+
const l = [], d = /#(\d+)/g;
|
|
5346
5377
|
let f;
|
|
5347
|
-
for(; (f =
|
|
5348
|
-
|
|
5378
|
+
for(; (f = d.exec(c)) !== null;)l.push(parseInt(f[1], 10));
|
|
5379
|
+
l.length !== 0 && l.every((_)=>e.has(_)) && n.add(s);
|
|
5349
5380
|
}
|
|
5350
5381
|
}
|
|
5351
|
-
extractEntityName(t, e
|
|
5352
|
-
const
|
|
5353
|
-
if (!
|
|
5354
|
-
if (
|
|
5355
|
-
const
|
|
5356
|
-
return En(
|
|
5382
|
+
extractEntityName(t, e) {
|
|
5383
|
+
const n = this.extractStepAttribute(t, e, 2);
|
|
5384
|
+
if (!n || n === "$") return null;
|
|
5385
|
+
if (n.startsWith("'") && n.endsWith("'")) {
|
|
5386
|
+
const s = n.slice(1, -1).replace(/''/g, "'");
|
|
5387
|
+
return En(s);
|
|
5357
5388
|
}
|
|
5358
5389
|
return null;
|
|
5359
5390
|
}
|
|
5360
|
-
extractStoreyElevation(t, e
|
|
5361
|
-
const
|
|
5362
|
-
if (!
|
|
5363
|
-
const
|
|
5364
|
-
return isNaN(
|
|
5391
|
+
extractStoreyElevation(t, e) {
|
|
5392
|
+
const n = this.extractStepAttribute(t, e, 9);
|
|
5393
|
+
if (!n || n === "$") return;
|
|
5394
|
+
const s = n.match(/^[A-Z_]+\(([^)]+)\)$/i), r = s ? s[1] : n, a = parseFloat(r);
|
|
5395
|
+
return isNaN(a) ? void 0 : a;
|
|
5365
5396
|
}
|
|
5366
|
-
extractStepAttribute(t, e, n
|
|
5367
|
-
const
|
|
5397
|
+
extractStepAttribute(t, e, n) {
|
|
5398
|
+
const s = e.source;
|
|
5399
|
+
if (!s) return null;
|
|
5400
|
+
const r = e.entityIndex.byId.get(t);
|
|
5368
5401
|
if (!r) return null;
|
|
5369
|
-
const a =
|
|
5370
|
-
if (
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
if (g + 1 < c.length && c[g + 1] === "'") {
|
|
5379
|
-
g++;
|
|
5402
|
+
const a = tt(s, r.byteOffset, r.byteOffset + r.byteLength), c = a.indexOf("(");
|
|
5403
|
+
if (c === -1) return null;
|
|
5404
|
+
let l = 0, d = 0, f = c + 1, _ = !1;
|
|
5405
|
+
for(let p = c + 1; p < a.length; p++){
|
|
5406
|
+
const g = a[p];
|
|
5407
|
+
if (g === "'" && !_) _ = !0;
|
|
5408
|
+
else if (g === "'" && _) {
|
|
5409
|
+
if (p + 1 < a.length && a[p + 1] === "'") {
|
|
5410
|
+
p++;
|
|
5380
5411
|
continue;
|
|
5381
5412
|
}
|
|
5382
|
-
|
|
5383
|
-
} else if (!
|
|
5384
|
-
if (
|
|
5385
|
-
else if (
|
|
5386
|
-
if (
|
|
5387
|
-
|
|
5388
|
-
} else if (
|
|
5389
|
-
if (
|
|
5390
|
-
|
|
5413
|
+
_ = !1;
|
|
5414
|
+
} else if (!_) {
|
|
5415
|
+
if (g === "(") l++;
|
|
5416
|
+
else if (g === ")") {
|
|
5417
|
+
if (l === 0) return d === n ? a.substring(f, p).trim() : null;
|
|
5418
|
+
l--;
|
|
5419
|
+
} else if (g === "," && l === 0) {
|
|
5420
|
+
if (d === n) return a.substring(f, p).trim();
|
|
5421
|
+
d++, f = p + 1;
|
|
5391
5422
|
}
|
|
5392
5423
|
}
|
|
5393
5424
|
}
|
|
@@ -5402,15 +5433,15 @@ END-ISO-10303-21;
|
|
|
5402
5433
|
`);
|
|
5403
5434
|
let a = n.byteLength + s.byteLength;
|
|
5404
5435
|
const c = new Array(t.length);
|
|
5405
|
-
for(let
|
|
5436
|
+
for(let f = 0; f < t.length; f++)c[f] = e.encode(t[f]), a += c[f].byteLength + r.byteLength;
|
|
5406
5437
|
const l = new Uint8Array(a);
|
|
5407
5438
|
let d = 0;
|
|
5408
5439
|
l.set(n, d), d += n.byteLength;
|
|
5409
|
-
for(let
|
|
5440
|
+
for(let f = 0; f < c.length; f++)l.set(c[f], d), d += c[f].byteLength, l.set(r, d), d += r.byteLength;
|
|
5410
5441
|
return l.set(s, d), l;
|
|
5411
5442
|
}
|
|
5412
|
-
let
|
|
5413
|
-
|
|
5443
|
+
let ye;
|
|
5444
|
+
ye = {
|
|
5414
5445
|
IFC_CORE: "https://ifcx.dev/@standards.buildingsmart.org/ifc/core/ifc@v5a.ifcx",
|
|
5415
5446
|
IFC_PROP: "https://ifcx.dev/@standards.buildingsmart.org/ifc/core/prop@v5a.ifcx",
|
|
5416
5447
|
USD: "https://ifcx.dev/@openusd.org/usd@v1.ifcx"
|
|
@@ -5451,51 +5482,51 @@ END-ISO-10303-21;
|
|
|
5451
5482
|
this.buildEntityMaps();
|
|
5452
5483
|
const n = this.buildMeshLookup(t), s = this.buildVisibleSet(t), r = t.onlyTreeEntities !== !1 ? this.buildTreeEntitySet() : null, a = [];
|
|
5453
5484
|
let c = 0, l = 0;
|
|
5454
|
-
const { entities: d, strings:
|
|
5455
|
-
let
|
|
5456
|
-
for(let
|
|
5457
|
-
const m = d.expressId[
|
|
5485
|
+
const { entities: d, strings: f } = this.dataStore;
|
|
5486
|
+
let _ = null;
|
|
5487
|
+
for(let h = 0; h < d.count; h++){
|
|
5488
|
+
const m = d.expressId[h];
|
|
5458
5489
|
if (s && !s.has(m) || r && !r.has(m)) continue;
|
|
5459
|
-
const
|
|
5460
|
-
|
|
5461
|
-
const
|
|
5462
|
-
|
|
5463
|
-
code:
|
|
5464
|
-
uri: `https://identifier.buildingsmart.org/uri/buildingsmart/ifc/5/class/${
|
|
5490
|
+
const w = d.typeEnum[h], C = Ee(w) || "IfcElement", A = fn(C.toUpperCase(), e, "IFC5"), P = Rs(A);
|
|
5491
|
+
P === "IfcProject" && (_ = m);
|
|
5492
|
+
const z = this.entityUuids.get(m) || me(m), x = {};
|
|
5493
|
+
x["bsi::ifc::class"] = {
|
|
5494
|
+
code: P,
|
|
5495
|
+
uri: `https://identifier.buildingsmart.org/uri/buildingsmart/ifc/5/class/${P}`
|
|
5465
5496
|
};
|
|
5466
|
-
const
|
|
5467
|
-
|
|
5468
|
-
const
|
|
5469
|
-
if (
|
|
5470
|
-
const
|
|
5471
|
-
for (const [
|
|
5497
|
+
const v = f.get(d.name[h]) || this.spatialNodeNames.get(m);
|
|
5498
|
+
v && (x["bsi::ifc::prop::Name"] = v);
|
|
5499
|
+
const E = f.get(d.description[h]);
|
|
5500
|
+
if (E && (x["bsi::ifc::prop::Description"] = E), t.includeProperties !== !1) {
|
|
5501
|
+
const b = this.getPropertiesForEntity(m, t);
|
|
5502
|
+
for (const [y, T] of Object.entries(b))x[y] = T, c++;
|
|
5472
5503
|
}
|
|
5473
|
-
const
|
|
5474
|
-
path:
|
|
5504
|
+
const N = {
|
|
5505
|
+
path: z
|
|
5475
5506
|
}, S = this.getChildrenForEntity(m);
|
|
5476
|
-
if (Object.keys(S).length > 0 && (
|
|
5477
|
-
const
|
|
5478
|
-
if (
|
|
5479
|
-
const
|
|
5480
|
-
|
|
5481
|
-
const [
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
|
|
5486
|
-
],
|
|
5507
|
+
if (Object.keys(S).length > 0 && (N.children = S), t.includeGeometry !== !1) {
|
|
5508
|
+
const b = n.get(m);
|
|
5509
|
+
if (b && b.length > 0) {
|
|
5510
|
+
const y = this.convertToUsdMesh(b);
|
|
5511
|
+
x["usd::usdgeom::mesh"] = y;
|
|
5512
|
+
const [T, I, M, R] = b[0].color;
|
|
5513
|
+
x["bsi::ifc::presentation::diffuseColor"] = [
|
|
5514
|
+
T,
|
|
5515
|
+
I,
|
|
5516
|
+
M
|
|
5517
|
+
], R < 1 && (x["bsi::ifc::presentation::opacity"] = R), l++;
|
|
5487
5518
|
}
|
|
5488
5519
|
}
|
|
5489
|
-
Object.keys(
|
|
5520
|
+
Object.keys(x).length > 0 && (N.attributes = x), a.push(N);
|
|
5490
5521
|
}
|
|
5491
|
-
if (
|
|
5492
|
-
const
|
|
5493
|
-
if (
|
|
5494
|
-
const m = this.childNames.get(
|
|
5522
|
+
if (_ !== null) {
|
|
5523
|
+
const h = this.entityUuids.get(_);
|
|
5524
|
+
if (h) {
|
|
5525
|
+
const m = this.childNames.get(_) || f.get(d.name[this.findEntityIndex(_)]) || "Project", w = me(0);
|
|
5495
5526
|
a.unshift({
|
|
5496
|
-
path:
|
|
5527
|
+
path: w,
|
|
5497
5528
|
children: {
|
|
5498
|
-
[m]:
|
|
5529
|
+
[m]: h
|
|
5499
5530
|
},
|
|
5500
5531
|
attributes: {}
|
|
5501
5532
|
});
|
|
@@ -5532,18 +5563,18 @@ END-ISO-10303-21;
|
|
|
5532
5563
|
const { spatialHierarchy: t, entities: e, strings: n } = this.dataStore;
|
|
5533
5564
|
this.entityUuids.clear();
|
|
5534
5565
|
for(let l = 0; l < e.count; l++){
|
|
5535
|
-
const d = e.expressId[l],
|
|
5536
|
-
this.entityUuids.set(d,
|
|
5566
|
+
const d = e.expressId[l], f = n.get(e.globalId[l]);
|
|
5567
|
+
this.entityUuids.set(d, f || me(d));
|
|
5537
5568
|
}
|
|
5538
5569
|
const s = new Map, r = (l, d)=>{
|
|
5539
|
-
if (d) for (const
|
|
5570
|
+
if (d) for (const f of d)s.set(f, l);
|
|
5540
5571
|
};
|
|
5541
5572
|
if (this.spatialChildIds.clear(), this.spatialNodeNames.clear(), t?.project) {
|
|
5542
5573
|
const l = (d)=>{
|
|
5543
5574
|
d.name && this.spatialNodeNames.set(d.expressId, d.name);
|
|
5544
|
-
const
|
|
5545
|
-
for (const
|
|
5546
|
-
this.spatialChildIds.set(d.expressId,
|
|
5575
|
+
const f = [];
|
|
5576
|
+
for (const _ of d.children)s.set(_.expressId, d.expressId), f.push(_.expressId), l(_);
|
|
5577
|
+
this.spatialChildIds.set(d.expressId, f);
|
|
5547
5578
|
};
|
|
5548
5579
|
l(t.project);
|
|
5549
5580
|
}
|
|
@@ -5553,17 +5584,17 @@ END-ISO-10303-21;
|
|
|
5553
5584
|
t.byBuilding,
|
|
5554
5585
|
t.byStorey,
|
|
5555
5586
|
t.bySpace
|
|
5556
|
-
])if (l) for (const [d,
|
|
5587
|
+
])if (l) for (const [d, f] of l)r(d, f);
|
|
5557
5588
|
}
|
|
5558
5589
|
const a = new Map;
|
|
5559
5590
|
for(let l = 0; l < e.count; l++){
|
|
5560
5591
|
const d = e.expressId[l];
|
|
5561
|
-
let
|
|
5562
|
-
if (
|
|
5563
|
-
const
|
|
5564
|
-
|
|
5592
|
+
let f = n.get(e.name[l]) || "";
|
|
5593
|
+
if (f || (f = this.spatialNodeNames.get(d) || ""), !f) {
|
|
5594
|
+
const _ = Ee(e.typeEnum[l]);
|
|
5595
|
+
_ !== "Unknown" && (f = _);
|
|
5565
5596
|
}
|
|
5566
|
-
a.set(d,
|
|
5597
|
+
a.set(d, f);
|
|
5567
5598
|
}
|
|
5568
5599
|
const c = new Map;
|
|
5569
5600
|
for (const [l, d] of s)c.has(d) || c.set(d, []), c.get(d).push(l);
|
|
@@ -5574,13 +5605,13 @@ END-ISO-10303-21;
|
|
|
5574
5605
|
this.childNames.clear();
|
|
5575
5606
|
for (const [, l] of c){
|
|
5576
5607
|
const d = new Map;
|
|
5577
|
-
for (const
|
|
5578
|
-
const p = (a.get(
|
|
5608
|
+
for (const f of l){
|
|
5609
|
+
const p = (a.get(f) || `e${f}`).replace(/[/\\]/g, "_").replace(/\s+/g, "_");
|
|
5579
5610
|
d.set(p, (d.get(p) || 0) + 1);
|
|
5580
5611
|
}
|
|
5581
|
-
for (const
|
|
5582
|
-
const p = (a.get(
|
|
5583
|
-
this.childNames.set(
|
|
5612
|
+
for (const f of l){
|
|
5613
|
+
const p = (a.get(f) || `e${f}`).replace(/[/\\]/g, "_").replace(/\s+/g, "_");
|
|
5614
|
+
this.childNames.set(f, d.get(p) > 1 ? `${p}_${f}` : p);
|
|
5584
5615
|
}
|
|
5585
5616
|
}
|
|
5586
5617
|
}
|
|
@@ -5606,12 +5637,12 @@ END-ISO-10303-21;
|
|
|
5606
5637
|
convertPropertyValue(t, e) {
|
|
5607
5638
|
if (t == null) return null;
|
|
5608
5639
|
switch(e){
|
|
5609
|
-
case
|
|
5640
|
+
case nt.Real:
|
|
5610
5641
|
return Number(t);
|
|
5611
|
-
case
|
|
5642
|
+
case nt.Integer:
|
|
5612
5643
|
return Math.round(Number(t));
|
|
5613
|
-
case
|
|
5614
|
-
case
|
|
5644
|
+
case nt.Boolean:
|
|
5645
|
+
case nt.Logical:
|
|
5615
5646
|
return !!t;
|
|
5616
5647
|
default:
|
|
5617
5648
|
return t;
|
|
@@ -5703,21 +5734,21 @@ END-ISO-10303-21;
|
|
|
5703
5734
|
}
|
|
5704
5735
|
const s = [];
|
|
5705
5736
|
return t && s.push({
|
|
5706
|
-
uri:
|
|
5737
|
+
uri: ye.IFC_CORE
|
|
5707
5738
|
}), e && s.push({
|
|
5708
|
-
uri:
|
|
5739
|
+
uri: ye.IFC_PROP
|
|
5709
5740
|
}), n && s.push({
|
|
5710
|
-
uri:
|
|
5741
|
+
uri: ye.USD
|
|
5711
5742
|
}), s;
|
|
5712
5743
|
}
|
|
5713
|
-
function
|
|
5744
|
+
function me(i) {
|
|
5714
5745
|
return `00000000-0000-4000-8000-${i.toString(16).padStart(12, "0")}`;
|
|
5715
5746
|
}
|
|
5716
5747
|
function Rs(i) {
|
|
5717
|
-
const t = wn(i), e =
|
|
5748
|
+
const t = wn(i), e = Ee(t);
|
|
5718
5749
|
if (e !== "Unknown") return e;
|
|
5719
5750
|
const n = i.toLowerCase();
|
|
5720
5751
|
return n.startsWith("ifc") ? "Ifc" + n.charAt(3).toUpperCase() + n.slice(4) : i;
|
|
5721
5752
|
}
|
|
5722
5753
|
});
|
|
5723
|
-
export {
|
|
5754
|
+
export { xs as C, Os as G, rn as I, Ls as M, Es as S, dn as _, Ce as a, $n as b, Bs as c, we as d, Un as e, se as f, As as g, Ms as h, Ns as i, __tla };
|