@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
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ar as r, as as o, r as l } from "./index-DIyMlQBA.mjs";
|
|
2
|
-
const h = "" + new URL("banana.glb", import.meta.url).href;
|
|
3
|
-
var d = Object.defineProperty, f = (s, n, a, i) => {
|
|
4
|
-
for (var e = void 0, t = s.length - 1, c; t >= 0; t--)
|
|
5
|
-
(c = s[t]) && (e = c(n, a, e) || e);
|
|
6
|
-
return e && d(n, a, e), e;
|
|
7
|
-
};
|
|
8
|
-
class _ extends r {
|
|
9
|
-
setScene(n) {
|
|
10
|
-
this._scene = n, this._staticItemLoader.loadGLB(h).then((a) => {
|
|
11
|
-
this._banana = a.scene, this.updateBounds(null);
|
|
12
|
-
}), console.log(
|
|
13
|
-
"%cBanana 3D model by https://sketchfab.com/daniel132",
|
|
14
|
-
"color: #ffe135"
|
|
15
|
-
), console.log(
|
|
16
|
-
"%cBanana source: https://sketchfab.com/3d-models/banana-mark-2-a7fef734bf4544cb8a780a858fa6af97",
|
|
17
|
-
"color: #ffe135"
|
|
18
|
-
), console.log(
|
|
19
|
-
"%cLicensed under Creative Commons 4.0: https://creativecommons.org/licenses/by/4.0/",
|
|
20
|
-
"color: #ffe135"
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
updateBounds(n) {
|
|
24
|
-
if (n && (this._bounds = n), !!this._bounds) {
|
|
25
|
-
if (this._banana) {
|
|
26
|
-
const a = this._bounds.getSize(new o()), e = this._bounds.getCenter(new o()).clone();
|
|
27
|
-
e.x -= a.x / 2 + 0.18, e.z += a.z / 2 + 0.05, e.y = 0;
|
|
28
|
-
let t = 0.1;
|
|
29
|
-
this._banana.scale.copy(new o(t, t, t)), this._banana.rotation.y = 0.6, this._banana.position.copy(e);
|
|
30
|
-
}
|
|
31
|
-
this._scene.children.includes(this._banana) || this.addToScene();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
clearScene(n, a) {
|
|
35
|
-
super.clearScene(n, a), this.removeFromScene();
|
|
36
|
-
}
|
|
37
|
-
addToScene() {
|
|
38
|
-
!this._scene || !this._banana || this._scene.add(this._banana);
|
|
39
|
-
}
|
|
40
|
-
removeFromScene() {
|
|
41
|
-
!this._scene || !this._banana || this._scene.remove(this._banana);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
f([
|
|
45
|
-
l
|
|
46
|
-
], _.prototype, "_staticItemLoader");
|
|
47
|
-
export {
|
|
48
|
-
_ as default
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=banana-for-scale-CfQ8dnY2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"banana-for-scale-CfQ8dnY2.mjs","sources":["../../packages/configurator-core/public/geometry/banana.glb?no-inline?url","../../packages/configurator-core/src/webgl/banana-for-scale.ts"],"sourcesContent":["export default \"__VITE_ASSET__CEZkpbOl__\"","import inject from '../../../common-core/src/di/inject';\nimport type StaticItemLoader from '../../../common-core/src/webgl/static-item-loader';\nimport { ScenePluginDefaultImplementation } from './plugin-system';\nimport { BANANA_FILE_NAME } from '../static-files/geometries';\nimport type { Box3, Object3D, Scene } from 'three';\nimport { Vector3 } from 'three';\n\nexport default class BananaForScale extends ScenePluginDefaultImplementation {\n private _scene: Scene;\n private _bounds: Box3;\n private _banana: Object3D;\n\n @inject\n private _staticItemLoader: StaticItemLoader;\n\n public setScene(scene: Scene) {\n this._scene = scene;\n\n this._staticItemLoader.loadGLB(BANANA_FILE_NAME).then((glb) => {\n this._banana = glb.scene;\n this.updateBounds(null);\n });\n\n console.log(\n '%c' + 'Banana 3D model by https://sketchfab.com/daniel132',\n 'color: #ffe135',\n );\n console.log(\n '%c' +\n 'Banana source: https://sketchfab.com/3d-models/banana-mark-2-a7fef734bf4544cb8a780a858fa6af97',\n 'color: #ffe135',\n );\n console.log(\n '%c' +\n 'Licensed under Creative Commons 4.0: https://creativecommons.org/licenses/by/4.0/',\n 'color: #ffe135',\n );\n }\n\n public updateBounds(bounds: Box3) {\n if (bounds) {\n this._bounds = bounds;\n }\n if (!this._bounds) {\n return;\n }\n if (this._banana) {\n const size = this._bounds.getSize(new Vector3());\n const center = this._bounds.getCenter(new Vector3());\n const position = center.clone();\n position.x -= size.x / 2 + 0.18;\n position.z += size.z / 2 + 0.05;\n position.y = 0;\n let scale = 0.1;\n this._banana.scale.copy(new Vector3(scale, scale, scale));\n this._banana.rotation.y = 0.6;\n this._banana.position.copy(position);\n }\n if (!this._scene.children.includes(this._banana)) {\n this.addToScene();\n }\n }\n\n public clearScene(scene: Scene, uiScene: Scene): void {\n super.clearScene(scene, uiScene);\n\n this.removeFromScene();\n }\n\n public addToScene(): void {\n if (!this._scene || !this._banana) {\n return;\n }\n this._scene.add(this._banana);\n }\n\n public removeFromScene(): void {\n if (!this._scene || !this._banana) {\n return;\n }\n this._scene.remove(this._banana);\n }\n}\n"],"names":["BANANA_FILE_NAME","BananaForScale","ScenePluginDefaultImplementation","scene","glb","bounds","size","Vector3","position","scale","uiScene","__decorateClass","inject"],"mappings":";AAAA,MAAAA,IAAe;;;;;;ACOf,MAAqBC,UAAuBC,EAAiC;AAAA,EAQpE,SAASC,GAAc;AAC5B,SAAK,SAASA,GAEd,KAAK,kBAAkB,QAAQH,CAAgB,EAAE,KAAK,CAACI,MAAQ;AAC7D,WAAK,UAAUA,EAAI,OACnB,KAAK,aAAa,IAAI;AAAA,IACxB,CAAC,GAED,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA,GAEF,QAAQ;AAAA,MACN;AAAA,MAEA;AAAA,IAAA,GAEF,QAAQ;AAAA,MACN;AAAA,MAEA;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEO,aAAaC,GAAc;AAIhC,QAHIA,MACF,KAAK,UAAUA,IAEb,EAAC,KAAK,SAGV;AAAA,UAAI,KAAK,SAAS;AAChB,cAAMC,IAAO,KAAK,QAAQ,QAAQ,IAAIC,GAAS,GAEzCC,IADS,KAAK,QAAQ,UAAU,IAAID,GAAS,EAC3B,MAAA;AACxB,QAAAC,EAAS,KAAKF,EAAK,IAAI,IAAI,MAC3BE,EAAS,KAAKF,EAAK,IAAI,IAAI,MAC3BE,EAAS,IAAI;AACb,YAAIC,IAAQ;AACZ,aAAK,QAAQ,MAAM,KAAK,IAAIF,EAAQE,GAAOA,GAAOA,CAAK,CAAC,GACxD,KAAK,QAAQ,SAAS,IAAI,KAC1B,KAAK,QAAQ,SAAS,KAAKD,CAAQ;AAAA,MACrC;AACA,MAAK,KAAK,OAAO,SAAS,SAAS,KAAK,OAAO,KAC7C,KAAK,WAAA;AAAA;AAAA,EAET;AAAA,EAEO,WAAWL,GAAcO,GAAsB;AACpD,UAAM,WAAWP,GAAOO,CAAO,GAE/B,KAAK,gBAAA;AAAA,EACP;AAAA,EAEO,aAAmB;AACxB,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,WAG1B,KAAK,OAAO,IAAI,KAAK,OAAO;AAAA,EAC9B;AAAA,EAEO,kBAAwB;AAC7B,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,WAG1B,KAAK,OAAO,OAAO,KAAK,OAAO;AAAA,EACjC;AACF;AArEUC,EAAA;AAAA,EADPC;AAAA,GALkBX,EAMX,WAAA,mBAAA;"}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { at as v, au as M, as as l, av as E, aw as O, ax as m, ay as f, az as b, aA as p, aB as S, aC as z, aD as h, r as g } from "./index-DIyMlQBA.mjs";
|
|
2
|
-
function D(r, e, i, t) {
|
|
3
|
-
const n = document.createElement("div");
|
|
4
|
-
return n.classList.add("dimension-label"), e === 0 ? n.classList.add("dimension-label--primary") : n.classList.add("dimension-label--secondary"), i ? n.onclick = () => {
|
|
5
|
-
for (n.classList.add("dimension-label--editing"); n.firstChild; )
|
|
6
|
-
n.removeChild(n.firstChild);
|
|
7
|
-
const a = C(
|
|
8
|
-
r,
|
|
9
|
-
i,
|
|
10
|
-
t
|
|
11
|
-
);
|
|
12
|
-
n.appendChild(a), a.focus(), a.select();
|
|
13
|
-
} : n.classList.add("dimension-label--disabled"), I(n, r), n;
|
|
14
|
-
}
|
|
15
|
-
function C(r, e, i) {
|
|
16
|
-
const t = document.createElement("input");
|
|
17
|
-
t.id = e, t.type = "text", t.enterKeyHint = "done", t.classList.add("dimension-label__input"), t.inputMode = "numeric", t.pattern = "[0-9]*", t.value = r;
|
|
18
|
-
function n(a, s) {
|
|
19
|
-
if (t.id !== a)
|
|
20
|
-
return;
|
|
21
|
-
t.id = "";
|
|
22
|
-
const o = parseFloat(s);
|
|
23
|
-
if (isNaN(o) || o <= 0) {
|
|
24
|
-
i(a, r);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
i(a, s);
|
|
28
|
-
}
|
|
29
|
-
return t.onkeydown = (a) => {
|
|
30
|
-
a.key === "Escape" || a.key === "Esc" ? n(e, r) : a.key === "Enter" && n(e, t.value);
|
|
31
|
-
}, t.onblur = () => {
|
|
32
|
-
n(e, t.value);
|
|
33
|
-
}, t;
|
|
34
|
-
}
|
|
35
|
-
function I(r, e) {
|
|
36
|
-
for (; r.firstChild; )
|
|
37
|
-
r.removeChild(r.firstChild);
|
|
38
|
-
const i = document.createElement("span");
|
|
39
|
-
i.classList.add("dimension-label__value"), i.innerHTML = e, r.appendChild(i);
|
|
40
|
-
}
|
|
41
|
-
var T = Object.defineProperty, y = (r, e, i, t) => {
|
|
42
|
-
for (var n = void 0, a = r.length - 1, s; a >= 0; a--)
|
|
43
|
-
(s = r[a]) && (n = s(e, i, n) || n);
|
|
44
|
-
return n && T(e, i, n), n;
|
|
45
|
-
};
|
|
46
|
-
const _ = "component_dimensioning_line_material", N = 3618615, j = 0.05, L = 0.02, F = 0.025;
|
|
47
|
-
class c {
|
|
48
|
-
constructor(e, i, t) {
|
|
49
|
-
this._direction = c._getDirection(e);
|
|
50
|
-
const n = c._getDefaultLabelDirection(
|
|
51
|
-
e,
|
|
52
|
-
this._direction
|
|
53
|
-
), a = t.dot(n) >= 0;
|
|
54
|
-
this._labelDirection = c._calculateActualLabelDirection(
|
|
55
|
-
e,
|
|
56
|
-
a,
|
|
57
|
-
n
|
|
58
|
-
), this._origin = c._calculateOrigin(
|
|
59
|
-
e,
|
|
60
|
-
i,
|
|
61
|
-
a
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
get direction() {
|
|
65
|
-
return this._direction;
|
|
66
|
-
}
|
|
67
|
-
get labelDirection() {
|
|
68
|
-
return this._labelDirection;
|
|
69
|
-
}
|
|
70
|
-
getEdge(e, i, t) {
|
|
71
|
-
const n = this._origin.clone().add(this._direction.clone().multiplyScalar(e)).add(this._labelDirection.clone().multiplyScalar(t)), a = this._origin.clone().add(this._direction.clone().multiplyScalar(i)).add(this._labelDirection.clone().multiplyScalar(t));
|
|
72
|
-
return new z(n, a);
|
|
73
|
-
}
|
|
74
|
-
static _getDirection(e) {
|
|
75
|
-
return e.axis ? h(e.axis.direction).normalize() : e.dimensioning.axis === "x" ? new l(1, 0, 0) : e.dimensioning.axis === "y" ? new l(0, 0, 1) : new l(0, 1, 0);
|
|
76
|
-
}
|
|
77
|
-
static _getDefaultLabelDirection(e, i) {
|
|
78
|
-
if (e.axis) {
|
|
79
|
-
const t = h(
|
|
80
|
-
e.axis.labelDirection
|
|
81
|
-
);
|
|
82
|
-
return i.clone().cross(t).cross(i).normalize();
|
|
83
|
-
} else {
|
|
84
|
-
if (e.dimensioning.axis === "x")
|
|
85
|
-
return new l(0, 1, 0);
|
|
86
|
-
if (e.dimensioning.axis === "y")
|
|
87
|
-
return new l(-1, 0, 0);
|
|
88
|
-
}
|
|
89
|
-
return new l(-1, 0, 0);
|
|
90
|
-
}
|
|
91
|
-
static _calculateActualLabelDirection(e, i, t) {
|
|
92
|
-
if (i) {
|
|
93
|
-
if (e.axis) {
|
|
94
|
-
if (e.axis.alternativeOrigin)
|
|
95
|
-
return t.clone().multiplyScalar(-1);
|
|
96
|
-
} else if (e.dimensioning.axis === "y" || e.dimensioning.axis === "z")
|
|
97
|
-
return t.clone().multiplyScalar(-1);
|
|
98
|
-
}
|
|
99
|
-
return t;
|
|
100
|
-
}
|
|
101
|
-
static _calculateOrigin(e, i, t) {
|
|
102
|
-
const n = i.getCenter(new l()), a = i.getSize(new l());
|
|
103
|
-
return e.axis ? t && e.axis.alternativeOrigin ? h(e.axis.alternativeOrigin) : h(e.axis.origin) : e.dimensioning.axis === "x" ? new l(0, n.y + a.y * 0.5, n.z - a.z * 0.5) : e.dimensioning.axis === "y" ? new l(
|
|
104
|
-
n.x + a.x * (t ? 0.5 : -0.5),
|
|
105
|
-
n.y - a.y * 0.5,
|
|
106
|
-
0
|
|
107
|
-
) : new l(
|
|
108
|
-
n.x + a.x * (t ? 0.5 : -0.5),
|
|
109
|
-
0,
|
|
110
|
-
n.z - a.z * 0.5
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
class x extends v {
|
|
115
|
-
constructor(e, i, t, n) {
|
|
116
|
-
super(), this._mainLineObject = null, this.onEditingFinished = (a, s) => {
|
|
117
|
-
const o = this._unitFormatter.parseMMValueFromUnitString(
|
|
118
|
-
s,
|
|
119
|
-
"length"
|
|
120
|
-
);
|
|
121
|
-
this.editingFinishedCallback(a, o);
|
|
122
|
-
}, this.name = M, this._size = i.getSize(new l()), this._dimensioning = E(
|
|
123
|
-
e.dimensioning
|
|
124
|
-
), this._axis = new c(
|
|
125
|
-
e,
|
|
126
|
-
i,
|
|
127
|
-
t
|
|
128
|
-
), this._level = this._dimensioning.maxLevel - this._dimensioning.level, this.editingFinishedCallback = n, this._init();
|
|
129
|
-
}
|
|
130
|
-
clone() {
|
|
131
|
-
console.warn(
|
|
132
|
-
"Will not clone ComponentDimensioning because this can break the generation of perspective images. If the ComponentDimensioning is visible during the generation of the perspective image, three.js tries to clone it but clone does not give any parameters to the constructor and therefore the clone breaks."
|
|
133
|
-
);
|
|
134
|
-
}
|
|
135
|
-
_initMaterials() {
|
|
136
|
-
this._cacheHolder.materialCache && (this._cacheHolder.materialCache.has(_) ? this._lineMaterial = this._cacheHolder.materialCache.get(
|
|
137
|
-
_
|
|
138
|
-
) : (this._lineMaterial = new O({
|
|
139
|
-
color: N
|
|
140
|
-
}), this._cacheHolder.materialCache.set(_, this._lineMaterial)));
|
|
141
|
-
}
|
|
142
|
-
_init() {
|
|
143
|
-
this._initMaterials();
|
|
144
|
-
const e = Math.round(
|
|
145
|
-
Math.max(this._size.y, this._size.x, this._size.z)
|
|
146
|
-
), i = Math.abs(this._dimensioning.to - this._dimensioning.from);
|
|
147
|
-
let t = F + (e < 4 ? 0 : e * 5e-3);
|
|
148
|
-
i < 0.3 && (t *= 0.5 + i);
|
|
149
|
-
const n = t * 1.4, a = j + (3 * L + n) * this._level, s = this._axis.getEdge(
|
|
150
|
-
this._dimensioning.from,
|
|
151
|
-
this._dimensioning.to,
|
|
152
|
-
a
|
|
153
|
-
);
|
|
154
|
-
this._addEdgeSideLines(
|
|
155
|
-
n,
|
|
156
|
-
s,
|
|
157
|
-
this._axis.labelDirection.clone()
|
|
158
|
-
);
|
|
159
|
-
const o = new m(), u = [
|
|
160
|
-
s.start.x,
|
|
161
|
-
s.start.y,
|
|
162
|
-
s.start.z,
|
|
163
|
-
s.end.x,
|
|
164
|
-
s.end.y,
|
|
165
|
-
s.end.z
|
|
166
|
-
];
|
|
167
|
-
o.setAttribute(
|
|
168
|
-
"position",
|
|
169
|
-
new f(new Float32Array(u), 3)
|
|
170
|
-
);
|
|
171
|
-
const d = new b(o, this._lineMaterial);
|
|
172
|
-
d.name = "component dimension line " + this._dimensioning.axis, d.renderOrder = 0, d.layers.set(p.DIMENSIONS), this._mainLineObject = d, this.add(d);
|
|
173
|
-
const w = this._unitFormatter.formatMMValueToUnitString(
|
|
174
|
-
i * 1e3
|
|
175
|
-
);
|
|
176
|
-
this._textLabel = this.createTextLabel(w), this.add(this._textLabel);
|
|
177
|
-
}
|
|
178
|
-
createTextLabel(e) {
|
|
179
|
-
const i = D(
|
|
180
|
-
e,
|
|
181
|
-
this._dimensioning.level,
|
|
182
|
-
this._dimensioning.interactionKey,
|
|
183
|
-
this.onEditingFinished
|
|
184
|
-
), t = new S(i);
|
|
185
|
-
return t.userData.isLabel = !0, t.renderOrder = 1, t;
|
|
186
|
-
}
|
|
187
|
-
// Get the world position center of the main dimension line (same logic as getDimensionLineCenter)
|
|
188
|
-
_getMainLineCenterWorldPosition() {
|
|
189
|
-
if (!this._mainLineObject)
|
|
190
|
-
return null;
|
|
191
|
-
this.updateMatrixWorld(!0), this._mainLineObject.updateMatrixWorld(!0);
|
|
192
|
-
const e = this._mainLineObject.geometry.attributes.position.array;
|
|
193
|
-
if (e.length < 6)
|
|
194
|
-
return null;
|
|
195
|
-
const i = new l(e[0], e[1], e[2]), t = new l(e[3], e[4], e[5]);
|
|
196
|
-
return i.applyMatrix4(this._mainLineObject.matrixWorld), t.applyMatrix4(this._mainLineObject.matrixWorld), i.clone().add(t).multiplyScalar(0.5);
|
|
197
|
-
}
|
|
198
|
-
initializeTextLabels() {
|
|
199
|
-
if (!(!this._textLabel || this._textLabel.children.length > 0))
|
|
200
|
-
try {
|
|
201
|
-
this.updateMatrixWorld(!0);
|
|
202
|
-
const e = this._getMainLineCenterWorldPosition();
|
|
203
|
-
if (e) {
|
|
204
|
-
const i = this.worldToLocal(e.clone());
|
|
205
|
-
this._textLabel.position.copy(i);
|
|
206
|
-
}
|
|
207
|
-
} catch (e) {
|
|
208
|
-
console.warn("Failed to initialize text label for dimension:", e), this._textLabel && this.remove(this._textLabel);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
_addEdgeSideLines(e, i, t) {
|
|
212
|
-
const n = -(3 * L + e) * 0.5, a = i.start.clone(), s = i.start.clone().add(t.clone().multiplyScalar(n)), o = i.end.clone(), u = i.end.clone().add(t.clone().multiplyScalar(n));
|
|
213
|
-
this._addLine(s, a), this._addLine(u, o);
|
|
214
|
-
}
|
|
215
|
-
_addLine(e, i) {
|
|
216
|
-
const t = new m(), n = [e.x, e.y, e.z, i.x, i.y, i.z];
|
|
217
|
-
t.setAttribute(
|
|
218
|
-
"position",
|
|
219
|
-
new f(new Float32Array(n), 3)
|
|
220
|
-
);
|
|
221
|
-
const a = new b(t, this._lineMaterial);
|
|
222
|
-
a.renderOrder = 0, a.layers.set(p.DIMENSIONS), this.add(a);
|
|
223
|
-
}
|
|
224
|
-
dispose() {
|
|
225
|
-
this.remove(this._textLabel), this._mainLineObject = null;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
y([
|
|
229
|
-
g
|
|
230
|
-
], x.prototype, "_cacheHolder");
|
|
231
|
-
y([
|
|
232
|
-
g
|
|
233
|
-
], x.prototype, "_unitFormatter");
|
|
234
|
-
export {
|
|
235
|
-
x as default
|
|
236
|
-
};
|
|
237
|
-
//# sourceMappingURL=component-dimensioning-C9AWhxvj.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component-dimensioning-C9AWhxvj.mjs","sources":["../../packages/configurator-core/src/utils/component-dimensioning-html-util.ts","../../packages/configurator-core/src/utils/component-dimensioning.ts"],"sourcesContent":["export function createDimensioningTextLabelHtmlDiv(\n labelText: string,\n dimensioningLevel: number,\n interactionKey: string | undefined,\n editingFinishedCallback: (interactionKey: string, value: string) => void,\n): HTMLDivElement {\n const labelHtmlDiv = document.createElement('div');\n labelHtmlDiv.classList.add('dimension-label');\n\n if (dimensioningLevel === 0) {\n labelHtmlDiv.classList.add('dimension-label--primary');\n } else {\n labelHtmlDiv.classList.add('dimension-label--secondary');\n }\n\n if (!interactionKey) {\n labelHtmlDiv.classList.add('dimension-label--disabled');\n } else {\n labelHtmlDiv.onclick = () => {\n labelHtmlDiv.classList.add('dimension-label--editing');\n while (labelHtmlDiv.firstChild) {\n labelHtmlDiv.removeChild(labelHtmlDiv.firstChild);\n }\n const labelHtmlInput = createDimensioningLabelHtmlInput(\n labelText,\n interactionKey,\n editingFinishedCallback,\n );\n labelHtmlDiv.appendChild(labelHtmlInput);\n labelHtmlInput.focus();\n labelHtmlInput.select();\n };\n }\n\n resetChildren(labelHtmlDiv, labelText);\n\n return labelHtmlDiv;\n}\n\nfunction createDimensioningLabelHtmlInput(\n originalValue: string,\n interactionKey: string,\n editingFinishedCallback: (interactionKey: string, value: string) => void,\n): HTMLInputElement {\n const labelHtmlInput = document.createElement('input');\n labelHtmlInput.id = interactionKey;\n labelHtmlInput.type = 'text';\n labelHtmlInput.enterKeyHint = 'done';\n labelHtmlInput.classList.add('dimension-label__input');\n labelHtmlInput.inputMode = 'numeric';\n labelHtmlInput.pattern = '[0-9]*';\n labelHtmlInput.value = originalValue;\n\n function finishEditing(interactionKey: string, valueToSet: string): void {\n // avoid race conditions\n if (labelHtmlInput.id !== interactionKey) {\n return;\n }\n labelHtmlInput.id = '';\n\n const numValue = parseFloat(valueToSet);\n\n if (isNaN(numValue) || numValue <= 0) {\n editingFinishedCallback(interactionKey, originalValue);\n return;\n }\n\n editingFinishedCallback(interactionKey, valueToSet);\n }\n\n labelHtmlInput.onkeydown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' || event.key === 'Esc') {\n finishEditing(interactionKey, originalValue);\n } else if (event.key === 'Enter') {\n finishEditing(interactionKey, labelHtmlInput.value);\n }\n };\n\n labelHtmlInput.onblur = () => {\n finishEditing(interactionKey, labelHtmlInput.value);\n };\n\n return labelHtmlInput;\n}\n\nfunction resetChildren(labelHtmlDiv: HTMLDivElement, labelText: string): void {\n while (labelHtmlDiv.firstChild) {\n labelHtmlDiv.removeChild(labelHtmlDiv.firstChild);\n }\n\n const labelHtmlSpan = document.createElement('span');\n labelHtmlSpan.classList.add('dimension-label__value');\n labelHtmlSpan.innerHTML = labelText;\n labelHtmlDiv.appendChild(labelHtmlSpan);\n}\n","import type CacheHolder from '../../../common-core/src/services/cache-holder';\nimport type UnitFormatter from '../services/unit-formatter';\nimport type { Dimensioning, DimensioningAxis } from '../../../typings/kernel';\n\nimport type { Box3 } from 'three';\nimport {\n BufferAttribute,\n BufferGeometry,\n Line,\n Line3,\n LineBasicMaterial,\n Object3D,\n Vector3,\n} from 'three';\nimport { kernelDimensioningToThree } from '../../../common-core/src/utils/threejs-utils';\nimport { convertToTHREE } from '../../../common-core/src/utils/kernel-utils';\nimport { DIMENSIONING_GEOMETRY } from './dimensioning-helper';\nimport inject from '../../../common-core/src/di/inject';\nimport { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer.js';\nimport { LAYER } from '../../../common-core/src/webgl/layer';\nimport { createDimensioningTextLabelHtmlDiv } from './component-dimensioning-html-util';\n\nconst LINE_MATERIAL = 'component_dimensioning_line_material';\nconst LINE_COLOR = 0x373737;\nconst LINE_SPACING = 0.05;\n\nconst TEXT_SPACING = 0.02;\nconst TEXT_SIZE = 0.025;\n\nexport interface DimensioningAndAxis {\n dimensioning: Dimensioning;\n axis?: DimensioningAxis;\n}\n\nclass ComponentDimensioningAxis {\n private _origin: Vector3;\n private readonly _direction: Vector3;\n private readonly _labelDirection: Vector3;\n\n constructor(\n dimensioningAndAxis: DimensioningAndAxis,\n boundingBox: Box3,\n cameraPosition: Vector3,\n ) {\n this._direction =\n ComponentDimensioningAxis._getDirection(dimensioningAndAxis);\n const defaultLabelDirection =\n ComponentDimensioningAxis._getDefaultLabelDirection(\n dimensioningAndAxis,\n this._direction,\n );\n const lookAtOppositeSide = cameraPosition.dot(defaultLabelDirection) >= 0;\n this._labelDirection =\n ComponentDimensioningAxis._calculateActualLabelDirection(\n dimensioningAndAxis,\n lookAtOppositeSide,\n defaultLabelDirection,\n );\n this._origin = ComponentDimensioningAxis._calculateOrigin(\n dimensioningAndAxis,\n boundingBox,\n lookAtOppositeSide,\n );\n }\n\n get direction(): Vector3 {\n return this._direction;\n }\n\n get labelDirection(): Vector3 {\n return this._labelDirection;\n }\n\n getEdge(from: number, to: number, lineOffset: number): Line3 {\n const start = this._origin\n .clone()\n .add(this._direction.clone().multiplyScalar(from))\n .add(this._labelDirection.clone().multiplyScalar(lineOffset));\n const end = this._origin\n .clone()\n .add(this._direction.clone().multiplyScalar(to))\n .add(this._labelDirection.clone().multiplyScalar(lineOffset));\n return new Line3(start, end);\n }\n\n private static _getDirection(\n dimensioningAndAxis: DimensioningAndAxis,\n ): Vector3 {\n if (dimensioningAndAxis.axis) {\n return convertToTHREE(dimensioningAndAxis.axis.direction).normalize();\n } else if (dimensioningAndAxis.dimensioning.axis === 'x') {\n return new Vector3(1, 0, 0);\n } else if (dimensioningAndAxis.dimensioning.axis === 'y') {\n return new Vector3(0, 0, 1);\n }\n return new Vector3(0, 1, 0);\n }\n\n private static _getDefaultLabelDirection(\n dimensioningAndAxis: DimensioningAndAxis,\n direction: Vector3,\n ): Vector3 {\n if (dimensioningAndAxis.axis) {\n const labelDirection = convertToTHREE(\n dimensioningAndAxis.axis.labelDirection,\n );\n const planeNormal = direction.clone().cross(labelDirection);\n return planeNormal.cross(direction).normalize();\n } else if (dimensioningAndAxis.dimensioning.axis === 'x') {\n return new Vector3(0, 1, 0);\n } else if (dimensioningAndAxis.dimensioning.axis === 'y') {\n return new Vector3(-1, 0, 0);\n }\n return new Vector3(-1, 0, 0);\n }\n\n private static _calculateActualLabelDirection(\n dimensioningAndAxis: DimensioningAndAxis,\n lookAtOppositeSide: boolean,\n labelDirection: Vector3,\n ): Vector3 {\n if (lookAtOppositeSide) {\n if (dimensioningAndAxis.axis) {\n if (dimensioningAndAxis.axis.alternativeOrigin) {\n return labelDirection.clone().multiplyScalar(-1);\n }\n } else if (\n dimensioningAndAxis.dimensioning.axis === 'y' ||\n dimensioningAndAxis.dimensioning.axis === 'z'\n ) {\n return labelDirection.clone().multiplyScalar(-1);\n }\n }\n return labelDirection;\n }\n\n private static _calculateOrigin(\n dimensioningAndAxis: DimensioningAndAxis,\n boundingBox: Box3,\n lookAtOppositeSide: boolean,\n ): Vector3 {\n const center = boundingBox.getCenter(new Vector3());\n const size = boundingBox.getSize(new Vector3());\n if (dimensioningAndAxis.axis) {\n return lookAtOppositeSide && dimensioningAndAxis.axis.alternativeOrigin\n ? convertToTHREE(dimensioningAndAxis.axis.alternativeOrigin)\n : convertToTHREE(dimensioningAndAxis.axis.origin);\n } else if (dimensioningAndAxis.dimensioning.axis === 'x') {\n return new Vector3(0, center.y + size.y * 0.5, center.z - size.z * 0.5);\n } else if (dimensioningAndAxis.dimensioning.axis === 'y') {\n return new Vector3(\n center.x + size.x * (lookAtOppositeSide ? 0.5 : -0.5),\n center.y - size.y * 0.5,\n 0,\n );\n }\n return new Vector3(\n center.x + size.x * (lookAtOppositeSide ? 0.5 : -0.5),\n 0,\n center.z - size.z * 0.5,\n );\n }\n}\n\nexport default class ComponentDimensioning extends Object3D {\n @inject\n private _cacheHolder: CacheHolder;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n private _dimensioning: Dimensioning;\n private _axis: ComponentDimensioningAxis;\n private _size: Vector3;\n\n private readonly editingFinishedCallback: (\n interactionKey: string,\n value: number,\n ) => void;\n\n private readonly _level: number;\n private _lineMaterial: LineBasicMaterial;\n\n private _textLabel: CSS2DObject;\n\n private _mainLineObject: Line | null = null;\n\n constructor(\n dimensioningAndAxis: DimensioningAndAxis,\n boundingBox: Box3,\n relativeCameraDirection: Vector3,\n editingFinishedCallback: (interactionKey: string, value: number) => void,\n ) {\n super();\n this.name = DIMENSIONING_GEOMETRY;\n\n this._size = boundingBox.getSize(new Vector3());\n this._dimensioning = kernelDimensioningToThree(\n dimensioningAndAxis.dimensioning,\n );\n this._axis = new ComponentDimensioningAxis(\n dimensioningAndAxis,\n boundingBox,\n relativeCameraDirection,\n );\n this._level = this._dimensioning.maxLevel - this._dimensioning.level;\n\n this.editingFinishedCallback = editingFinishedCallback;\n\n this._init();\n }\n\n clone() {\n console.warn(\n 'Will not clone ComponentDimensioning because this can break the generation of perspective images. ' +\n 'If the ComponentDimensioning is visible during the generation of the perspective image, ' +\n 'three.js tries to clone it but clone does not give any parameters to the constructor and therefore the clone breaks.',\n );\n // Since we do not need to clone ComponentDimensioning, we return undefined\n return undefined as any;\n }\n\n private _initMaterials() {\n if (!this._cacheHolder.materialCache) {\n return;\n }\n\n if (this._cacheHolder.materialCache.has(LINE_MATERIAL)) {\n this._lineMaterial = this._cacheHolder.materialCache.get(\n LINE_MATERIAL,\n ) as LineBasicMaterial;\n } else {\n this._lineMaterial = new LineBasicMaterial({\n color: LINE_COLOR,\n });\n this._cacheHolder.materialCache.set(LINE_MATERIAL, this._lineMaterial);\n }\n }\n\n private _init() {\n this._initMaterials();\n\n const maxSize = Math.round(\n Math.max(this._size.y, this._size.x, this._size.z),\n );\n const length = Math.abs(this._dimensioning.to - this._dimensioning.from);\n\n let fontSize = TEXT_SIZE + (maxSize < 4 ? 0 : maxSize * 0.005);\n if (length < 0.3) {\n fontSize *= 0.5 + length;\n }\n\n // Approximate text height for spacing calculations\n // Based on typical font metrics (height is roughly 1.4x the font size)\n const levelSpacing = fontSize * 1.4;\n\n const lineOffset =\n LINE_SPACING + (3 * TEXT_SPACING + levelSpacing) * this._level;\n\n const line = this._axis.getEdge(\n this._dimensioning.from,\n this._dimensioning.to,\n lineOffset,\n );\n\n this._addEdgeSideLines(\n levelSpacing,\n line,\n this._axis.labelDirection.clone(),\n );\n\n const lineGeometry = new BufferGeometry();\n const vertices = [\n line.start.x,\n line.start.y,\n line.start.z,\n line.end.x,\n line.end.y,\n line.end.z,\n ];\n lineGeometry.setAttribute(\n 'position',\n new BufferAttribute(new Float32Array(vertices), 3),\n );\n\n const lineObject = new Line(lineGeometry, this._lineMaterial);\n lineObject.name = 'component dimension line ' + this._dimensioning.axis;\n lineObject.renderOrder = 0;\n lineObject.layers.set(LAYER.DIMENSIONS);\n\n this._mainLineObject = lineObject;\n\n this.add(lineObject);\n\n const labelText = this._unitFormatter.formatMMValueToUnitString(\n length * 1000,\n );\n\n this._textLabel = this.createTextLabel(labelText);\n this.add(this._textLabel);\n }\n\n private createTextLabel(labelText: string): CSS2DObject {\n const labelHtmlDiv = createDimensioningTextLabelHtmlDiv(\n labelText,\n this._dimensioning.level,\n this._dimensioning.interactionKey,\n this.onEditingFinished,\n );\n const labelObject = new CSS2DObject(labelHtmlDiv);\n labelObject.userData.isLabel = true;\n labelObject.renderOrder = 1;\n\n return labelObject;\n }\n\n private onEditingFinished = (interactionKey: string, value: string): void => {\n const parsedValue = this._unitFormatter.parseMMValueFromUnitString(\n value,\n 'length',\n );\n\n this.editingFinishedCallback(interactionKey, parsedValue);\n };\n\n // Get the world position center of the main dimension line (same logic as getDimensionLineCenter)\n private _getMainLineCenterWorldPosition(): Vector3 | null {\n if (!this._mainLineObject) {\n return null;\n }\n\n this.updateMatrixWorld(true);\n this._mainLineObject.updateMatrixWorld(true);\n\n const positions = this._mainLineObject.geometry.attributes.position.array;\n\n if (positions.length < 6) {\n return null;\n }\n\n const start = new Vector3(positions[0], positions[1], positions[2]);\n const end = new Vector3(positions[3], positions[4], positions[5]);\n\n start.applyMatrix4(this._mainLineObject.matrixWorld);\n end.applyMatrix4(this._mainLineObject.matrixWorld);\n\n return start.clone().add(end).multiplyScalar(0.5);\n }\n\n public initializeTextLabels(): void {\n if (!this._textLabel || this._textLabel.children.length > 0) {\n return;\n }\n\n try {\n this.updateMatrixWorld(true);\n\n const labelWorldPos = this._getMainLineCenterWorldPosition();\n if (labelWorldPos) {\n const labelLocalPos = this.worldToLocal(labelWorldPos.clone());\n this._textLabel.position.copy(labelLocalPos);\n }\n } catch (error) {\n console.warn('Failed to initialize text label for dimension:', error);\n if (this._textLabel) {\n this.remove(this._textLabel);\n }\n }\n }\n\n private _addEdgeSideLines(\n levelSpacing: number,\n line: Line3,\n labelDirection: Vector3,\n ) {\n const sideOffset = -(3 * TEXT_SPACING + levelSpacing) * 0.5;\n const endFrom = line.start.clone();\n const startFrom = line.start\n .clone()\n .add(labelDirection.clone().multiplyScalar(sideOffset));\n const endTo = line.end.clone();\n const startTo = line.end\n .clone()\n .add(labelDirection.clone().multiplyScalar(sideOffset));\n this._addLine(startFrom, endFrom);\n this._addLine(startTo, endTo);\n }\n\n private _addLine(start: Vector3, end: Vector3) {\n const lineGeometry = new BufferGeometry();\n const vertices = [start.x, start.y, start.z, end.x, end.y, end.z];\n lineGeometry.setAttribute(\n 'position',\n new BufferAttribute(new Float32Array(vertices), 3),\n );\n const line = new Line(lineGeometry, this._lineMaterial);\n line.renderOrder = 0;\n line.layers.set(LAYER.DIMENSIONS);\n this.add(line);\n }\n\n public dispose() {\n this.remove(this._textLabel);\n this._mainLineObject = null;\n }\n}\n"],"names":["createDimensioningTextLabelHtmlDiv","labelText","dimensioningLevel","interactionKey","editingFinishedCallback","labelHtmlDiv","labelHtmlInput","createDimensioningLabelHtmlInput","resetChildren","originalValue","finishEditing","valueToSet","numValue","event","labelHtmlSpan","LINE_MATERIAL","LINE_COLOR","LINE_SPACING","TEXT_SPACING","TEXT_SIZE","ComponentDimensioningAxis","dimensioningAndAxis","boundingBox","cameraPosition","defaultLabelDirection","lookAtOppositeSide","from","to","lineOffset","start","end","Line3","convertToTHREE","Vector3","direction","labelDirection","center","size","ComponentDimensioning","Object3D","relativeCameraDirection","value","parsedValue","DIMENSIONING_GEOMETRY","kernelDimensioningToThree","LineBasicMaterial","maxSize","length","fontSize","levelSpacing","line","lineGeometry","BufferGeometry","vertices","BufferAttribute","lineObject","Line","LAYER","labelObject","CSS2DObject","positions","labelWorldPos","labelLocalPos","error","sideOffset","endFrom","startFrom","endTo","startTo","__decorateClass","inject"],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { aE as s, aF as n, j as o, d as c, aD as a } from "./index-DIyMlQBA.mjs";
|
|
2
|
-
class u {
|
|
3
|
-
constructor() {
|
|
4
|
-
this._currentInnerRadius = 0;
|
|
5
|
-
}
|
|
6
|
-
init(i, e, t) {
|
|
7
|
-
this._drawingGroup = i, this._continuousDrawingManager = e, this._kernelZoomFactor = t, this.update();
|
|
8
|
-
}
|
|
9
|
-
update() {
|
|
10
|
-
this._initCircle(), this._updateCircle();
|
|
11
|
-
}
|
|
12
|
-
_initCircle() {
|
|
13
|
-
if (this._circleMesh)
|
|
14
|
-
return;
|
|
15
|
-
const i = 70 / this._kernelZoomFactor / 1e3, e = i + i / 50, t = new s(i, e, 32), r = new n({
|
|
16
|
-
color: 10066329,
|
|
17
|
-
side: o
|
|
18
|
-
});
|
|
19
|
-
this._circleMesh = new c(t, r), this._circleMesh.name = "Circle", this._circleMesh.rotation.set(Math.PI / 2, 0, 0), this._circleMesh.visible = this._continuousDrawingManager.shouldShowCircle(), this._drawingGroup.add(this._circleMesh);
|
|
20
|
-
}
|
|
21
|
-
_updateCircle() {
|
|
22
|
-
if (!this._circleMesh)
|
|
23
|
-
return;
|
|
24
|
-
const i = 70 / this._kernelZoomFactor / 1e3;
|
|
25
|
-
if (i !== this._currentInnerRadius) {
|
|
26
|
-
const t = i + i / 50;
|
|
27
|
-
this._circleMesh.geometry = new s(
|
|
28
|
-
i,
|
|
29
|
-
t,
|
|
30
|
-
32
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
const e = a(
|
|
34
|
-
this._continuousDrawingManager.getStartPoint()
|
|
35
|
-
);
|
|
36
|
-
e.y = 5, this._circleMesh.position.copy(e), this._circleMesh.visible = this._continuousDrawingManager.shouldShowCircle(), this._currentInnerRadius = i;
|
|
37
|
-
}
|
|
38
|
-
setKernelZoomFactor(i) {
|
|
39
|
-
this._kernelZoomFactor = i;
|
|
40
|
-
}
|
|
41
|
-
endDrawing() {
|
|
42
|
-
this._drawingGroup.remove(this._circleMesh), this._circleMesh = null;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export {
|
|
46
|
-
u as default
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=continuous-drawing-helper-B5BlbPPz.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"continuous-drawing-helper-B5BlbPPz.mjs","sources":["../../packages/planner-core/src/webgl/continuous-drawing-helper.ts"],"sourcesContent":["import type { ContinuousDrawingManager } from '../../../typings/planner';\nimport { convertToTHREE } from '../../../common-core/src/utils/kernel-utils';\nimport type { Group } from 'three';\nimport { DoubleSide, Mesh, MeshBasicMaterial, RingGeometry } from 'three';\n\nexport default class ContinuousDrawingHelper {\n private _drawingGroup: Group;\n private _continuousDrawingManager: ContinuousDrawingManager;\n\n private _circleMesh: Mesh;\n\n private _kernelZoomFactor: number;\n\n private _currentInnerRadius: number = 0;\n\n init(\n drawingGroup: Group,\n continuousDrawingManager: ContinuousDrawingManager,\n kernelZoomFactor: number,\n ) {\n this._drawingGroup = drawingGroup;\n this._continuousDrawingManager = continuousDrawingManager;\n this._kernelZoomFactor = kernelZoomFactor;\n this.update();\n }\n\n public update() {\n this._initCircle();\n this._updateCircle();\n }\n\n private _initCircle() {\n if (this._circleMesh) {\n return;\n }\n\n const innerRadius = 70 / this._kernelZoomFactor / 1000;\n const outerRadius = innerRadius + innerRadius / 50;\n\n const innerRingGeometry = new RingGeometry(innerRadius, outerRadius, 32);\n const innerRingMaterial = new MeshBasicMaterial({\n color: 0x999999,\n side: DoubleSide,\n });\n this._circleMesh = new Mesh(innerRingGeometry, innerRingMaterial);\n this._circleMesh.name = 'Circle';\n this._circleMesh.rotation.set(Math.PI / 2, 0, 0);\n this._circleMesh.visible =\n this._continuousDrawingManager.shouldShowCircle();\n\n this._drawingGroup.add(this._circleMesh);\n }\n\n private _updateCircle() {\n if (!this._circleMesh) {\n return;\n }\n\n const innerRadius = 70 / this._kernelZoomFactor / 1000;\n if (innerRadius !== this._currentInnerRadius) {\n const outerRadius = innerRadius + innerRadius / 50;\n\n this._circleMesh.geometry = new RingGeometry(\n innerRadius,\n outerRadius,\n 32,\n );\n }\n\n const position = convertToTHREE(\n this._continuousDrawingManager.getStartPoint(),\n );\n position.y = 5;\n\n this._circleMesh.position.copy(position);\n this._circleMesh.visible =\n this._continuousDrawingManager.shouldShowCircle();\n\n this._currentInnerRadius = innerRadius;\n }\n\n public setKernelZoomFactor(kernelZoomFactor: number) {\n this._kernelZoomFactor = kernelZoomFactor;\n }\n\n public endDrawing() {\n this._drawingGroup.remove(this._circleMesh);\n this._circleMesh = null;\n }\n}\n"],"names":["ContinuousDrawingHelper","drawingGroup","continuousDrawingManager","kernelZoomFactor","innerRadius","outerRadius","innerRingGeometry","RingGeometry","innerRingMaterial","MeshBasicMaterial","DoubleSide","Mesh","position","convertToTHREE"],"mappings":";AAKA,MAAqBA,EAAwB;AAAA,EAA7C,cAAA;AAQE,SAAQ,sBAA8B;AAAA,EAAA;AAAA,EAEtC,KACEC,GACAC,GACAC,GACA;AACA,SAAK,gBAAgBF,GACrB,KAAK,4BAA4BC,GACjC,KAAK,oBAAoBC,GACzB,KAAK,OAAA;AAAA,EACP;AAAA,EAEO,SAAS;AACd,SAAK,YAAA,GACL,KAAK,cAAA;AAAA,EACP;AAAA,EAEQ,cAAc;AACpB,QAAI,KAAK;AACP;AAGF,UAAMC,IAAc,KAAK,KAAK,oBAAoB,KAC5CC,IAAcD,IAAcA,IAAc,IAE1CE,IAAoB,IAAIC,EAAaH,GAAaC,GAAa,EAAE,GACjEG,IAAoB,IAAIC,EAAkB;AAAA,MAC9C,OAAO;AAAA,MACP,MAAMC;AAAA,IAAA,CACP;AACD,SAAK,cAAc,IAAIC,EAAKL,GAAmBE,CAAiB,GAChE,KAAK,YAAY,OAAO,UACxB,KAAK,YAAY,SAAS,IAAI,KAAK,KAAK,GAAG,GAAG,CAAC,GAC/C,KAAK,YAAY,UACf,KAAK,0BAA0B,iBAAA,GAEjC,KAAK,cAAc,IAAI,KAAK,WAAW;AAAA,EACzC;AAAA,EAEQ,gBAAgB;AACtB,QAAI,CAAC,KAAK;AACR;AAGF,UAAMJ,IAAc,KAAK,KAAK,oBAAoB;AAClD,QAAIA,MAAgB,KAAK,qBAAqB;AAC5C,YAAMC,IAAcD,IAAcA,IAAc;AAEhD,WAAK,YAAY,WAAW,IAAIG;AAAA,QAC9BH;AAAA,QACAC;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAEA,UAAMO,IAAWC;AAAA,MACf,KAAK,0BAA0B,cAAA;AAAA,IAAc;AAE/C,IAAAD,EAAS,IAAI,GAEb,KAAK,YAAY,SAAS,KAAKA,CAAQ,GACvC,KAAK,YAAY,UACf,KAAK,0BAA0B,iBAAA,GAEjC,KAAK,sBAAsBR;AAAA,EAC7B;AAAA,EAEO,oBAAoBD,GAA0B;AACnD,SAAK,oBAAoBA;AAAA,EAC3B;AAAA,EAEO,aAAa;AAClB,SAAK,cAAc,OAAO,KAAK,WAAW,GAC1C,KAAK,cAAc;AAAA,EACrB;AACF;"}
|