@roomle/web-sdk 3.6.0-alpha.3 → 3.6.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/BufferGeometry-DLEagG41.mjs +1022 -0
- package/lib/BufferGeometry-DLEagG41.mjs.map +1 -0
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/GLTFExporter-D8qsdwDK.mjs +1092 -0
- package/lib/GLTFExporter-D8qsdwDK.mjs.map +1 -0
- package/lib/Object3D-DSjIOhON.mjs +1713 -0
- package/lib/Object3D-DSjIOhON.mjs.map +1 -0
- package/lib/PointLightHelper-BnjxGaOG.mjs +257 -0
- package/lib/PointLightHelper-BnjxGaOG.mjs.map +1 -0
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/SpotLightHelper-DqsfqCrs.mjs +154 -0
- package/lib/SpotLightHelper-DqsfqCrs.mjs.map +1 -0
- package/lib/USDZExporter-DxIqi8St.mjs +296 -0
- package/lib/USDZExporter-DxIqi8St.mjs.map +1 -0
- package/lib/Vector4-DGmBYfpK.mjs +204 -0
- package/lib/Vector4-DGmBYfpK.mjs.map +1 -0
- package/lib/api-xDJ-Uyom.mjs +55 -0
- package/lib/api-xDJ-Uyom.mjs.map +1 -0
- package/lib/banana-for-scale-C_iNmlCT.mjs +36 -0
- package/lib/banana-for-scale-C_iNmlCT.mjs.map +1 -0
- package/lib/common-utils-DMSTohiS.mjs +187 -0
- package/lib/common-utils-DMSTohiS.mjs.map +1 -0
- package/lib/component-dimensioning-CvRmUja4.mjs +162 -0
- package/lib/component-dimensioning-CvRmUja4.mjs.map +1 -0
- package/lib/component-raycast-helper-CEp7wy9c.mjs +97 -0
- package/lib/component-raycast-helper-CEp7wy9c.mjs.map +1 -0
- package/lib/configurator-BaUt4_LF.mjs +2 -0
- package/lib/configurator-CmuhFgC9.mjs +45 -0
- package/lib/configurator-CmuhFgC9.mjs.map +1 -0
- package/lib/continuous-drawing-helper-v_5UAM9A.mjs +42 -0
- package/lib/continuous-drawing-helper-v_5UAM9A.mjs.map +1 -0
- package/lib/decorate-C1QnXPYw.mjs +35 -0
- package/lib/decorate-C1QnXPYw.mjs.map +1 -0
- package/lib/dimensioning-helper-DTcW85Oq.mjs +2 -0
- package/lib/dimensioning-helper-Fwpt1HTT.mjs +268 -0
- package/lib/dimensioning-helper-Fwpt1HTT.mjs.map +1 -0
- package/lib/fflate.module-dFNj5UPI.mjs +536 -0
- package/lib/fflate.module-dFNj5UPI.mjs.map +1 -0
- package/lib/glb-viewer-BzNA9-zH.mjs +315 -0
- package/lib/glb-viewer-BzNA9-zH.mjs.map +1 -0
- package/lib/glb-viewer-DOxBD5k-.mjs +2 -0
- package/lib/homag-intelligence-BwGjJEws.mjs +381 -0
- package/lib/homag-intelligence-BwGjJEws.mjs.map +1 -0
- package/lib/imos-ix-poc-export-helper-CQh94HsO.mjs +161 -0
- package/lib/imos-ix-poc-export-helper-CQh94HsO.mjs.map +1 -0
- package/lib/kernel-BAQSG9r5.mjs +46 -0
- package/lib/kernel-BAQSG9r5.mjs.map +1 -0
- package/lib/kernel-utils-H74uNY1h.mjs +44 -0
- package/lib/kernel-utils-H74uNY1h.mjs.map +1 -0
- package/lib/layer-C_JtkhdO.mjs +8 -0
- package/lib/layer-C_JtkhdO.mjs.map +1 -0
- package/lib/main-CtVIB52l.mjs +20458 -0
- package/lib/main-CtVIB52l.mjs.map +1 -0
- package/lib/material-viewer-Bq4smZ6f.mjs +292 -0
- package/lib/material-viewer-Bq4smZ6f.mjs.map +1 -0
- package/lib/planner-CVw_xzGh.mjs +44 -0
- package/lib/planner-CVw_xzGh.mjs.map +1 -0
- package/lib/planner-si70gWA2.mjs +2 -0
- package/lib/plugin-system-D9K46xJk.mjs +55 -0
- package/lib/plugin-system-D9K46xJk.mjs.map +1 -0
- package/lib/roomle-sdk.d.ts +33 -21
- package/lib/roomle-sdk.js +7 -36
- package/lib/scene-renderer-D8HkTFeZ.mjs +3826 -0
- package/lib/scene-renderer-D8HkTFeZ.mjs.map +1 -0
- package/lib/script-loader-D8xCRzTr.mjs +45 -0
- package/lib/script-loader-D8xCRzTr.mjs.map +1 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_decoder.js +34 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_encoder.js +33 -0
- package/lib/static/draco/node_modules/three/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -0
- package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/configuratorCoreInterface.d.ts +1 -0
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/embind/plannerCoreInterface.d.ts +2 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/configurationGeometryConstructor.d.ts +1 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/configurationGeometryConstructor.js +22 -2
- package/lib/static/roomle-core-hsc/{configurationGeometryConstructor.js.map → node_modules/roomle-core-hsc/src/loader/configurationGeometryConstructor.js.map} +1 -1
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/configurationLoader.d.ts +1 -0
- package/lib/static/roomle-core-hsc/{src → node_modules/roomle-core-hsc/src}/loader/configurationLoader.js +6 -4
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/configurationLoader.js.map +1 -0
- package/lib/static/roomle-core-hsc/{configurationManager.d.ts → node_modules/roomle-core-hsc/src/loader/configurationManager.d.ts} +1 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/configurationManager.js +4 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/configurationManager.js.map +1 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/planElementManager.d.ts +2 -0
- package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/planElementManager.js +12 -3
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/loader/planElementManager.js.map +1 -0
- package/lib/static/roomle-core-hsc/{wasm_modern → node_modules/roomle-core-hsc/wasm_modern}/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/{wasm_modern → node_modules/roomle-core-hsc/wasm_modern}/RoomleToolsCore.wasm +0 -0
- package/lib/stats-helper-HM0TaIM5.mjs +95 -0
- package/lib/stats-helper-HM0TaIM5.mjs.map +1 -0
- package/lib/three.core-CLIofecG.mjs +7629 -0
- package/lib/three.core-CLIofecG.mjs.map +1 -0
- package/lib/three.module-C4Q1skJQ.mjs +5795 -0
- package/lib/three.module-C4Q1skJQ.mjs.map +1 -0
- package/lib/three.webgpu-dFspy2yF.mjs +16057 -0
- package/lib/three.webgpu-dFspy2yF.mjs.map +1 -0
- package/lib/threejs-utils-jEzvlJF1.mjs +2233 -0
- package/lib/threejs-utils-jEzvlJF1.mjs.map +1 -0
- package/lib/tools-core-Bf9WsK5v.mjs +30 -0
- package/lib/tools-core-Bf9WsK5v.mjs.map +1 -0
- package/package.json +1 -1
- package/lib/BufferGeometry-C1o0MiFL.mjs +0 -2064
- package/lib/BufferGeometry-C1o0MiFL.mjs.map +0 -1
- package/lib/GLTFExporter-CXMBueJw.mjs +0 -1323
- package/lib/GLTFExporter-CXMBueJw.mjs.map +0 -1
- package/lib/PointLightHelper-ICWLqwjK.mjs +0 -522
- package/lib/PointLightHelper-ICWLqwjK.mjs.map +0 -1
- package/lib/SpotLightHelper-CW5lDGFp.mjs +0 -222
- package/lib/SpotLightHelper-CW5lDGFp.mjs.map +0 -1
- package/lib/USDZExporter-CUp3dX08.mjs +0 -552
- package/lib/USDZExporter-CUp3dX08.mjs.map +0 -1
- package/lib/banana-for-scale-CfQ8dnY2.mjs +0 -50
- package/lib/banana-for-scale-CfQ8dnY2.mjs.map +0 -1
- package/lib/component-dimensioning-C9AWhxvj.mjs +0 -237
- package/lib/component-dimensioning-C9AWhxvj.mjs.map +0 -1
- package/lib/continuous-drawing-helper-B5BlbPPz.mjs +0 -48
- package/lib/continuous-drawing-helper-B5BlbPPz.mjs.map +0 -1
- package/lib/homag-intelligence-UFo9Z8FS.mjs +0 -549
- package/lib/homag-intelligence-UFo9Z8FS.mjs.map +0 -1
- package/lib/imos-ix-poc-export-helper-CGSk-8yx.mjs +0 -180
- package/lib/imos-ix-poc-export-helper-CGSk-8yx.mjs.map +0 -1
- package/lib/index-DIyMlQBA.mjs +0 -100947
- package/lib/index-DIyMlQBA.mjs.map +0 -1
- package/lib/material-viewer-QTlidNBs.mjs +0 -451
- package/lib/material-viewer-QTlidNBs.mjs.map +0 -1
- package/lib/roomle-sdk.js.map +0 -1
- package/lib/static/draco/gltf/draco_decoder.js +0 -33
- package/lib/static/draco/gltf/draco_decoder.wasm +0 -0
- package/lib/static/draco/gltf/draco_encoder.js +0 -33
- package/lib/static/draco/gltf/draco_wasm_wrapper.js +0 -116
- package/lib/static/roomle-core-hsc/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/RoomleToolsCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/configurationGeometryConstructor.d.ts +0 -21
- package/lib/static/roomle-core-hsc/configurationGeometryConstructor.js +0 -90
- package/lib/static/roomle-core-hsc/configurationLoader.d.ts +0 -116
- package/lib/static/roomle-core-hsc/configurationLoader.js +0 -345
- package/lib/static/roomle-core-hsc/configurationLoader.js.map +0 -1
- package/lib/static/roomle-core-hsc/configurationManager.js +0 -147
- package/lib/static/roomle-core-hsc/configurationManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/configuratorCoreInterface.d.ts +0 -746
- package/lib/static/roomle-core-hsc/embind/configuratorCallback.d.ts +0 -82
- package/lib/static/roomle-core-hsc/embind/configuratorCallback.js +0 -355
- package/lib/static/roomle-core-hsc/embind/configuratorCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorCore.d.ts +0 -19
- package/lib/static/roomle-core-hsc/embind/configuratorCore.js +0 -50
- package/lib/static/roomle-core-hsc/embind/configuratorCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.js +0 -99
- package/lib/static/roomle-core-hsc/embind/configuratorCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/configuratorUtils.d.ts +0 -3
- package/lib/static/roomle-core-hsc/embind/configuratorUtils.js +0 -52
- package/lib/static/roomle-core-hsc/embind/configuratorUtils.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/coreModue.d.ts +0 -4
- package/lib/static/roomle-core-hsc/embind/coreModue.js +0 -3
- package/lib/static/roomle-core-hsc/embind/coreModue.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/coreModule.d.ts +0 -11
- package/lib/static/roomle-core-hsc/embind/coreModule.js +0 -19
- package/lib/static/roomle-core-hsc/embind/coreModule.js.map +0 -1
- package/lib/static/roomle-core-hsc/embind/plannerCoreInterface.d.ts +0 -851
- package/lib/static/roomle-core-hsc/loader/configurableObject.d.ts +0 -30
- package/lib/static/roomle-core-hsc/loader/configurableObject.js +0 -111
- package/lib/static/roomle-core-hsc/loader/configurableObject.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurationGeometryConstructor.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurationLoader.js +0 -345
- package/lib/static/roomle-core-hsc/loader/configurationLoader.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/configurationManager.d.ts +0 -41
- package/lib/static/roomle-core-hsc/loader/configurationManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/loader/planElementManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/loaderUtility.d.ts +0 -81
- package/lib/static/roomle-core-hsc/loaderUtility.js +0 -141
- package/lib/static/roomle-core-hsc/loaderUtility.js.map +0 -1
- package/lib/static/roomle-core-hsc/logger.d.ts +0 -29
- package/lib/static/roomle-core-hsc/logger.js +0 -61
- package/lib/static/roomle-core-hsc/logger.js.map +0 -1
- package/lib/static/roomle-core-hsc/package.json +0 -1
- package/lib/static/roomle-core-hsc/planElementManager.d.ts +0 -96
- package/lib/static/roomle-core-hsc/planElementManager.js +0 -300
- package/lib/static/roomle-core-hsc/planElementManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/plannerCore.d.ts +0 -31
- package/lib/static/roomle-core-hsc/plannerCore.js +0 -111
- package/lib/static/roomle-core-hsc/plannerCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/plannerCoreCallback.d.ts +0 -39
- package/lib/static/roomle-core-hsc/plannerCoreCallback.js +0 -116
- package/lib/static/roomle-core-hsc/plannerCoreCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/plannerCoreInterface.d.ts +0 -851
- package/lib/static/roomle-core-hsc/plannerCoreInterface.js +0 -93
- package/lib/static/roomle-core-hsc/plannerCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/rapiAccess.d.ts +0 -70
- package/lib/static/roomle-core-hsc/rapiAccess.js +0 -227
- package/lib/static/roomle-core-hsc/rapiAccess.js.map +0 -1
- package/lib/static/roomle-core-hsc/serviceCore.d.ts +0 -20
- package/lib/static/roomle-core-hsc/serviceCore.js +0 -54
- package/lib/static/roomle-core-hsc/serviceCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/serviceCoreInterface.d.ts +0 -13
- package/lib/static/roomle-core-hsc/serviceCoreInterface.js +0 -3
- package/lib/static/roomle-core-hsc/serviceCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCallback.d.ts +0 -82
- package/lib/static/roomle-core-hsc/src/embind/configuratorCallback.js +0 -355
- package/lib/static/roomle-core-hsc/src/embind/configuratorCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCore.d.ts +0 -19
- package/lib/static/roomle-core-hsc/src/embind/configuratorCore.js +0 -50
- package/lib/static/roomle-core-hsc/src/embind/configuratorCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.d.ts +0 -746
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.js +0 -99
- package/lib/static/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/configuratorUtils.d.ts +0 -3
- package/lib/static/roomle-core-hsc/src/embind/configuratorUtils.js +0 -52
- package/lib/static/roomle-core-hsc/src/embind/configuratorUtils.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/coreModue.d.ts +0 -4
- package/lib/static/roomle-core-hsc/src/embind/coreModue.js +0 -3
- package/lib/static/roomle-core-hsc/src/embind/coreModue.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/coreModule.d.ts +0 -11
- package/lib/static/roomle-core-hsc/src/embind/coreModule.js +0 -19
- package/lib/static/roomle-core-hsc/src/embind/coreModule.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.d.ts +0 -31
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.js +0 -111
- package/lib/static/roomle-core-hsc/src/embind/plannerCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.d.ts +0 -39
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js +0 -116
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreCallback.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js +0 -93
- package/lib/static/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/serviceCore.d.ts +0 -20
- package/lib/static/roomle-core-hsc/src/embind/serviceCore.js +0 -54
- package/lib/static/roomle-core-hsc/src/embind/serviceCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/serviceCoreInterface.d.ts +0 -13
- package/lib/static/roomle-core-hsc/src/embind/serviceCoreInterface.js +0 -3
- package/lib/static/roomle-core-hsc/src/embind/serviceCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/toolsCore.d.ts +0 -17
- package/lib/static/roomle-core-hsc/src/embind/toolsCore.js +0 -75
- package/lib/static/roomle-core-hsc/src/embind/toolsCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/embind/toolsCoreInterface.d.ts +0 -40
- package/lib/static/roomle-core-hsc/src/embind/toolsCoreInterface.js +0 -8
- package/lib/static/roomle-core-hsc/src/embind/toolsCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurableObject.d.ts +0 -30
- package/lib/static/roomle-core-hsc/src/loader/configurableObject.js +0 -111
- package/lib/static/roomle-core-hsc/src/loader/configurableObject.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurationGeometryConstructor.d.ts +0 -21
- package/lib/static/roomle-core-hsc/src/loader/configurationGeometryConstructor.js +0 -90
- package/lib/static/roomle-core-hsc/src/loader/configurationGeometryConstructor.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurationLoader.d.ts +0 -116
- package/lib/static/roomle-core-hsc/src/loader/configurationLoader.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/configurationManager.d.ts +0 -41
- package/lib/static/roomle-core-hsc/src/loader/configurationManager.js +0 -147
- package/lib/static/roomle-core-hsc/src/loader/configurationManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/loaderUtility.d.ts +0 -81
- package/lib/static/roomle-core-hsc/src/loader/loaderUtility.js +0 -141
- package/lib/static/roomle-core-hsc/src/loader/loaderUtility.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/logger.d.ts +0 -29
- package/lib/static/roomle-core-hsc/src/loader/logger.js +0 -61
- package/lib/static/roomle-core-hsc/src/loader/logger.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/planElementManager.d.ts +0 -96
- package/lib/static/roomle-core-hsc/src/loader/planElementManager.js +0 -300
- package/lib/static/roomle-core-hsc/src/loader/planElementManager.js.map +0 -1
- package/lib/static/roomle-core-hsc/src/loader/rapiAccess.d.ts +0 -70
- package/lib/static/roomle-core-hsc/src/loader/rapiAccess.js +0 -227
- package/lib/static/roomle-core-hsc/src/loader/rapiAccess.js.map +0 -1
- package/lib/static/roomle-core-hsc/toolsCore.d.ts +0 -17
- package/lib/static/roomle-core-hsc/toolsCore.js +0 -75
- package/lib/static/roomle-core-hsc/toolsCore.js.map +0 -1
- package/lib/static/roomle-core-hsc/toolsCoreInterface.d.ts +0 -40
- package/lib/static/roomle-core-hsc/toolsCoreInterface.js +0 -8
- package/lib/static/roomle-core-hsc/toolsCoreInterface.js.map +0 -1
- package/lib/static/roomle-core-hsc/wasm_modern/ConfiguratorKernel.js +0 -74
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.js +0 -79
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/wasm_modern/RoomleToolsCore.js +0 -74
- package/lib/stats-helper-cTITQsAT.mjs +0 -108
- package/lib/stats-helper-cTITQsAT.mjs.map +0 -1
- package/lib/tools-core-CCWbo8fD.mjs +0 -36
- package/lib/tools-core-CCWbo8fD.mjs.map +0 -1
- /package/lib/static/draco/{README.md → node_modules/three/examples/jsm/libs/draco/README.md} +0 -0
- /package/lib/static/draco/{draco_decoder.js → node_modules/three/examples/jsm/libs/draco/gltf/draco_decoder.js} +0 -0
- /package/lib/static/draco/{draco_decoder.wasm → node_modules/three/examples/jsm/libs/draco/gltf/draco_decoder.wasm} +0 -0
- /package/lib/static/draco/{draco_encoder.js → node_modules/three/examples/jsm/libs/draco/gltf/draco_encoder.js} +0 -0
- /package/lib/static/draco/{draco_wasm_wrapper.js → node_modules/three/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js} +0 -0
- /package/lib/static/{asset-loader.worker.js → packages/workers/generated/asset-loader.worker.js} +0 -0
- /package/lib/static/{budgeteer.sw.js → packages/workers/generated/budgeteer.sw.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCallback.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorCallback.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCallback.js → node_modules/roomle-core-hsc/src/embind/configuratorCallback.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCallback.js.map → node_modules/roomle-core-hsc/src/embind/configuratorCallback.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCore.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorCore.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCore.js → node_modules/roomle-core-hsc/src/embind/configuratorCore.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCore.js.map → node_modules/roomle-core-hsc/src/embind/configuratorCore.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCoreInterface.js → node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorCoreInterface.js.map → node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorUtils.d.ts → node_modules/roomle-core-hsc/src/embind/configuratorUtils.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorUtils.js → node_modules/roomle-core-hsc/src/embind/configuratorUtils.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configuratorUtils.js.map → node_modules/roomle-core-hsc/src/embind/configuratorUtils.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModue.d.ts → node_modules/roomle-core-hsc/src/embind/coreModue.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModue.js → node_modules/roomle-core-hsc/src/embind/coreModue.js} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModue.js.map → node_modules/roomle-core-hsc/src/embind/coreModue.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModule.d.ts → node_modules/roomle-core-hsc/src/embind/coreModule.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModule.js → node_modules/roomle-core-hsc/src/embind/coreModule.js} +0 -0
- /package/lib/static/roomle-core-hsc/{coreModule.js.map → node_modules/roomle-core-hsc/src/embind/coreModule.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCore.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCore.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCore.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreCallback.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreCallback.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreCallback.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreInterface.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/plannerCoreInterface.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCore.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCore.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCore.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCoreInterface.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCoreInterface.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/serviceCoreInterface.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCore.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCore.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCore.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCoreInterface.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCoreInterface.js +0 -0
- /package/lib/static/roomle-core-hsc/{embind → node_modules/roomle-core-hsc/src/embind}/toolsCoreInterface.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{configurableObject.d.ts → node_modules/roomle-core-hsc/src/loader/configurableObject.d.ts} +0 -0
- /package/lib/static/roomle-core-hsc/{configurableObject.js → node_modules/roomle-core-hsc/src/loader/configurableObject.js} +0 -0
- /package/lib/static/roomle-core-hsc/{configurableObject.js.map → node_modules/roomle-core-hsc/src/loader/configurableObject.js.map} +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/loaderUtility.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/loaderUtility.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/loaderUtility.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/logger.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/logger.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/logger.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/rapiAccess.d.ts +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/rapiAccess.js +0 -0
- /package/lib/static/roomle-core-hsc/{loader → node_modules/roomle-core-hsc/src/loader}/rapiAccess.js.map +0 -0
- /package/lib/static/roomle-core-hsc/{ConfiguratorKernel.js → node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.js} +0 -0
- /package/lib/static/roomle-core-hsc/{RoomleCore.js → node_modules/roomle-core-hsc/wasm_modern/RoomleCore.js} +0 -0
- /package/lib/static/roomle-core-hsc/{RoomleToolsCore.js → node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.js} +0 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { Lr as e, Nt as t, Rr as n, Xt as r, Y as i, _t as a, c as o, gt as s, l as c, o as l, vt as u } from "./three.core-CLIofecG.mjs";
|
|
2
|
+
import { a as d } from "./kernel-utils-H74uNY1h.mjs";
|
|
3
|
+
import { n as f, r as p, t as m } from "./decorate-C1QnXPYw.mjs";
|
|
4
|
+
import { t as h } from "./layer-C_JtkhdO.mjs";
|
|
5
|
+
//#region packages/common-core/src/async-guard.ts
|
|
6
|
+
var g = class {
|
|
7
|
+
constructor(e) {
|
|
8
|
+
this.info = e, this._init();
|
|
9
|
+
}
|
|
10
|
+
_init() {
|
|
11
|
+
this._promise = new Promise((e, t) => {
|
|
12
|
+
this._resolve = e, this._reject = t;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
resolve(e) {
|
|
16
|
+
e && this._resolve(e), this._resolve();
|
|
17
|
+
}
|
|
18
|
+
reject(e) {
|
|
19
|
+
this._reject(e);
|
|
20
|
+
}
|
|
21
|
+
wait() {
|
|
22
|
+
return this._promise;
|
|
23
|
+
}
|
|
24
|
+
reset() {
|
|
25
|
+
this._init();
|
|
26
|
+
}
|
|
27
|
+
}, _ = class extends r {
|
|
28
|
+
constructor(t = document.createElement("div")) {
|
|
29
|
+
super(), this.isCSS2DObject = !0, this.element = t, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.center = new e(.5, .5), this.addEventListener("removed", function() {
|
|
30
|
+
this.traverse(function(e) {
|
|
31
|
+
e.element && e.element instanceof e.element.ownerDocument.defaultView.Element && e.element.parentNode !== null && e.element.remove();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
copy(e, t) {
|
|
36
|
+
return super.copy(e, t), this.element = e.element.cloneNode(!0), this.center = e.center, this;
|
|
37
|
+
}
|
|
38
|
+
}, v = new n(), y = new t(), b = new t(), x = new n(), S = new n(), C = class {
|
|
39
|
+
constructor(e = {}) {
|
|
40
|
+
let t = this, n, r, i, a, o = { objects: /* @__PURE__ */ new WeakMap() }, s = e.element === void 0 ? document.createElement("div") : e.element;
|
|
41
|
+
s.style.overflow = "hidden", this.domElement = s, this.sortObjects = !0, this.getSize = function() {
|
|
42
|
+
return {
|
|
43
|
+
width: n,
|
|
44
|
+
height: r
|
|
45
|
+
};
|
|
46
|
+
}, this.render = function(e, t) {
|
|
47
|
+
e.matrixWorldAutoUpdate === !0 && e.updateMatrixWorld(), t.parent === null && t.matrixWorldAutoUpdate === !0 && t.updateMatrixWorld(), y.copy(t.matrixWorldInverse), b.multiplyMatrices(t.projectionMatrix, y), l(e, e, t), this.sortObjects && f(e);
|
|
48
|
+
}, this.setSize = function(e, t) {
|
|
49
|
+
n = e, r = t, i = n / 2, a = r / 2, s.style.width = e + "px", s.style.height = t + "px";
|
|
50
|
+
};
|
|
51
|
+
function c(e) {
|
|
52
|
+
e.isCSS2DObject && (e.element.style.display = "none");
|
|
53
|
+
for (let t = 0, n = e.children.length; t < n; t++) c(e.children[t]);
|
|
54
|
+
}
|
|
55
|
+
function l(e, n, r) {
|
|
56
|
+
if (e.visible === !1) {
|
|
57
|
+
c(e);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (e.isCSS2DObject) {
|
|
61
|
+
v.setFromMatrixPosition(e.matrixWorld), v.applyMatrix4(b);
|
|
62
|
+
let c = v.z >= -1 && v.z <= 1 && e.layers.test(r.layers) === !0, l = e.element;
|
|
63
|
+
l.style.display = c === !0 ? "" : "none", c === !0 && (e.onBeforeRender(t, n, r), l.style.transform = "translate(" + -100 * e.center.x + "%," + -100 * e.center.y + "%)translate(" + (v.x * i + i) + "px," + (-v.y * a + a) + "px)", l.parentNode !== s && s.appendChild(l), e.onAfterRender(t, n, r));
|
|
64
|
+
let d = { distanceToCameraSquared: u(r, e) };
|
|
65
|
+
o.objects.set(e, d);
|
|
66
|
+
}
|
|
67
|
+
for (let t = 0, i = e.children.length; t < i; t++) l(e.children[t], n, r);
|
|
68
|
+
}
|
|
69
|
+
function u(e, t) {
|
|
70
|
+
return x.setFromMatrixPosition(e.matrixWorld), S.setFromMatrixPosition(t.matrixWorld), x.distanceToSquared(S);
|
|
71
|
+
}
|
|
72
|
+
function d(e) {
|
|
73
|
+
let t = [];
|
|
74
|
+
return e.traverseVisible(function(e) {
|
|
75
|
+
e.isCSS2DObject && t.push(e);
|
|
76
|
+
}), t;
|
|
77
|
+
}
|
|
78
|
+
function f(e) {
|
|
79
|
+
let t = d(e).sort(function(e, t) {
|
|
80
|
+
return e.renderOrder === t.renderOrder ? o.objects.get(e).distanceToCameraSquared - o.objects.get(t).distanceToCameraSquared : t.renderOrder - e.renderOrder;
|
|
81
|
+
}), n = t.length;
|
|
82
|
+
for (let e = 0, r = t.length; e < r; e++) t[e].element.style.zIndex = n - e;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, w = "dimensioning", T = .08, E = 1.2, D = .03, O = 3618615;
|
|
86
|
+
function k(e) {
|
|
87
|
+
return new A(e);
|
|
88
|
+
}
|
|
89
|
+
var A = class {
|
|
90
|
+
constructor(e) {
|
|
91
|
+
this._cameraPosition = new n(), this._initialized = new g(), this._enabled = !1, this._dimensionsVisible = !1, this._dimensionLineGroup = new i(), this._creator_ = e, this._lineMaterial = new u({
|
|
92
|
+
color: O,
|
|
93
|
+
linewidth: 2
|
|
94
|
+
}), this._mainLineMaterial = new u({
|
|
95
|
+
color: O,
|
|
96
|
+
linewidth: .001,
|
|
97
|
+
transparent: !0,
|
|
98
|
+
opacity: 1
|
|
99
|
+
}), this._dimensionLineGroup.name = w, this._widthLineGroup = this._createLineGroup("width"), this._heightLineGroup = this._createLineGroup("height"), this._depthLineGroup = this._createLineGroup("depth"), this._dimensionLineGroup.add(this._widthLineGroup), this._dimensionLineGroup.add(this._heightLineGroup), this._dimensionLineGroup.add(this._depthLineGroup), this.update(!1), this._initialized.resolve();
|
|
100
|
+
}
|
|
101
|
+
_createLineGroup(e) {
|
|
102
|
+
let t = new i();
|
|
103
|
+
return t.name = w, t.userData.ignoreComponentRaycast = !0, t;
|
|
104
|
+
}
|
|
105
|
+
_createLineFromConfig(e, t) {
|
|
106
|
+
let n = new c(), r = [
|
|
107
|
+
e.start.x,
|
|
108
|
+
e.start.y,
|
|
109
|
+
e.start.z,
|
|
110
|
+
e.end.x,
|
|
111
|
+
e.end.y,
|
|
112
|
+
e.end.z
|
|
113
|
+
];
|
|
114
|
+
n.setAttribute("position", new o(new Float32Array(r), 3));
|
|
115
|
+
let i = new s(n, t);
|
|
116
|
+
return i.name = w, i.userData.ignoreComponentRaycast = !0, i.layers.set(h.DIMENSIONS), i;
|
|
117
|
+
}
|
|
118
|
+
addLinesToLineGroup(e, t, n, r) {
|
|
119
|
+
t.extensionLines.forEach((t) => {
|
|
120
|
+
e.add(this._createLineFromConfig(t, r));
|
|
121
|
+
}), e.add(this._createLineFromConfig(t.mainLine, n));
|
|
122
|
+
}
|
|
123
|
+
clearLineGroup(e) {
|
|
124
|
+
for (; e.children.length > 0;) {
|
|
125
|
+
let t = e.children[0];
|
|
126
|
+
t instanceof s && t.geometry.dispose(), e.remove(t);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
addLabelToLineGroup(e, t, n) {
|
|
130
|
+
let r = document.createElement("div");
|
|
131
|
+
r.classList.add("dimension-label", "dimension-label--primary", "dimension-label--disabled");
|
|
132
|
+
let i = document.createElement("span");
|
|
133
|
+
i.classList.add("dimension-label__value"), i.innerHTML = t, r.appendChild(i);
|
|
134
|
+
let a = new _(r), o = this._dimensionLineGroup.worldToLocal(n);
|
|
135
|
+
a.position.copy(o), e.add(a);
|
|
136
|
+
}
|
|
137
|
+
_getWidthLineConfig() {
|
|
138
|
+
let e = T, t = D, r = this._dimensions.y + e, i = this._getLocalCameraPosition().z < this._dimensions.z / 2 ? 0 : this._dimensions.z;
|
|
139
|
+
return {
|
|
140
|
+
mainLine: new a(new n(0, r, i), new n(this._dimensions.x, r, i)),
|
|
141
|
+
extensionLines: [new a(new n(0, r - t, i), new n(0, r + t, i)), new a(new n(this._dimensions.x, r - t, i), new n(this._dimensions.x, r + t, i))]
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
_getDepthLineConfig() {
|
|
145
|
+
let e = T, t = D, r = this._getLocalCameraPosition().x < this._dimensions.x / 2 ? -e : this._dimensions.x + e;
|
|
146
|
+
return {
|
|
147
|
+
mainLine: new a(new n(r, 0, this._dimensions.z), new n(r, 0, 0)),
|
|
148
|
+
extensionLines: [new a(new n(r - t, 0, 0), new n(r + t, 0, 0)), new a(new n(r - t, 0, this._dimensions.z), new n(r + t, 0, this._dimensions.z))]
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
_getHeightLineConfig() {
|
|
152
|
+
let e = T, t = D, r = this._getLocalCameraPosition(), i = r.x < this._dimensions.x / 2 ? -e : this._dimensions.x + e, o = r.z < this._dimensions.z / 2 ? 0 : this._dimensions.z;
|
|
153
|
+
return {
|
|
154
|
+
mainLine: new a(new n(i, 0, o), new n(i, this._dimensions.y, o)),
|
|
155
|
+
extensionLines: [new a(new n(i - t, 0, o), new n(i + t, 0, o)), new a(new n(i - t, this._dimensions.y, o), new n(i + t, this._dimensions.y, o))]
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
_getLocalCameraPosition() {
|
|
159
|
+
return !this._cameraPosition || !this._dimensionLineGroup || !this._dimensions ? new n(0, 0, 0) : this._dimensionLineGroup.worldToLocal(this._cameraPosition.clone());
|
|
160
|
+
}
|
|
161
|
+
_getCameraDistanceInfo() {
|
|
162
|
+
if (!this._object || !this._cameraPosition || !this._dimensions) return {
|
|
163
|
+
tooClose: !1,
|
|
164
|
+
opacity: 1,
|
|
165
|
+
distance: Infinity
|
|
166
|
+
};
|
|
167
|
+
let e = this._object.getWorldPosition(new n()), t = this._cameraPosition.distanceTo(e), r = Math.max(this._dimensions.x, this._dimensions.y, this._dimensions.z) / 2, i = r * E, a = r * 2;
|
|
168
|
+
if (t < i) return {
|
|
169
|
+
tooClose: !0,
|
|
170
|
+
opacity: 0,
|
|
171
|
+
distance: t
|
|
172
|
+
};
|
|
173
|
+
if (t < a) {
|
|
174
|
+
let e = (t - i) / (a - i);
|
|
175
|
+
return {
|
|
176
|
+
tooClose: !1,
|
|
177
|
+
opacity: Math.max(0, Math.min(1, e)),
|
|
178
|
+
distance: t
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
tooClose: !1,
|
|
183
|
+
opacity: 1,
|
|
184
|
+
distance: t
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
_visibilityChangedCallback() {
|
|
188
|
+
this._onVisibilityChange && this._onVisibilityChange(this._dimensionsVisible);
|
|
189
|
+
}
|
|
190
|
+
update(e = !1) {
|
|
191
|
+
this._enabled && !this._dimensionsVisible && (this._dimensionsVisible = !0, this._visibilityChangedCallback()), this._performUpdate(e);
|
|
192
|
+
}
|
|
193
|
+
updateSize(e) {
|
|
194
|
+
this._origin = d(e.origin), this._dimensionLineGroup.position.x = this._origin.x - this._object.position.x, this._dimensionLineGroup.position.y = this._origin.y - this._object.position.y, this._dimensionLineGroup.position.z = this._origin.z - this._object.position.z, this._dimensions = d(e.size), this.update();
|
|
195
|
+
}
|
|
196
|
+
removeFromObject(e) {
|
|
197
|
+
e && e.remove(this._dimensionLineGroup);
|
|
198
|
+
}
|
|
199
|
+
onDimensionsVisibilityChanged(e) {
|
|
200
|
+
this._onVisibilityChange = e;
|
|
201
|
+
}
|
|
202
|
+
setObject(e) {
|
|
203
|
+
this._object = e;
|
|
204
|
+
}
|
|
205
|
+
isInitialized() {
|
|
206
|
+
return this._initialized.wait();
|
|
207
|
+
}
|
|
208
|
+
areDimensionsEnabled() {
|
|
209
|
+
return this._enabled;
|
|
210
|
+
}
|
|
211
|
+
clearScene(e) {
|
|
212
|
+
this._clear();
|
|
213
|
+
}
|
|
214
|
+
addToObject(e) {
|
|
215
|
+
!e || !this._dimensionLineGroup || e.add(this._dimensionLineGroup);
|
|
216
|
+
}
|
|
217
|
+
enableDimensions() {
|
|
218
|
+
this._enabled = !0, this.addToObject(this._object), this.update(!0);
|
|
219
|
+
}
|
|
220
|
+
disableDimensions() {
|
|
221
|
+
this._enabled = !1, this._dimensionsVisible && (this._dimensionsVisible = !1, this._visibilityChangedCallback()), this._clear(), this.removeFromObject(this._object);
|
|
222
|
+
}
|
|
223
|
+
enableTopDimensions() {
|
|
224
|
+
this.enableDimensions(), this._heightLineGroup.visible = !1, this.update(!0);
|
|
225
|
+
}
|
|
226
|
+
disableTopDimensions() {
|
|
227
|
+
this._heightLineGroup.visible = !0, this.disableDimensions();
|
|
228
|
+
}
|
|
229
|
+
getBoundingBox() {
|
|
230
|
+
let e = new l();
|
|
231
|
+
return e.expandByObject(this._dimensionLineGroup), e;
|
|
232
|
+
}
|
|
233
|
+
moveCameraStart(e) {
|
|
234
|
+
this._cameraPosition = e, this.update();
|
|
235
|
+
}
|
|
236
|
+
moveCameraEnd(e) {
|
|
237
|
+
this._cameraPosition = e, this.update();
|
|
238
|
+
}
|
|
239
|
+
_performUpdate(e) {
|
|
240
|
+
if (!this._enabled && !e || !this._dimensions) return;
|
|
241
|
+
let t = 1;
|
|
242
|
+
if (this._object && this._cameraPosition && !this._cameraPosition.equals(new n(0, 0, 0))) {
|
|
243
|
+
let e = this._getCameraDistanceInfo();
|
|
244
|
+
e.tooClose ? this._dimensionLineGroup.visible = !1 : (this._dimensionLineGroup.visible = !0, t = e.opacity, this._mainLineMaterial.opacity = t);
|
|
245
|
+
}
|
|
246
|
+
this._dimensionLineGroup.updateMatrixWorld(!0);
|
|
247
|
+
let r = this._getWidthLineConfig(), i = this._unitFormatter.formatMMValueToUnitString(this._dimensions.x * 1e3), a = this._dimensionLineGroup.localToWorld(r.mainLine.getCenter(new n()));
|
|
248
|
+
this.clearLineGroup(this._widthLineGroup), this.addLinesToLineGroup(this._widthLineGroup, r, this._mainLineMaterial, this._mainLineMaterial), this.addLabelToLineGroup(this._widthLineGroup, i, a);
|
|
249
|
+
let o = this._getHeightLineConfig(), s = this._unitFormatter.formatMMValueToUnitString(this._dimensions.y * 1e3), c = this._dimensionLineGroup.localToWorld(o.mainLine.getCenter(new n()));
|
|
250
|
+
this.clearLineGroup(this._heightLineGroup), this.addLinesToLineGroup(this._heightLineGroup, o, this._mainLineMaterial, this._mainLineMaterial), this.addLabelToLineGroup(this._heightLineGroup, s, c);
|
|
251
|
+
let l = this._getDepthLineConfig(), u = this._unitFormatter.formatMMValueToUnitString(this._dimensions.z * -1e3), d = this._dimensionLineGroup.localToWorld(l.mainLine.getCenter(new n()));
|
|
252
|
+
this.clearLineGroup(this._depthLineGroup), this.addLinesToLineGroup(this._depthLineGroup, l, this._mainLineMaterial, this._mainLineMaterial), this.addLabelToLineGroup(this._depthLineGroup, u, d);
|
|
253
|
+
}
|
|
254
|
+
_clear() {
|
|
255
|
+
this._lineMaterial.dispose(), this._mainLineMaterial.dispose(), [
|
|
256
|
+
this._widthLineGroup,
|
|
257
|
+
this._heightLineGroup,
|
|
258
|
+
this._depthLineGroup
|
|
259
|
+
].forEach((e) => {
|
|
260
|
+
this.clearLineGroup(e);
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
m([p, f("design:type", Object)], A.prototype, "_unitFormatter", void 0);
|
|
265
|
+
//#endregion
|
|
266
|
+
export { E as a, C as c, D as i, g as l, T as n, k as o, A as r, _ as s, w as t };
|
|
267
|
+
|
|
268
|
+
//# sourceMappingURL=dimensioning-helper-Fwpt1HTT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dimensioning-helper-Fwpt1HTT.mjs","names":[],"sources":["../../packages/common-core/src/async-guard.ts","../../../../node_modules/three/examples/jsm/renderers/CSS2DRenderer.js","../../packages/configurator-core/src/utils/dimensioning-helper.ts"],"sourcesContent":["export default class AsyncGuard<T> {\n public info: any;\n private _promise: Promise<T>;\n private _resolve: (value?: T | PromiseLike<T>) => void;\n private _reject: (error: Error) => void;\n\n constructor(info?: any) {\n this.info = info;\n this._init();\n }\n\n private _init() {\n this._promise = new Promise<T>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n\n public resolve(value?: any): void {\n if (value) {\n this._resolve(value);\n }\n this._resolve();\n }\n\n public reject(e: Error): void {\n this._reject(e);\n }\n\n public wait(): Promise<T> {\n return this._promise;\n }\n\n public reset() {\n this._init();\n }\n}\n","import {\n\tMatrix4,\n\tObject3D,\n\tVector2,\n\tVector3\n} from 'three';\n\n/**\n * The only type of 3D object that is supported by {@link CSS2DRenderer}.\n *\n * @augments Object3D\n * @three_import import { CSS2DObject } from 'three/addons/renderers/CSS2DRenderer.js';\n */\nclass CSS2DObject extends Object3D {\n\n\t/**\n\t * Constructs a new CSS2D object.\n\t *\n\t * @param {HTMLElement} [element] - The DOM element.\n\t */\n\tconstructor( element = document.createElement( 'div' ) ) {\n\n\t\tsuper();\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.isCSS2DObject = true;\n\n\t\t/**\n\t\t * The DOM element which defines the appearance of this 3D object.\n\t\t *\n\t\t * @type {HTMLElement}\n\t\t * @readonly\n\t\t * @default true\n\t\t */\n\t\tthis.element = element;\n\n\t\tthis.element.style.position = 'absolute';\n\t\tthis.element.style.userSelect = 'none';\n\n\t\tthis.element.setAttribute( 'draggable', false );\n\n\t\t/**\n\t\t * The 3D objects center point.\n\t\t * `( 0, 0 )` is the lower left, `( 1, 1 )` is the top right.\n\t\t *\n\t\t * @type {Vector2}\n\t\t * @default (0.5,0.5)\n\t\t */\n\t\tthis.center = new Vector2( 0.5, 0.5 );\n\n\t\tthis.addEventListener( 'removed', function () {\n\n\t\t\tthis.traverse( function ( object ) {\n\n\t\t\t\tif (\n\t\t\t\t\tobject.element &&\n\t\t\t\t\tobject.element instanceof object.element.ownerDocument.defaultView.Element &&\n\t\t\t\t\tobject.element.parentNode !== null\n\t\t\t\t) {\n\n\t\t\t\t\tobject.element.remove();\n\n\t\t\t\t}\n\n\t\t\t} );\n\n\t\t} );\n\n\t}\n\n\tcopy( source, recursive ) {\n\n\t\tsuper.copy( source, recursive );\n\n\t\tthis.element = source.element.cloneNode( true );\n\n\t\tthis.center = source.center;\n\n\t\treturn this;\n\n\t}\n\n}\n\n//\n\nconst _vector = new Vector3();\nconst _viewMatrix = new Matrix4();\nconst _viewProjectionMatrix = new Matrix4();\nconst _a = new Vector3();\nconst _b = new Vector3();\n\n/**\n * This renderer is a simplified version of {@link CSS3DRenderer}. The only transformation that is\n * supported is translation.\n *\n * The renderer is very useful if you want to combine HTML based labels with 3D objects. Here too,\n * the respective DOM elements are wrapped into an instance of {@link CSS2DObject} and added to the\n * scene graph. All other types of renderable 3D objects (like meshes or point clouds) are ignored.\n *\n * `CSS2DRenderer` only supports 100% browser and display zoom.\n *\n * @three_import import { CSS2DRenderer } from 'three/addons/renderers/CSS2DRenderer.js';\n */\nclass CSS2DRenderer {\n\n\t/**\n\t * Constructs a new CSS2D renderer.\n\t *\n\t * @param {CSS2DRenderer~Parameters} [parameters] - The parameters.\n\t */\n\tconstructor( parameters = {} ) {\n\n\t\tconst _this = this;\n\n\t\tlet _width, _height;\n\t\tlet _widthHalf, _heightHalf;\n\n\t\tconst cache = {\n\t\t\tobjects: new WeakMap()\n\t\t};\n\n\t\tconst domElement = parameters.element !== undefined ? parameters.element : document.createElement( 'div' );\n\n\t\tdomElement.style.overflow = 'hidden';\n\n\t\t/**\n\t\t * The DOM where the renderer appends its child-elements.\n\t\t *\n\t\t * @type {HTMLElement}\n\t\t */\n\t\tthis.domElement = domElement;\n\n\t\t/**\n\t\t * Controls whether the renderer assigns `z-index` values to CSS2DObject DOM elements.\n\t\t * If set to `true`, z-index values are assigned first based on the `renderOrder`\n\t\t * and secondly - the distance to the camera. If set to `false`, no z-index values are assigned.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t */\n\t\tthis.sortObjects = true;\n\n\t\t/**\n\t\t * Returns an object containing the width and height of the renderer.\n\t\t *\n\t\t * @return {{width:number,height:number}} The size of the renderer.\n\t\t */\n\t\tthis.getSize = function () {\n\n\t\t\treturn {\n\t\t\t\twidth: _width,\n\t\t\t\theight: _height\n\t\t\t};\n\n\t\t};\n\n\t\t/**\n\t\t * Renders the given scene using the given camera.\n\t\t *\n\t\t * @param {Object3D} scene - A scene or any other type of 3D object.\n\t\t * @param {Camera} camera - The camera.\n\t\t */\n\t\tthis.render = function ( scene, camera ) {\n\n\t\t\tif ( scene.matrixWorldAutoUpdate === true ) scene.updateMatrixWorld();\n\t\t\tif ( camera.parent === null && camera.matrixWorldAutoUpdate === true ) camera.updateMatrixWorld();\n\n\t\t\t_viewMatrix.copy( camera.matrixWorldInverse );\n\t\t\t_viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, _viewMatrix );\n\n\t\t\trenderObject( scene, scene, camera );\n\t\t\tif ( this.sortObjects ) zOrder( scene );\n\n\t\t};\n\n\t\t/**\n\t\t * Resizes the renderer to the given width and height.\n\t\t *\n\t\t * @param {number} width - The width of the renderer.\n\t\t * @param {number} height - The height of the renderer.\n\t\t */\n\t\tthis.setSize = function ( width, height ) {\n\n\t\t\t_width = width;\n\t\t\t_height = height;\n\n\t\t\t_widthHalf = _width / 2;\n\t\t\t_heightHalf = _height / 2;\n\n\t\t\tdomElement.style.width = width + 'px';\n\t\t\tdomElement.style.height = height + 'px';\n\n\t\t};\n\n\t\tfunction hideObject( object ) {\n\n\t\t\tif ( object.isCSS2DObject ) object.element.style.display = 'none';\n\n\t\t\tfor ( let i = 0, l = object.children.length; i < l; i ++ ) {\n\n\t\t\t\thideObject( object.children[ i ] );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction renderObject( object, scene, camera ) {\n\n\t\t\tif ( object.visible === false ) {\n\n\t\t\t\thideObject( object );\n\n\t\t\t\treturn;\n\n\t\t\t}\n\n\t\t\tif ( object.isCSS2DObject ) {\n\n\t\t\t\t_vector.setFromMatrixPosition( object.matrixWorld );\n\t\t\t\t_vector.applyMatrix4( _viewProjectionMatrix );\n\n\t\t\t\tconst visible = ( _vector.z >= - 1 && _vector.z <= 1 ) && ( object.layers.test( camera.layers ) === true );\n\n\t\t\t\tconst element = object.element;\n\t\t\t\telement.style.display = visible === true ? '' : 'none';\n\n\t\t\t\tif ( visible === true ) {\n\n\t\t\t\t\tobject.onBeforeRender( _this, scene, camera );\n\n\t\t\t\t\telement.style.transform = 'translate(' + ( - 100 * object.center.x ) + '%,' + ( - 100 * object.center.y ) + '%)' + 'translate(' + ( _vector.x * _widthHalf + _widthHalf ) + 'px,' + ( - _vector.y * _heightHalf + _heightHalf ) + 'px)';\n\n\t\t\t\t\tif ( element.parentNode !== domElement ) {\n\n\t\t\t\t\t\tdomElement.appendChild( element );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tobject.onAfterRender( _this, scene, camera );\n\n\t\t\t\t}\n\n\t\t\t\tconst objectData = {\n\t\t\t\t\tdistanceToCameraSquared: getDistanceToSquared( camera, object )\n\t\t\t\t};\n\n\t\t\t\tcache.objects.set( object, objectData );\n\n\t\t\t}\n\n\t\t\tfor ( let i = 0, l = object.children.length; i < l; i ++ ) {\n\n\t\t\t\trenderObject( object.children[ i ], scene, camera );\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction getDistanceToSquared( object1, object2 ) {\n\n\t\t\t_a.setFromMatrixPosition( object1.matrixWorld );\n\t\t\t_b.setFromMatrixPosition( object2.matrixWorld );\n\n\t\t\treturn _a.distanceToSquared( _b );\n\n\t\t}\n\n\t\tfunction filterAndFlatten( scene ) {\n\n\t\t\tconst result = [];\n\n\t\t\tscene.traverseVisible( function ( object ) {\n\n\t\t\t\tif ( object.isCSS2DObject ) result.push( object );\n\n\t\t\t} );\n\n\t\t\treturn result;\n\n\t\t}\n\n\t\tfunction zOrder( scene ) {\n\n\t\t\tconst sorted = filterAndFlatten( scene ).sort( function ( a, b ) {\n\n\t\t\t\tif ( a.renderOrder !== b.renderOrder ) {\n\n\t\t\t\t\treturn b.renderOrder - a.renderOrder;\n\n\t\t\t\t}\n\n\t\t\t\tconst distanceA = cache.objects.get( a ).distanceToCameraSquared;\n\t\t\t\tconst distanceB = cache.objects.get( b ).distanceToCameraSquared;\n\n\t\t\t\treturn distanceA - distanceB;\n\n\t\t\t} );\n\n\t\t\tconst zMax = sorted.length;\n\n\t\t\tfor ( let i = 0, l = sorted.length; i < l; i ++ ) {\n\n\t\t\t\tsorted[ i ].element.style.zIndex = zMax - i;\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n\n/**\n * Constructor parameters of `CSS2DRenderer`.\n *\n * @typedef {Object} CSS2DRenderer~Parameters\n * @property {HTMLElement} [element] - A DOM element where the renderer appends its child-elements.\n * If not passed in here, a new div element will be created.\n **/\n\nexport { CSS2DObject, CSS2DRenderer };\n","import inject from '../../../common-core/src/di/inject';\nimport AsyncGuard from '../../../common-core/src/async-guard';\nimport type { Object3D } from 'three';\nimport { Group, type Scene } from 'three';\nimport { Box3 } from 'three';\nimport {\n BufferAttribute,\n BufferGeometry,\n Line,\n Line3,\n LineBasicMaterial,\n Vector3,\n} from 'three';\nimport { type KernelCube } from '../../../typings/kernel';\nimport { convertToTHREE } from '../../../common-core/src/utils/kernel-utils';\nimport type UnitFormatter from '../services/unit-formatter';\nimport { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer.js';\nimport { LAYER } from '../../../common-core/src/webgl/layer';\n\nexport const DIMENSIONING_GEOMETRY = 'dimensioning';\nexport const DIMENSION_LINE_OFFSET = 0.08;\nexport const MIN_CAMERA_DISTANCE_RATIO = 1.2;\nexport const FADE_DISTANCE_RATIO = 2.0;\nexport const EXTENSION_LINE_LENGTH_RATIO = 0.03;\n\nexport interface DimensionLineConfig {\n mainLine: Line3;\n extensionLines: Line3[];\n}\n\nconst LINE_COLOR = 0x373737;\n\nexport function createDimensioningHelper(creator: string): DimensioningHelper {\n return new DimensioningHelper(creator);\n}\n\nexport default class DimensioningHelper {\n public _creator_: string;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n private _object: Object3D;\n private _cameraPosition: Vector3 = new Vector3();\n private _onVisibilityChange: (visible: boolean) => void;\n private _initialized: AsyncGuard<void> = new AsyncGuard();\n\n private _origin: Vector3;\n private _dimensions: Vector3;\n\n private _lineMaterial: LineBasicMaterial;\n private readonly _mainLineMaterial: LineBasicMaterial;\n\n private readonly _widthLineGroup: Group;\n private readonly _heightLineGroup: Group;\n private readonly _depthLineGroup: Group;\n\n private _enabled: boolean = false;\n private _dimensionsVisible = false;\n\n private _dimensionLineGroup = new Group();\n\n constructor(creator: string) {\n this._creator_ = creator;\n\n this._lineMaterial = new LineBasicMaterial({\n color: LINE_COLOR,\n linewidth: 2,\n });\n\n this._mainLineMaterial = new LineBasicMaterial({\n color: LINE_COLOR,\n linewidth: 0.001,\n transparent: true,\n opacity: 1.0,\n });\n\n this._dimensionLineGroup.name = DIMENSIONING_GEOMETRY;\n\n this._widthLineGroup = this._createLineGroup('width');\n this._heightLineGroup = this._createLineGroup('height');\n this._depthLineGroup = this._createLineGroup('depth');\n\n this._dimensionLineGroup.add(this._widthLineGroup);\n this._dimensionLineGroup.add(this._heightLineGroup);\n this._dimensionLineGroup.add(this._depthLineGroup);\n\n this.update(false);\n this._initialized.resolve();\n }\n\n private _createLineGroup(_name: string): Group {\n const group = new Group();\n group.name = DIMENSIONING_GEOMETRY;\n group.userData.ignoreComponentRaycast = true;\n return group;\n }\n\n private _createLineFromConfig(\n config: Line3,\n material: LineBasicMaterial,\n ): Line {\n const geometry = new BufferGeometry();\n const vertices = [\n config.start.x,\n config.start.y,\n config.start.z,\n config.end.x,\n config.end.y,\n config.end.z,\n ];\n geometry.setAttribute(\n 'position',\n new BufferAttribute(new Float32Array(vertices), 3),\n );\n const line = new Line(geometry, material);\n line.name = DIMENSIONING_GEOMETRY;\n line.userData.ignoreComponentRaycast = true;\n line.layers.set(LAYER.DIMENSIONS);\n return line;\n }\n\n private addLinesToLineGroup(\n group: Group,\n config: DimensionLineConfig,\n mainMaterial: LineBasicMaterial,\n extMaterial: LineBasicMaterial,\n ) {\n config.extensionLines.forEach((extLine) => {\n group.add(this._createLineFromConfig(extLine, extMaterial));\n });\n\n group.add(this._createLineFromConfig(config.mainLine, mainMaterial));\n }\n\n private clearLineGroup(group: Group) {\n while (group.children.length > 0) {\n const child = group.children[0];\n if (child instanceof Line) {\n child.geometry.dispose();\n }\n group.remove(child);\n }\n }\n\n private addLabelToLineGroup(\n group: Group,\n labelText: string,\n labelWorldPosition: Vector3,\n ): void {\n const labelHtmlDiv = document.createElement('div');\n labelHtmlDiv.classList.add(\n 'dimension-label',\n 'dimension-label--primary',\n 'dimension-label--disabled',\n );\n const labelHtmlSpan = document.createElement('span');\n labelHtmlSpan.classList.add('dimension-label__value');\n labelHtmlSpan.innerHTML = labelText;\n labelHtmlDiv.appendChild(labelHtmlSpan);\n\n const labelObject = new CSS2DObject(labelHtmlDiv);\n const labelLocalPosition =\n this._dimensionLineGroup.worldToLocal(labelWorldPosition);\n labelObject.position.copy(labelLocalPosition);\n\n group.add(labelObject);\n }\n\n private _getWidthLineConfig(): DimensionLineConfig {\n const offset = DIMENSION_LINE_OFFSET;\n const extLength = EXTENSION_LINE_LENGTH_RATIO;\n const y = this._dimensions.y + offset;\n const localCam = this._getLocalCameraPosition();\n const z = localCam.z < this._dimensions.z / 2 ? 0 : this._dimensions.z;\n\n return {\n mainLine: new Line3(\n new Vector3(0, y, z),\n new Vector3(this._dimensions.x, y, z),\n ),\n extensionLines: [\n new Line3(\n new Vector3(0, y - extLength, z),\n new Vector3(0, y + extLength, z),\n ),\n new Line3(\n new Vector3(this._dimensions.x, y - extLength, z),\n new Vector3(this._dimensions.x, y + extLength, z),\n ),\n ],\n };\n }\n\n private _getDepthLineConfig(): DimensionLineConfig {\n const offset = DIMENSION_LINE_OFFSET;\n const extLength = EXTENSION_LINE_LENGTH_RATIO;\n const y = 0;\n const localCam = this._getLocalCameraPosition();\n const x =\n localCam.x < this._dimensions.x / 2\n ? -offset\n : this._dimensions.x + offset;\n\n return {\n mainLine: new Line3(\n new Vector3(x, y, this._dimensions.z),\n new Vector3(x, y, 0),\n ),\n extensionLines: [\n new Line3(\n new Vector3(x - extLength, y, 0),\n new Vector3(x + extLength, y, 0),\n ),\n new Line3(\n new Vector3(x - extLength, y, this._dimensions.z),\n new Vector3(x + extLength, y, this._dimensions.z),\n ),\n ],\n };\n }\n\n private _getHeightLineConfig(): DimensionLineConfig {\n const offset = DIMENSION_LINE_OFFSET;\n const extLength = EXTENSION_LINE_LENGTH_RATIO;\n const localCam = this._getLocalCameraPosition();\n const x =\n localCam.x < this._dimensions.x / 2\n ? -offset\n : this._dimensions.x + offset;\n const z = localCam.z < this._dimensions.z / 2 ? 0 : this._dimensions.z;\n\n return {\n mainLine: new Line3(\n new Vector3(x, 0, z),\n new Vector3(x, this._dimensions.y, z),\n ),\n extensionLines: [\n new Line3(\n new Vector3(x - extLength, 0, z),\n new Vector3(x + extLength, 0, z),\n ),\n new Line3(\n new Vector3(x - extLength, this._dimensions.y, z),\n new Vector3(x + extLength, this._dimensions.y, z),\n ),\n ],\n };\n }\n\n private _getLocalCameraPosition(): Vector3 {\n if (\n !this._cameraPosition ||\n !this._dimensionLineGroup ||\n !this._dimensions\n ) {\n return new Vector3(0, 0, 0);\n }\n return this._dimensionLineGroup.worldToLocal(this._cameraPosition.clone());\n }\n\n private _getCameraDistanceInfo(): {\n tooClose: boolean;\n opacity: number;\n distance: number;\n } {\n if (!this._object || !this._cameraPosition || !this._dimensions) {\n return { tooClose: false, opacity: 1.0, distance: Infinity };\n }\n const objPos = this._object.getWorldPosition(new Vector3());\n const distance = this._cameraPosition.distanceTo(objPos);\n const objectRadius =\n Math.max(this._dimensions.x, this._dimensions.y, this._dimensions.z) / 2;\n const minThreshold = objectRadius * MIN_CAMERA_DISTANCE_RATIO;\n const fadeThreshold = objectRadius * FADE_DISTANCE_RATIO;\n\n if (distance < minThreshold) {\n return { tooClose: true, opacity: 0, distance };\n }\n if (distance < fadeThreshold) {\n const opacity =\n (distance - minThreshold) / (fadeThreshold - minThreshold);\n return {\n tooClose: false,\n opacity: Math.max(0, Math.min(1, opacity)),\n distance,\n };\n }\n return { tooClose: false, opacity: 1.0, distance };\n }\n\n private _visibilityChangedCallback() {\n if (this._onVisibilityChange) {\n this._onVisibilityChange(this._dimensionsVisible);\n }\n }\n\n public update(force: boolean = false) {\n if (this._enabled && !this._dimensionsVisible) {\n this._dimensionsVisible = true;\n this._visibilityChangedCallback();\n }\n this._performUpdate(force);\n }\n\n public updateSize(boxForMeasurement: KernelCube) {\n this._origin = convertToTHREE(boxForMeasurement.origin);\n this._dimensionLineGroup.position.x =\n this._origin.x - this._object.position.x;\n this._dimensionLineGroup.position.y =\n this._origin.y - this._object.position.y;\n this._dimensionLineGroup.position.z =\n this._origin.z - this._object.position.z;\n this._dimensions = convertToTHREE(boxForMeasurement.size);\n this.update();\n }\n\n public removeFromObject(object: Object3D) {\n if (object) {\n object.remove(this._dimensionLineGroup);\n }\n }\n\n public onDimensionsVisibilityChanged(handler: (visible: boolean) => void) {\n this._onVisibilityChange = handler;\n }\n\n public setObject(object: Object3D): void {\n this._object = object;\n }\n\n public isInitialized(): Promise<void> {\n return this._initialized.wait();\n }\n\n public areDimensionsEnabled(): boolean {\n return this._enabled;\n }\n\n public clearScene(_scene: Scene): void {\n this._clear();\n }\n\n public addToObject(object: Object3D): void {\n if (!object || !this._dimensionLineGroup) {\n return;\n }\n object.add(this._dimensionLineGroup);\n }\n\n public enableDimensions(): void {\n this._enabled = true;\n this.addToObject(this._object);\n this.update(true);\n }\n\n public disableDimensions(): void {\n this._enabled = false;\n if (this._dimensionsVisible) {\n this._dimensionsVisible = false;\n this._visibilityChangedCallback();\n }\n this._clear();\n this.removeFromObject(this._object);\n }\n\n public enableTopDimensions(): void {\n this.enableDimensions();\n this._heightLineGroup.visible = false;\n this.update(true);\n }\n\n public disableTopDimensions(): void {\n this._heightLineGroup.visible = true;\n this.disableDimensions();\n }\n\n public getBoundingBox(): Box3 {\n const bbox = new Box3();\n bbox.expandByObject(this._dimensionLineGroup);\n return bbox;\n }\n\n public moveCameraStart(position: Vector3): void {\n this._cameraPosition = position;\n this.update();\n }\n\n public moveCameraEnd(position: Vector3): void {\n this._cameraPosition = position;\n this.update();\n }\n\n private _performUpdate(force: boolean): void {\n if (!this._enabled && !force) {\n return;\n }\n if (!this._dimensions) {\n return;\n }\n\n let opacity = 1.0;\n\n if (\n this._object &&\n this._cameraPosition &&\n !this._cameraPosition.equals(new Vector3(0, 0, 0))\n ) {\n const distanceCheck = this._getCameraDistanceInfo();\n if (distanceCheck.tooClose) {\n this._dimensionLineGroup.visible = false;\n } else {\n this._dimensionLineGroup.visible = true;\n opacity = distanceCheck.opacity;\n this._mainLineMaterial.opacity = opacity;\n }\n }\n\n this._dimensionLineGroup.updateMatrixWorld(true);\n\n const widthConfig = this._getWidthLineConfig();\n const widthLabelText = this._unitFormatter.formatMMValueToUnitString(\n this._dimensions.x * 1000,\n );\n const widthPos = this._dimensionLineGroup.localToWorld(\n widthConfig.mainLine.getCenter(new Vector3()),\n );\n this.clearLineGroup(this._widthLineGroup);\n this.addLinesToLineGroup(\n this._widthLineGroup,\n widthConfig,\n this._mainLineMaterial,\n this._mainLineMaterial,\n );\n this.addLabelToLineGroup(this._widthLineGroup, widthLabelText, widthPos);\n\n const heightConfig = this._getHeightLineConfig();\n const heightLabelText = this._unitFormatter.formatMMValueToUnitString(\n this._dimensions.y * 1000,\n );\n const heightPos = this._dimensionLineGroup.localToWorld(\n heightConfig.mainLine.getCenter(new Vector3()),\n );\n this.clearLineGroup(this._heightLineGroup);\n this.addLinesToLineGroup(\n this._heightLineGroup,\n heightConfig,\n this._mainLineMaterial,\n this._mainLineMaterial,\n );\n this.addLabelToLineGroup(this._heightLineGroup, heightLabelText, heightPos);\n\n const depthConfig = this._getDepthLineConfig();\n const depthLabelText = this._unitFormatter.formatMMValueToUnitString(\n this._dimensions.z * -1000,\n );\n const depthPos = this._dimensionLineGroup.localToWorld(\n depthConfig.mainLine.getCenter(new Vector3()),\n );\n this.clearLineGroup(this._depthLineGroup);\n this.addLinesToLineGroup(\n this._depthLineGroup,\n depthConfig,\n this._mainLineMaterial,\n this._mainLineMaterial,\n );\n this.addLabelToLineGroup(this._depthLineGroup, depthLabelText, depthPos);\n }\n\n private _clear(): void {\n this._lineMaterial.dispose();\n this._mainLineMaterial.dispose();\n [this._widthLineGroup, this._heightLineGroup, this._depthLineGroup].forEach(\n (group) => {\n this.clearLineGroup(group);\n },\n );\n }\n}\n"],"x_google_ignoreList":[1],"mappings":"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"}
|