@roomle/web-sdk 2.85.0-alpha.1 → 2.85.0-bo-mvp.1

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.
Files changed (241) hide show
  1. package/.releaserc.json +5 -0
  2. package/lib/{TextGeometry-def07ca8.js → TextGeometry-64e47e97.js} +2 -2
  3. package/lib/{TextGeometry-def07ca8.js.map → TextGeometry-64e47e97.js.map} +1 -1
  4. package/lib/{TextGeometry-028ef3cf.nomodule.js → TextGeometry-6c37ac59.nomodule.js} +2 -2
  5. package/lib/{TextGeometry-028ef3cf.nomodule.js.map → TextGeometry-6c37ac59.nomodule.js.map} +1 -1
  6. package/lib/{banana-for-scale-1ab56953.nomodule.js → banana-for-scale-3f718399.nomodule.js} +2 -2
  7. package/lib/{banana-for-scale-1ab56953.nomodule.js.map → banana-for-scale-3f718399.nomodule.js.map} +1 -1
  8. package/lib/{banana-for-scale-034cc5dc.js → banana-for-scale-f6321e3c.js} +2 -2
  9. package/lib/{banana-for-scale-034cc5dc.js.map → banana-for-scale-f6321e3c.js.map} +1 -1
  10. package/lib/{budgeteer-measure-e4c7fe1a.js → budgeteer-measure-a84ddf03.js} +2 -2
  11. package/lib/{budgeteer-measure-e4c7fe1a.js.map → budgeteer-measure-a84ddf03.js.map} +1 -1
  12. package/lib/budgeteer-measure.nomodule.js +1 -1
  13. package/lib/camera-behaviour-b62c2673.js +2 -0
  14. package/lib/{camera-behaviour-f1fc8341.js.map → camera-behaviour-b62c2673.js.map} +1 -1
  15. package/lib/camera-behaviour-e7f9d0fc.nomodule.js +2 -0
  16. package/lib/{camera-behaviour-c471cf80.nomodule.js.map → camera-behaviour-e7f9d0fc.nomodule.js.map} +1 -1
  17. package/lib/{component-dimensioning-85cc876e.js → component-dimensioning-68ef159c.js} +2 -2
  18. package/lib/component-dimensioning-68ef159c.js.map +1 -0
  19. package/lib/{component-dimensioning-68525959.nomodule.js → component-dimensioning-f2164275.nomodule.js} +2 -2
  20. package/lib/component-dimensioning-f2164275.nomodule.js.map +1 -0
  21. package/lib/{component-raycast-helper-13725a70.js → component-raycast-helper-3503275a.js} +2 -2
  22. package/lib/component-raycast-helper-3503275a.js.map +1 -0
  23. package/lib/{component-raycast-helper-210b2bd1.nomodule.js → component-raycast-helper-82a6ba14.nomodule.js} +2 -2
  24. package/lib/component-raycast-helper-82a6ba14.nomodule.js.map +1 -0
  25. package/lib/configurator-0ba8527f.js +2 -0
  26. package/lib/configurator-0ba8527f.js.map +1 -0
  27. package/lib/configurator-bdafffd3.nomodule.js +2 -0
  28. package/lib/configurator-bdafffd3.nomodule.js.map +1 -0
  29. package/lib/configurator-main-d0f80aa1.js +2 -0
  30. package/lib/configurator-main-d0f80aa1.js.map +1 -0
  31. package/lib/configurator-main.nomodule.js +1 -1
  32. package/lib/{continuous-drawing-helper-b476ae1f.nomodule.js → continuous-drawing-helper-2aa3d564.nomodule.js} +2 -2
  33. package/lib/continuous-drawing-helper-2aa3d564.nomodule.js.map +1 -0
  34. package/lib/{continuous-drawing-helper-53c52537.js → continuous-drawing-helper-410e6138.js} +2 -2
  35. package/lib/continuous-drawing-helper-410e6138.js.map +1 -0
  36. package/lib/definitions/common-core/src/configurator-kernel-access.d.ts +5 -2
  37. package/lib/definitions/common-core/src/utils/shims.d.ts +10 -0
  38. package/lib/definitions/configurator-core/src/export/production-manager-export.d.ts +35 -0
  39. package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +10 -0
  40. package/lib/definitions/configurator-core/src/static-files/geometries.d.ts +1 -0
  41. package/lib/definitions/configurator-core/src/utils/export-helper.d.ts +38 -0
  42. package/lib/definitions/configurator-core/src/webgl/configurator-scene-manager.d.ts +4 -0
  43. package/lib/definitions/planner-core/src/external-object-api-callbacks.d.ts +119 -0
  44. package/lib/definitions/planner-core/src/external-object-api.d.ts +83 -0
  45. package/lib/definitions/planner-core/src/roomle-planner-external-object.d.ts +44 -0
  46. package/lib/definitions/planner-core/src/roomle-planner-ui-callback.d.ts +62 -0
  47. package/lib/definitions/planner-core/src/roomle-planner.d.ts +15 -2
  48. package/lib/definitions/planner-core/src/services/planner-kernel-access.d.ts +18 -4
  49. package/lib/definitions/planner-core/src/utils/map-to-ui-plan-objects.d.ts +1 -1
  50. package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +1 -0
  51. package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +2 -0
  52. package/lib/definitions/typings/kernel.d.ts +20 -4
  53. package/lib/definitions/typings/planner.d.ts +1 -1
  54. package/lib/{dimensioning-helper-6b964e3b.js → dimensioning-helper-7b967027.js} +2 -2
  55. package/lib/{dimensioning-helper-6b964e3b.js.map → dimensioning-helper-7b967027.js.map} +1 -1
  56. package/lib/{dimensioning-helper-8de4a0b8.nomodule.js → dimensioning-helper-a2b1a06e.nomodule.js} +2 -2
  57. package/lib/{dimensioning-helper-8de4a0b8.nomodule.js.map → dimensioning-helper-a2b1a06e.nomodule.js.map} +1 -1
  58. package/lib/glb-viewer-447286f6.nomodule.js +2 -0
  59. package/lib/glb-viewer-447286f6.nomodule.js.map +1 -0
  60. package/lib/glb-viewer-bac266f6.js +2 -0
  61. package/lib/glb-viewer-bac266f6.js.map +1 -0
  62. package/lib/{glb-viewer-camera-behaviour-57f593d4.nomodule.js → glb-viewer-camera-behaviour-89e58c94.nomodule.js} +2 -2
  63. package/lib/glb-viewer-camera-behaviour-89e58c94.nomodule.js.map +1 -0
  64. package/lib/{glb-viewer-camera-behaviour-65583e34.js → glb-viewer-camera-behaviour-9c8aa9e8.js} +2 -2
  65. package/lib/glb-viewer-camera-behaviour-9c8aa9e8.js.map +1 -0
  66. package/lib/glb-viewer-main-93b7b987.js +2 -0
  67. package/lib/glb-viewer-main-93b7b987.js.map +1 -0
  68. package/lib/glb-viewer-main.nomodule.js +1 -1
  69. package/lib/{default-light-setting-6bc84cb1.js → jszip.min-086ab68b.js} +2 -2
  70. package/lib/jszip.min-086ab68b.js.map +1 -0
  71. package/lib/{default-light-setting-94a0efa3.nomodule.js → jszip.min-d3d3c14a.nomodule.js} +2 -2
  72. package/lib/jszip.min-d3d3c14a.nomodule.js.map +1 -0
  73. package/lib/legacy/{TextGeometry-c00b7ecb.legacy.js → TextGeometry-50d12ddd.legacy.js} +2 -2
  74. package/lib/legacy/{TextGeometry-c00b7ecb.legacy.js.map → TextGeometry-50d12ddd.legacy.js.map} +1 -1
  75. package/lib/legacy/{banana-for-scale-0e914a45.legacy.js → banana-for-scale-a1cedf0b.legacy.js} +2 -2
  76. package/lib/legacy/{banana-for-scale-0e914a45.legacy.js.map → banana-for-scale-a1cedf0b.legacy.js.map} +1 -1
  77. package/lib/legacy/budgeteer-measure.legacy.js +1 -1
  78. package/lib/legacy/camera-behaviour-60b2a3b7.legacy.js +2 -0
  79. package/lib/legacy/{camera-behaviour-4128d879.legacy.js.map → camera-behaviour-60b2a3b7.legacy.js.map} +1 -1
  80. package/lib/legacy/{component-dimensioning-cf81879e.legacy.js → component-dimensioning-982f167d.legacy.js} +2 -2
  81. package/lib/legacy/component-dimensioning-982f167d.legacy.js.map +1 -0
  82. package/lib/legacy/{component-raycast-helper-009d1f45.legacy.js → component-raycast-helper-bcb78fc3.legacy.js} +2 -2
  83. package/lib/legacy/component-raycast-helper-bcb78fc3.legacy.js.map +1 -0
  84. package/lib/legacy/configurator-deb44981.legacy.js +2 -0
  85. package/lib/legacy/configurator-deb44981.legacy.js.map +1 -0
  86. package/lib/legacy/configurator-main.legacy.js +1 -1
  87. package/lib/legacy/{continuous-drawing-helper-17338404.legacy.js → continuous-drawing-helper-658bf83c.legacy.js} +2 -2
  88. package/lib/legacy/continuous-drawing-helper-658bf83c.legacy.js.map +1 -0
  89. package/lib/legacy/{dimensioning-helper-42a663eb.legacy.js → dimensioning-helper-8a4098f2.legacy.js} +2 -2
  90. package/lib/legacy/{dimensioning-helper-42a663eb.legacy.js.map → dimensioning-helper-8a4098f2.legacy.js.map} +1 -1
  91. package/lib/legacy/glb-viewer-24f02f48.legacy.js +2 -0
  92. package/lib/legacy/glb-viewer-24f02f48.legacy.js.map +1 -0
  93. package/lib/legacy/{glb-viewer-camera-behaviour-f9d7a62e.legacy.js → glb-viewer-camera-behaviour-67db97b4.legacy.js} +2 -2
  94. package/lib/legacy/glb-viewer-camera-behaviour-67db97b4.legacy.js.map +1 -0
  95. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  96. package/lib/legacy/{default-light-setting-16629396.legacy.js → jszip.min-b56dddd5.legacy.js} +2 -2
  97. package/lib/legacy/jszip.min-b56dddd5.legacy.js.map +1 -0
  98. package/lib/legacy/{main-thread-to-worker-a28094cc.legacy.js → main-thread-to-worker-f02de9c2.legacy.js} +3 -3
  99. package/lib/legacy/{main-thread-to-worker-a28094cc.legacy.js.map → main-thread-to-worker-f02de9c2.legacy.js.map} +1 -1
  100. package/lib/legacy/{material-viewer-5d15bc6c.legacy.js → material-viewer-59ae1919.legacy.js} +2 -2
  101. package/lib/legacy/material-viewer-59ae1919.legacy.js.map +1 -0
  102. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  103. package/lib/legacy/planner-e62be31e.legacy.js +2 -0
  104. package/lib/legacy/{planner-26085930.legacy.js.map → planner-e62be31e.legacy.js.map} +1 -1
  105. package/lib/legacy/planner-main.legacy.js +1 -1
  106. package/lib/legacy/{query-params-helper-81aac523.legacy.js → query-params-helper-0f7e3d70.legacy.js} +2 -2
  107. package/lib/legacy/query-params-helper-0f7e3d70.legacy.js.map +1 -0
  108. package/lib/legacy/roomle-configurator-92b03dab.legacy.js +2 -0
  109. package/lib/legacy/roomle-configurator-92b03dab.legacy.js.map +1 -0
  110. package/lib/legacy/roomle-dependency-injection-b98cdb69.legacy.js +9 -0
  111. package/lib/legacy/roomle-dependency-injection-b98cdb69.legacy.js.map +1 -0
  112. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  113. package/lib/legacy/{script-loader-161d337b.legacy.js → script-loader-9e64fd9d.legacy.js} +2 -2
  114. package/lib/legacy/script-loader-9e64fd9d.legacy.js.map +1 -0
  115. package/lib/{static/ConfiguratorKernel-b905729404ced494.wasm → legacy/static/ConfiguratorKernel-c36864a2ba89c903.wasm} +0 -0
  116. package/lib/legacy/static/RoomleCore-f1650d50c2ddec11.wasm +0 -0
  117. package/lib/{static/RoomleToolsCore-256566b6e8ee3a5f.wasm → legacy/static/RoomleToolsCore-72a3331cc11a3792.wasm} +0 -0
  118. package/lib/legacy/static/monkey-0ab775bb33780513.obj +7966 -0
  119. package/lib/legacy/{stats-helper-70f3a803.legacy.js → stats-helper-6e74e274.legacy.js} +2 -2
  120. package/lib/legacy/stats-helper-6e74e274.legacy.js.map +1 -0
  121. package/lib/legacy/{tools-core-fb6f2cc3.legacy.js → tools-core-a8b3b84e.legacy.js} +2 -2
  122. package/lib/legacy/tools-core-a8b3b84e.legacy.js.map +1 -0
  123. package/lib/{main-thread-to-worker-1a58abb6.nomodule.js → main-thread-to-worker-a33146dd.nomodule.js} +2 -2
  124. package/lib/{main-thread-to-worker-1a58abb6.nomodule.js.map → main-thread-to-worker-a33146dd.nomodule.js.map} +1 -1
  125. package/lib/{main-thread-to-worker-554053aa.js → main-thread-to-worker-af604b88.js} +2 -2
  126. package/lib/{main-thread-to-worker-554053aa.js.map → main-thread-to-worker-af604b88.js.map} +1 -1
  127. package/lib/{material-viewer-4ee66cc0.js → material-viewer-7f5e40c0.js} +2 -2
  128. package/lib/material-viewer-7f5e40c0.js.map +1 -0
  129. package/lib/{material-viewer-4e7f4777.nomodule.js → material-viewer-c2df56dd.nomodule.js} +2 -2
  130. package/lib/material-viewer-c2df56dd.nomodule.js.map +1 -0
  131. package/lib/material-viewer-main-9d3ef5a3.js +2 -0
  132. package/lib/material-viewer-main-9d3ef5a3.js.map +1 -0
  133. package/lib/material-viewer-main.nomodule.js +1 -1
  134. package/lib/planner-83e4b63b.nomodule.js +2 -0
  135. package/lib/{planner-56a2218e.nomodule.js.map → planner-83e4b63b.nomodule.js.map} +1 -1
  136. package/lib/planner-dfc8606b.js +2 -0
  137. package/lib/{planner-39fa9725.js.map → planner-dfc8606b.js.map} +1 -1
  138. package/lib/planner-main-f7020b51.js +2 -0
  139. package/lib/planner-main-f7020b51.js.map +1 -0
  140. package/lib/planner-main.nomodule.js +1 -1
  141. package/lib/{query-params-helper-a5a14aba.js → query-params-helper-15c8e313.js} +2 -2
  142. package/lib/query-params-helper-15c8e313.js.map +1 -0
  143. package/lib/{query-params-helper-a2901800.nomodule.js → query-params-helper-ff314078.nomodule.js} +2 -2
  144. package/lib/query-params-helper-ff314078.nomodule.js.map +1 -0
  145. package/lib/roomle-configurator-6ee41f13.nomodule.js +2 -0
  146. package/lib/roomle-configurator-6ee41f13.nomodule.js.map +1 -0
  147. package/lib/roomle-configurator-a2fabb1a.js +2 -0
  148. package/lib/roomle-configurator-a2fabb1a.js.map +1 -0
  149. package/lib/{roomle-dependency-injection-8c2de058.nomodule.js → roomle-dependency-injection-11d4372b.nomodule.js} +3 -3
  150. package/lib/roomle-dependency-injection-11d4372b.nomodule.js.map +1 -0
  151. package/lib/{roomle-dependency-injection-410ef785.js → roomle-dependency-injection-b0f42112.js} +3 -3
  152. package/lib/roomle-dependency-injection-b0f42112.js.map +1 -0
  153. package/lib/{roomle-sdk-a2fef129.js → roomle-sdk-62df1d13.js} +2 -2
  154. package/lib/roomle-sdk-62df1d13.js.map +1 -0
  155. package/lib/roomle-sdk.nomodule.js +1 -1
  156. package/lib/{script-loader-1ab763ef.js → script-loader-9396ec24.js} +2 -2
  157. package/lib/script-loader-9396ec24.js.map +1 -0
  158. package/lib/{script-loader-2e2919cf.nomodule.js → script-loader-eb097908.nomodule.js} +2 -2
  159. package/lib/script-loader-eb097908.nomodule.js.map +1 -0
  160. package/lib/{legacy/static/ConfiguratorKernel-b905729404ced494.wasm → static/ConfiguratorKernel-c36864a2ba89c903.wasm} +0 -0
  161. package/lib/static/RoomleCore-f1650d50c2ddec11.wasm +0 -0
  162. package/lib/{legacy/static/RoomleToolsCore-256566b6e8ee3a5f.wasm → static/RoomleToolsCore-72a3331cc11a3792.wasm} +0 -0
  163. package/lib/static/monkey-0ab775bb33780513.obj +7966 -0
  164. package/lib/{stats-helper-466a0083.js → stats-helper-69d4af91.js} +2 -2
  165. package/lib/stats-helper-69d4af91.js.map +1 -0
  166. package/lib/{stats-helper-81acfbd7.nomodule.js → stats-helper-92615332.nomodule.js} +2 -2
  167. package/lib/stats-helper-92615332.nomodule.js.map +1 -0
  168. package/lib/{tools-core-5452b585.nomodule.js → tools-core-897210a8.nomodule.js} +2 -2
  169. package/lib/tools-core-897210a8.nomodule.js.map +1 -0
  170. package/lib/{tools-core-bebf51be.js → tools-core-dd988536.js} +2 -2
  171. package/lib/tools-core-dd988536.js.map +1 -0
  172. package/package.json +2 -2
  173. package/lib/camera-behaviour-c471cf80.nomodule.js +0 -2
  174. package/lib/camera-behaviour-f1fc8341.js +0 -2
  175. package/lib/component-dimensioning-68525959.nomodule.js.map +0 -1
  176. package/lib/component-dimensioning-85cc876e.js.map +0 -1
  177. package/lib/component-raycast-helper-13725a70.js.map +0 -1
  178. package/lib/component-raycast-helper-210b2bd1.nomodule.js.map +0 -1
  179. package/lib/configurator-2fa43928.js +0 -2
  180. package/lib/configurator-2fa43928.js.map +0 -1
  181. package/lib/configurator-e41974af.nomodule.js +0 -2
  182. package/lib/configurator-e41974af.nomodule.js.map +0 -1
  183. package/lib/configurator-main-fa603285.js +0 -2
  184. package/lib/configurator-main-fa603285.js.map +0 -1
  185. package/lib/continuous-drawing-helper-53c52537.js.map +0 -1
  186. package/lib/continuous-drawing-helper-b476ae1f.nomodule.js.map +0 -1
  187. package/lib/default-light-setting-6bc84cb1.js.map +0 -1
  188. package/lib/default-light-setting-94a0efa3.nomodule.js.map +0 -1
  189. package/lib/glb-viewer-3586996a.js +0 -2
  190. package/lib/glb-viewer-3586996a.js.map +0 -1
  191. package/lib/glb-viewer-6ad3eb53.nomodule.js +0 -2
  192. package/lib/glb-viewer-6ad3eb53.nomodule.js.map +0 -1
  193. package/lib/glb-viewer-camera-behaviour-57f593d4.nomodule.js.map +0 -1
  194. package/lib/glb-viewer-camera-behaviour-65583e34.js.map +0 -1
  195. package/lib/glb-viewer-main-61add308.js +0 -2
  196. package/lib/glb-viewer-main-61add308.js.map +0 -1
  197. package/lib/legacy/camera-behaviour-4128d879.legacy.js +0 -2
  198. package/lib/legacy/component-dimensioning-cf81879e.legacy.js.map +0 -1
  199. package/lib/legacy/component-raycast-helper-009d1f45.legacy.js.map +0 -1
  200. package/lib/legacy/configurator-0be503c2.legacy.js +0 -2
  201. package/lib/legacy/configurator-0be503c2.legacy.js.map +0 -1
  202. package/lib/legacy/continuous-drawing-helper-17338404.legacy.js.map +0 -1
  203. package/lib/legacy/default-light-setting-16629396.legacy.js.map +0 -1
  204. package/lib/legacy/glb-viewer-6bda8901.legacy.js +0 -2
  205. package/lib/legacy/glb-viewer-6bda8901.legacy.js.map +0 -1
  206. package/lib/legacy/glb-viewer-camera-behaviour-f9d7a62e.legacy.js.map +0 -1
  207. package/lib/legacy/material-viewer-5d15bc6c.legacy.js.map +0 -1
  208. package/lib/legacy/planner-26085930.legacy.js +0 -2
  209. package/lib/legacy/query-params-helper-81aac523.legacy.js.map +0 -1
  210. package/lib/legacy/roomle-configurator-801dfd28.legacy.js +0 -2
  211. package/lib/legacy/roomle-configurator-801dfd28.legacy.js.map +0 -1
  212. package/lib/legacy/roomle-dependency-injection-b6633659.legacy.js +0 -9
  213. package/lib/legacy/roomle-dependency-injection-b6633659.legacy.js.map +0 -1
  214. package/lib/legacy/script-loader-161d337b.legacy.js.map +0 -1
  215. package/lib/legacy/static/RoomleCore-3e498b4dbab73c95.wasm +0 -0
  216. package/lib/legacy/stats-helper-70f3a803.legacy.js.map +0 -1
  217. package/lib/legacy/tools-core-fb6f2cc3.legacy.js.map +0 -1
  218. package/lib/material-viewer-4e7f4777.nomodule.js.map +0 -1
  219. package/lib/material-viewer-4ee66cc0.js.map +0 -1
  220. package/lib/material-viewer-main-63b64a51.js +0 -2
  221. package/lib/material-viewer-main-63b64a51.js.map +0 -1
  222. package/lib/planner-39fa9725.js +0 -2
  223. package/lib/planner-56a2218e.nomodule.js +0 -2
  224. package/lib/planner-main-8123556f.js +0 -2
  225. package/lib/planner-main-8123556f.js.map +0 -1
  226. package/lib/query-params-helper-a2901800.nomodule.js.map +0 -1
  227. package/lib/query-params-helper-a5a14aba.js.map +0 -1
  228. package/lib/roomle-configurator-21764f93.nomodule.js +0 -2
  229. package/lib/roomle-configurator-21764f93.nomodule.js.map +0 -1
  230. package/lib/roomle-configurator-7d84bc6f.js +0 -2
  231. package/lib/roomle-configurator-7d84bc6f.js.map +0 -1
  232. package/lib/roomle-dependency-injection-410ef785.js.map +0 -1
  233. package/lib/roomle-dependency-injection-8c2de058.nomodule.js.map +0 -1
  234. package/lib/roomle-sdk-a2fef129.js.map +0 -1
  235. package/lib/script-loader-1ab763ef.js.map +0 -1
  236. package/lib/script-loader-2e2919cf.nomodule.js.map +0 -1
  237. package/lib/static/RoomleCore-3e498b4dbab73c95.wasm +0 -0
  238. package/lib/stats-helper-466a0083.js.map +0 -1
  239. package/lib/stats-helper-81acfbd7.nomodule.js.map +0 -1
  240. package/lib/tools-core-5452b585.nomodule.js.map +0 -1
  241. package/lib/tools-core-bebf51be.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{_ as __decorate,i as inject}from"./roomle-dependency-injection-410ef785.js";import{O as Object3D,a as Vector3,u as LineBasicMaterial,h as MeshBasicMaterial,w as DoubleSide,bn as MeshPhongMaterial,B as BufferGeometry,G as Line,z as Mesh,b as BufferAttribute,Q as Quaternion,bG as Line3,b8 as PlaneGeometry}from"./main-thread-to-worker-554053aa.js";import{T as TextGeometry}from"./TextGeometry-def07ca8.js";const LINE_MATERIAL="component_dimensioning_line_material",PLANE_MATERIAL="component_dimensioning_plane_material",TEXT_MATERIAL="component_dimensioning_text_material";class ComponentDimensioning extends Object3D{constructor(e,i,t,n){super(),this._center=i.getCenter(new Vector3),this._size=i.getSize(new Vector3),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(LINE_MATERIAL)?this._lineMaterial=this._cacheHolder.materialCache.get(LINE_MATERIAL):(this._lineMaterial=new LineBasicMaterial({color:3618615}),this._cacheHolder.materialCache.set(LINE_MATERIAL,this._lineMaterial)),this._cacheHolder.materialCache.has(PLANE_MATERIAL)?this._planeMaterial=this._cacheHolder.materialCache.get(PLANE_MATERIAL):(this._planeMaterial=new MeshBasicMaterial({color:16777215,side:DoubleSide,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(PLANE_MATERIAL,this._planeMaterial)),this._cacheHolder.materialCache.has(TEXT_MATERIAL)?this._textMaterial=this._cacheHolder.materialCache.get(TEXT_MATERIAL):(this._textMaterial=new MeshPhongMaterial({color:3618615}),this._cacheHolder.materialCache.set(TEXT_MATERIAL,this._textMaterial))}_init(){this._initMaterials();let e=new BufferGeometry;this._line=new Line(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new Mesh(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new Mesh(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new BufferGeometry,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),s=Math.abs(this._dimensioning.to-this._dimensioning.from),o=.025+(n<4?0:.005*n);s<.3&&(o*=.5+s);let a={font:this._font,size:o,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},h=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*s),r=new TextGeometry(h,a);r.computeBoundingBox();let _=r.boundingBox.getSize(new Vector3).y;0===this._dimensioning.type.value&&(i=this._getXEdge(_),this._addXEdgeSideLines(_)),1===this._dimensioning.type.value&&(i=this._getYEdge(_),this._addYEdgeSideLines(_)),2===this._dimensioning.type.value&&(i=this._getZEdge(_),this._addZEdgeSideLines(_));let d=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new BufferAttribute(new Float32Array(d),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=r,0===this._dimensioning.type.value&&this._addText(i,r,new Quaternion,new Vector3(0,.04,0)),1===this._dimensioning.type.value){let e=new Quaternion,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new Vector3(0,0,1),t),this._addText(i,r,e,new Vector3(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new Quaternion).setFromAxisAngle(new Vector3(-1,0,0),Math.PI/2),n=(new Quaternion).setFromAxisAngle(new Vector3(0,0,1),e);this._addText(i,r,t.multiply(n),new Vector3(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new Vector3(0,this._origin.y,this._origin.z);let n=t.clone().add(new Vector3(this._dimensioning.from,i,0)),s=t.clone().add(new Vector3(this._dimensioning.to,i,0));return new Line3(n,s)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new Vector3(0,this._origin.y,this._origin.z);let s=n.clone().add(new Vector3(this._dimensioning.from,i,0)),o=n.clone().add(new Vector3(this._dimensioning.from,t,0)),a=n.clone().add(new Vector3(this._dimensioning.to,i,0)),h=n.clone().add(new Vector3(this._dimensioning.to,t,0));this._addLine(s,o),this._addLine(a,h)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,this._origin.y,0);let n=t.clone().add(new Vector3(i,0,this._dimensioning.from)),s=t.clone().add(new Vector3(i,0,this._dimensioning.to));return new Line3(n,s)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,this._origin.y,0);let o=s.clone().add(new Vector3(t,0,this._dimensioning.from)),a=s.clone().add(new Vector3(n,0,this._dimensioning.from)),h=s.clone().add(new Vector3(t,0,this._dimensioning.to)),r=s.clone().add(new Vector3(n,0,this._dimensioning.to));this._addLine(o,a),this._addLine(h,r)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,0,this._origin.z);let n=t.clone().add(new Vector3(i,this._dimensioning.from,0)),s=t.clone().add(new Vector3(i,this._dimensioning.to,0));return new Line3(n,s)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,0,this._origin.z);let o=s.clone().add(new Vector3(t,this._dimensioning.from,0)),a=s.clone().add(new Vector3(n,this._dimensioning.from,0)),h=s.clone().add(new Vector3(t,this._dimensioning.to,0)),r=s.clone().add(new Vector3(n,this._dimensioning.to,0));this._addLine(o,a),this._addLine(h,r)}_addLine(e,i){let t=new BufferGeometry,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new BufferAttribute(new Float32Array(n),3)),this.add(new Line(t,this._lineMaterial))}_addText(e,i,t,n){let s=e.getCenter(new Vector3);n.x*=this._getXSign(),s.add(n);let o=i.boundingBox.getSize(new Vector3);i.center(),this._text.position.copy(s),this._text.quaternion.copy(t),this.add(this._text);let a=new PlaneGeometry(o.x+.02,o.y+.02,32);a.center(),this._plane.geometry=a,this._plane.position.copy(s),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}__decorate([inject],ComponentDimensioning.prototype,"_cacheHolder",void 0),__decorate([inject],ComponentDimensioning.prototype,"_unitFormatter",void 0);export{ComponentDimensioning as default};
2
- //# sourceMappingURL=component-dimensioning-85cc876e.js.map
1
+ import{_ as __decorate,i as inject}from"./roomle-dependency-injection-b0f42112.js";import{O as Object3D,a as Vector3,u as LineBasicMaterial,h as MeshBasicMaterial,w as DoubleSide,bn as MeshPhongMaterial,B as BufferGeometry,G as Line,z as Mesh,b as BufferAttribute,Q as Quaternion,bH as Line3,b8 as PlaneGeometry}from"./main-thread-to-worker-af604b88.js";import{T as TextGeometry}from"./TextGeometry-64e47e97.js";const LINE_MATERIAL="component_dimensioning_line_material",PLANE_MATERIAL="component_dimensioning_plane_material",TEXT_MATERIAL="component_dimensioning_text_material";class ComponentDimensioning extends Object3D{constructor(e,i,t,n){super(),this._center=i.getCenter(new Vector3),this._size=i.getSize(new Vector3),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(LINE_MATERIAL)?this._lineMaterial=this._cacheHolder.materialCache.get(LINE_MATERIAL):(this._lineMaterial=new LineBasicMaterial({color:3618615}),this._cacheHolder.materialCache.set(LINE_MATERIAL,this._lineMaterial)),this._cacheHolder.materialCache.has(PLANE_MATERIAL)?this._planeMaterial=this._cacheHolder.materialCache.get(PLANE_MATERIAL):(this._planeMaterial=new MeshBasicMaterial({color:16777215,side:DoubleSide,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(PLANE_MATERIAL,this._planeMaterial)),this._cacheHolder.materialCache.has(TEXT_MATERIAL)?this._textMaterial=this._cacheHolder.materialCache.get(TEXT_MATERIAL):(this._textMaterial=new MeshPhongMaterial({color:3618615}),this._cacheHolder.materialCache.set(TEXT_MATERIAL,this._textMaterial))}_init(){this._initMaterials();let e=new BufferGeometry;this._line=new Line(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new Mesh(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new Mesh(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new BufferGeometry,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),s=Math.abs(this._dimensioning.to-this._dimensioning.from),o=.025+(n<4?0:.005*n);s<.3&&(o*=.5+s);let a={font:this._font,size:o,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},h=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*s),r=new TextGeometry(h,a);r.computeBoundingBox();let _=r.boundingBox.getSize(new Vector3).y;0===this._dimensioning.type.value&&(i=this._getXEdge(_),this._addXEdgeSideLines(_)),1===this._dimensioning.type.value&&(i=this._getYEdge(_),this._addYEdgeSideLines(_)),2===this._dimensioning.type.value&&(i=this._getZEdge(_),this._addZEdgeSideLines(_));let l=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new BufferAttribute(new Float32Array(l),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=r,0===this._dimensioning.type.value&&this._addText(i,r,new Quaternion,new Vector3(0,.04,0)),1===this._dimensioning.type.value){let e=new Quaternion,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new Vector3(0,0,1),t),this._addText(i,r,e,new Vector3(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new Quaternion).setFromAxisAngle(new Vector3(-1,0,0),Math.PI/2),n=(new Quaternion).setFromAxisAngle(new Vector3(0,0,1),e);this._addText(i,r,t.multiply(n),new Vector3(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new Vector3(0,this._origin.y,this._origin.z);let n=t.clone().add(new Vector3(this._dimensioning.from,i,0)),s=t.clone().add(new Vector3(this._dimensioning.to,i,0));return new Line3(n,s)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new Vector3(0,this._origin.y,this._origin.z);let s=n.clone().add(new Vector3(this._dimensioning.from,i,0)),o=n.clone().add(new Vector3(this._dimensioning.from,t,0)),a=n.clone().add(new Vector3(this._dimensioning.to,i,0)),h=n.clone().add(new Vector3(this._dimensioning.to,t,0));this._addLine(s,o),this._addLine(a,h)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,this._origin.y,0);let n=t.clone().add(new Vector3(i,0,this._dimensioning.from)),s=t.clone().add(new Vector3(i,0,this._dimensioning.to));return new Line3(n,s)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,this._origin.y,0);let o=s.clone().add(new Vector3(t,0,this._dimensioning.from)),a=s.clone().add(new Vector3(n,0,this._dimensioning.from)),h=s.clone().add(new Vector3(t,0,this._dimensioning.to)),r=s.clone().add(new Vector3(n,0,this._dimensioning.to));this._addLine(o,a),this._addLine(h,r)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new Vector3(this._origin.x,0,this._origin.z);let n=t.clone().add(new Vector3(i,this._dimensioning.from,0)),s=t.clone().add(new Vector3(i,this._dimensioning.to,0));return new Line3(n,s)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const s=new Vector3(this._origin.x,0,this._origin.z);let o=s.clone().add(new Vector3(t,this._dimensioning.from,0)),a=s.clone().add(new Vector3(n,this._dimensioning.from,0)),h=s.clone().add(new Vector3(t,this._dimensioning.to,0)),r=s.clone().add(new Vector3(n,this._dimensioning.to,0));this._addLine(o,a),this._addLine(h,r)}_addLine(e,i){let t=new BufferGeometry,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new BufferAttribute(new Float32Array(n),3)),this.add(new Line(t,this._lineMaterial))}_addText(e,i,t,n){let s=e.getCenter(new Vector3);n.x*=this._getXSign(),s.add(n);let o=i.boundingBox.getSize(new Vector3);i.center(),this._text.position.copy(s),this._text.quaternion.copy(t),this.add(this._text);let a=new PlaneGeometry(o.x+.02,o.y+.02,32);a.center(),this._plane.geometry=a,this._plane.position.copy(s),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}__decorate([inject],ComponentDimensioning.prototype,"_cacheHolder",void 0),__decorate([inject],ComponentDimensioning.prototype,"_unitFormatter",void 0);export{ComponentDimensioning as default};
2
+ //# sourceMappingURL=component-dimensioning-68ef159c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-dimensioning-68ef159c.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-8c2de058.nomodule.js","./main-thread-to-worker-1a58abb6.nomodule.js","./TextGeometry-028ef3cf.nomodule.js"],(function(e){var i,t,n,s,o,a,h,d,_,l,r,g,m,c,w,p;return{setters:[function(e){i=e._,t=e.i},function(e){n=e.O,s=e.a,o=e.u,a=e.h,h=e.w,d=e.bn,_=e.B,l=e.G,r=e.z,g=e.b,m=e.Q,c=e.bG,w=e.b8},function(e){p=e.T}],execute:function(){const u="component_dimensioning_line_material",x="component_dimensioning_plane_material",y="component_dimensioning_text_material";class v extends n{constructor(e,i,t,n){super(),this._center=i.getCenter(new s),this._size=i.getSize(new s),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(u)?this._lineMaterial=this._cacheHolder.materialCache.get(u):(this._lineMaterial=new o({color:3618615}),this._cacheHolder.materialCache.set(u,this._lineMaterial)),this._cacheHolder.materialCache.has(x)?this._planeMaterial=this._cacheHolder.materialCache.get(x):(this._planeMaterial=new a({color:16777215,side:h,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(x,this._planeMaterial)),this._cacheHolder.materialCache.has(y)?this._textMaterial=this._cacheHolder.materialCache.get(y):(this._textMaterial=new d({color:3618615}),this._cacheHolder.materialCache.set(y,this._textMaterial))}_init(){this._initMaterials();let e=new _;this._line=new l(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new r(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new r(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new _,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),o=Math.abs(this._dimensioning.to-this._dimensioning.from),a=.025+(n<4?0:.005*n);o<.3&&(a*=.5+o);let h={font:this._font,size:a,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},d=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*o),c=new p(d,h);c.computeBoundingBox();let w=c.boundingBox.getSize(new s).y;0===this._dimensioning.type.value&&(i=this._getXEdge(w),this._addXEdgeSideLines(w)),1===this._dimensioning.type.value&&(i=this._getYEdge(w),this._addYEdgeSideLines(w)),2===this._dimensioning.type.value&&(i=this._getZEdge(w),this._addZEdgeSideLines(w));let u=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new g(new Float32Array(u),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=c,0===this._dimensioning.type.value&&this._addText(i,c,new m,new s(0,.04,0)),1===this._dimensioning.type.value){let e=new m,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new s(0,0,1),t),this._addText(i,c,e,new s(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new m).setFromAxisAngle(new s(-1,0,0),Math.PI/2),n=(new m).setFromAxisAngle(new s(0,0,1),e);this._addText(i,c,t.multiply(n),new s(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new s(0,this._origin.y,this._origin.z);let n=t.clone().add(new s(this._dimensioning.from,i,0)),o=t.clone().add(new s(this._dimensioning.to,i,0));return new c(n,o)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new s(0,this._origin.y,this._origin.z);let o=n.clone().add(new s(this._dimensioning.from,i,0)),a=n.clone().add(new s(this._dimensioning.from,t,0)),h=n.clone().add(new s(this._dimensioning.to,i,0)),d=n.clone().add(new s(this._dimensioning.to,t,0));this._addLine(o,a),this._addLine(h,d)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,this._origin.y,0);let n=t.clone().add(new s(i,0,this._dimensioning.from)),o=t.clone().add(new s(i,0,this._dimensioning.to));return new c(n,o)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,this._origin.y,0);let a=o.clone().add(new s(t,0,this._dimensioning.from)),h=o.clone().add(new s(n,0,this._dimensioning.from)),d=o.clone().add(new s(t,0,this._dimensioning.to)),_=o.clone().add(new s(n,0,this._dimensioning.to));this._addLine(a,h),this._addLine(d,_)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,0,this._origin.z);let n=t.clone().add(new s(i,this._dimensioning.from,0)),o=t.clone().add(new s(i,this._dimensioning.to,0));return new c(n,o)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,0,this._origin.z);let a=o.clone().add(new s(t,this._dimensioning.from,0)),h=o.clone().add(new s(n,this._dimensioning.from,0)),d=o.clone().add(new s(t,this._dimensioning.to,0)),_=o.clone().add(new s(n,this._dimensioning.to,0));this._addLine(a,h),this._addLine(d,_)}_addLine(e,i){let t=new _,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new g(new Float32Array(n),3)),this.add(new l(t,this._lineMaterial))}_addText(e,i,t,n){let o=e.getCenter(new s);n.x*=this._getXSign(),o.add(n);let a=i.boundingBox.getSize(new s);i.center(),this._text.position.copy(o),this._text.quaternion.copy(t),this.add(this._text);let h=new w(a.x+.02,a.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(o),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}e("default",v),i([t],v.prototype,"_cacheHolder",void 0),i([t],v.prototype,"_unitFormatter",void 0)}}}));
2
- //# sourceMappingURL=component-dimensioning-68525959.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-11d4372b.nomodule.js","./main-thread-to-worker-a33146dd.nomodule.js","./TextGeometry-6c37ac59.nomodule.js"],(function(e){var i,t,n,s,o,a,h,d,_,l,r,g,m,c,w,p;return{setters:[function(e){i=e._,t=e.i},function(e){n=e.O,s=e.a,o=e.u,a=e.h,h=e.w,d=e.bn,_=e.B,l=e.G,r=e.z,g=e.b,m=e.Q,c=e.bH,w=e.b8},function(e){p=e.T}],execute:function(){const u="component_dimensioning_line_material",x="component_dimensioning_plane_material",y="component_dimensioning_text_material";class v extends n{constructor(e,i,t,n){super(),this._center=i.getCenter(new s),this._size=i.getSize(new s),this._origin=this._center.clone().sub(this._size.clone().multiplyScalar(.5)),this._dimensioning=e,this._level=this._dimensioning.maxLevel-this._dimensioning.level,this._font=t,this._cameraPosition=n,this._init()}_initMaterials(){this._cacheHolder.materialCache.has(u)?this._lineMaterial=this._cacheHolder.materialCache.get(u):(this._lineMaterial=new o({color:3618615}),this._cacheHolder.materialCache.set(u,this._lineMaterial)),this._cacheHolder.materialCache.has(x)?this._planeMaterial=this._cacheHolder.materialCache.get(x):(this._planeMaterial=new a({color:16777215,side:h,opacity:.8,transparent:!0}),this._cacheHolder.materialCache.set(x,this._planeMaterial)),this._cacheHolder.materialCache.has(y)?this._textMaterial=this._cacheHolder.materialCache.get(y):(this._textMaterial=new d({color:3618615}),this._cacheHolder.materialCache.set(y,this._textMaterial))}_init(){this._initMaterials();let e=new _;this._line=new l(e,this._lineMaterial),this._line.name="component dimension line "+this._dimensioning.type.value,this._text=new r(e,this._textMaterial),this._text.name="component dimension text "+this._dimensioning.type.value,this._plane=new r(e,this._planeMaterial),this._plane.name="component dimension plane "+this._dimensioning.type.value;let i,t=new _,n=Math.round(Math.max(this._size.y,this._size.x,this._size.z)),o=Math.abs(this._dimensioning.to-this._dimensioning.from),a=.025+(n<4?0:.005*n);o<.3&&(a*=.5+o);let h={font:this._font,size:a,height:.001,curveSegments:2,bevelEnabled:!0,bevelThickness:.001,bevelSize:.001},d=this._dimensioning.label?this._dimensioning.label:this._unitFormatter.formatMMValueToUnitString(1e3*o),c=new p(d,h);c.computeBoundingBox();let w=c.boundingBox.getSize(new s).y;0===this._dimensioning.type.value&&(i=this._getXEdge(w),this._addXEdgeSideLines(w)),1===this._dimensioning.type.value&&(i=this._getYEdge(w),this._addYEdgeSideLines(w)),2===this._dimensioning.type.value&&(i=this._getZEdge(w),this._addZEdgeSideLines(w));let u=[i.start.x,i.start.y,i.start.z,i.end.x,i.end.y,i.end.z];if(t.setAttribute("position",new g(new Float32Array(u),3)),this._line.geometry.dispose(),this._line.geometry=t,this.add(this._line),this._text.geometry=c,0===this._dimensioning.type.value&&this._addText(i,c,new m,new s(0,.04,0)),1===this._dimensioning.type.value){let e=new m,t=this._getXSign()>0?Math.PI/2:Math.PI/2*3;e.setFromAxisAngle(new s(0,0,1),t),this._addText(i,c,e,new s(.04,0,0))}if(2===this._dimensioning.type.value){let e=this._getXSign()>0?Math.PI/2:Math.PI/2*3,t=(new m).setFromAxisAngle(new s(-1,0,0),Math.PI/2),n=(new m).setFromAxisAngle(new s(0,0,1),e);this._addText(i,c,t.multiply(n),new s(.04,0,0))}}_getXEdge(e){let i=this._size.y+.05+(.06+e)*this._level;const t=new s(0,this._origin.y,this._origin.z);let n=t.clone().add(new s(this._dimensioning.from,i,0)),o=t.clone().add(new s(this._dimensioning.to,i,0));return new c(n,o)}_addXEdgeSideLines(e){let i=this._size.y+.05+(.06+e)*(this._level-.5),t=this._size.y+.05+(.06+e)*this._level;const n=new s(0,this._origin.y,this._origin.z);let o=n.clone().add(new s(this._dimensioning.from,i,0)),a=n.clone().add(new s(this._dimensioning.from,t,0)),h=n.clone().add(new s(this._dimensioning.to,i,0)),d=n.clone().add(new s(this._dimensioning.to,t,0));this._addLine(o,a),this._addLine(h,d)}_getZEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,this._origin.y,0);let n=t.clone().add(new s(i,0,this._dimensioning.from)),o=t.clone().add(new s(i,0,this._dimensioning.to));return new c(n,o)}_addZEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,this._origin.y,0);let a=o.clone().add(new s(t,0,this._dimensioning.from)),h=o.clone().add(new s(n,0,this._dimensioning.from)),d=o.clone().add(new s(t,0,this._dimensioning.to)),_=o.clone().add(new s(n,0,this._dimensioning.to));this._addLine(a,h),this._addLine(d,_)}_getYEdge(e){let i=(this._getXSign()>0?this._size.x:0)+.05+(.06+e)*this._level;i*=this._getXSign();const t=new s(this._origin.x,0,this._origin.z);let n=t.clone().add(new s(i,this._dimensioning.from,0)),o=t.clone().add(new s(i,this._dimensioning.to,0));return new c(n,o)}_addYEdgeSideLines(e){let i=this._getXSign()>0?this._size.x:0,t=i+.05+(.06+e)*(this._level-.5),n=i+.05+(.06+e)*this._level;t*=this._getXSign(),n*=this._getXSign();const o=new s(this._origin.x,0,this._origin.z);let a=o.clone().add(new s(t,this._dimensioning.from,0)),h=o.clone().add(new s(n,this._dimensioning.from,0)),d=o.clone().add(new s(t,this._dimensioning.to,0)),_=o.clone().add(new s(n,this._dimensioning.to,0));this._addLine(a,h),this._addLine(d,_)}_addLine(e,i){let t=new _,n=[e.x,e.y,e.z,i.x,i.y,i.z];t.setAttribute("position",new g(new Float32Array(n),3)),this.add(new l(t,this._lineMaterial))}_addText(e,i,t,n){let o=e.getCenter(new s);n.x*=this._getXSign(),o.add(n);let a=i.boundingBox.getSize(new s);i.center(),this._text.position.copy(o),this._text.quaternion.copy(t),this.add(this._text);let h=new w(a.x+.02,a.y+.02,32);h.center(),this._plane.geometry=h,this._plane.position.copy(o),this._plane.quaternion.copy(t),this.add(this._plane)}_getXSign(){return this._cameraPosition.x>=0?1:-1}}e("default",v),i([t],v.prototype,"_cacheHolder",void 0),i([t],v.prototype,"_unitFormatter",void 0)}}}));
2
+ //# sourceMappingURL=component-dimensioning-f2164275.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-dimensioning-f2164275.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{bw as Raycaster,bP as throttle,z as Mesh,v as MeshStandardMaterial,ad as Box3,a as Vector3,am as Frustum,k as Matrix4}from"./main-thread-to-worker-554053aa.js";import{an as transitionTransparencyOfMaterial}from"./roomle-dependency-injection-410ef785.js";class ComponentRaycastHelper{constructor(){this._nonTransparentComponent=null,this._raycaster=new Raycaster,this._raycaster.near=.1,this._raycaster.layers.enable(3),this._raycaster.layers.enable(4),this._raycaster.layers.enable(5),this._raycaster.layers.enable(6)}init(e,t){this._object=e,this._camera=t,this.checkComponentVisibility=throttle(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=throttle(this.checkPreviewVisibility,100).bind(this)}setCamera(e){this._camera=e}setObject(e){this._object=e}changeMaterialsOnSelect(e,t,a=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,a))}_changeMaterialsOnSelect(e,t,a=!1){if(e.children.length>0&&e.children.forEach(i=>{const s=t&&e.id===t.id||a,r=!(i instanceof Mesh);this._changeMaterialsOnSelect(i,t,(!s||!r)&&s)}),t)e instanceof Mesh&&e.material instanceof MeshStandardMaterial&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),a||transitionTransparencyOfMaterial(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof Mesh&&e.material instanceof MeshStandardMaterial){const{opacity:t,transparent:a}=e.userData.oldMaterial;transitionTransparencyOfMaterial(e,{opacity:t,transparent:a}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const a=(new Box3).setFromObject(e).getCenter(new Vector3),i=(new Vector3).subVectors(a,this._camera.position).normalize();this._raycaster.set(this._camera.position,i),this._raycaster.far=this._camera.position.distanceTo(a);const s=[];return this._raycaster.intersectObjects(this._object.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._object,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const a=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(a.length>1)return;const i=a[0];this.isComponentVisible(i)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,i)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new Frustum,a=(new Matrix4).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),i=new Box3;return t.setFromProjectionMatrix(a),e.map(e=>(e=>{const a=i.setFromObject(e).getCenter(new Vector3);return t.containsPoint(a)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,{id:-1}))}}export{ComponentRaycastHelper as default};
2
- //# sourceMappingURL=component-raycast-helper-13725a70.js.map
1
+ import{bw as Raycaster,bP as throttle,z as Mesh,v as MeshStandardMaterial,ad as Box3,a as Vector3,am as Frustum,k as Matrix4}from"./main-thread-to-worker-af604b88.js";import{an as transitionTransparencyOfMaterial}from"./roomle-dependency-injection-b0f42112.js";class ComponentRaycastHelper{constructor(){this._nonTransparentComponent=null,this._raycaster=new Raycaster,this._raycaster.near=.1,this._raycaster.layers.enable(3),this._raycaster.layers.enable(4),this._raycaster.layers.enable(5),this._raycaster.layers.enable(6)}init(e,t){this._object=e,this._camera=t,this.checkComponentVisibility=throttle(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=throttle(this.checkPreviewVisibility,100).bind(this)}setCamera(e){this._camera=e}setObject(e){this._object=e}changeMaterialsOnSelect(e,t,a=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,a))}_changeMaterialsOnSelect(e,t,a=!1){if(e.children.length>0&&e.children.forEach(i=>{const s=t&&e.id===t.id||a,r=!(i instanceof Mesh);this._changeMaterialsOnSelect(i,t,(!s||!r)&&s)}),t)e instanceof Mesh&&e.material instanceof MeshStandardMaterial&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),a||transitionTransparencyOfMaterial(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof Mesh&&e.material instanceof MeshStandardMaterial){const{opacity:t,transparent:a}=e.userData.oldMaterial;transitionTransparencyOfMaterial(e,{opacity:t,transparent:a}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const a=(new Box3).setFromObject(e).getCenter(new Vector3),i=(new Vector3).subVectors(a,this._camera.position).normalize();this._raycaster.set(this._camera.position,i),this._raycaster.far=this._camera.position.distanceTo(a);const s=[];return this._raycaster.intersectObjects(this._object.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._object,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const a=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(a.length>1)return;const i=a[0];this.isComponentVisible(i)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,i)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new Frustum,a=(new Matrix4).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),i=new Box3;return t.setFromProjectionMatrix(a),e.map(e=>(e=>{const a=i.setFromObject(e).getCenter(new Vector3);return t.containsPoint(a)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,{id:-1}))}}export{ComponentRaycastHelper as default};
2
+ //# sourceMappingURL=component-raycast-helper-3503275a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-raycast-helper-3503275a.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./main-thread-to-worker-1a58abb6.nomodule.js","./roomle-dependency-injection-8c2de058.nomodule.js"],(function(e){var t,i,n,s,a,r,c,o,l;return{setters:[function(e){t=e.bw,i=e.bP,n=e.z,s=e.v,a=e.ad,r=e.a,c=e.am,o=e.k},function(e){l=e.an}],execute:function(){e("default",class{constructor(){this._nonTransparentComponent=null,this._raycaster=new t,this._raycaster.near=.1,this._raycaster.layers.enable(3),this._raycaster.layers.enable(4),this._raycaster.layers.enable(5),this._raycaster.layers.enable(6)}init(e,t){this._object=e,this._camera=t,this.checkComponentVisibility=i(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=i(this.checkPreviewVisibility,100).bind(this)}setCamera(e){this._camera=e}setObject(e){this._object=e}changeMaterialsOnSelect(e,t,i=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,i))}_changeMaterialsOnSelect(e,t,i=!1){if(e.children.length>0&&e.children.forEach(s=>{const a=t&&e.id===t.id||i,r=!(s instanceof n);this._changeMaterialsOnSelect(s,t,(!a||!r)&&a)}),t)e instanceof n&&e.material instanceof s&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),i||l(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof n&&e.material instanceof s){const{opacity:t,transparent:i}=e.userData.oldMaterial;l(e,{opacity:t,transparent:i}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const i=(new a).setFromObject(e).getCenter(new r),n=(new r).subVectors(i,this._camera.position).normalize();this._raycaster.set(this._camera.position,n),this._raycaster.far=this._camera.position.distanceTo(i);const s=[];return this._raycaster.intersectObjects(this._object.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._object,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const i=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(i.length>1)return;const n=i[0];this.isComponentVisible(n)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,n)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new c,i=(new o).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),n=new a;return t.setFromProjectionMatrix(i),e.map(e=>(e=>{const i=n.setFromObject(e).getCenter(new r);return t.containsPoint(i)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,{id:-1}))}})}}}));
2
- //# sourceMappingURL=component-raycast-helper-210b2bd1.nomodule.js.map
1
+ System.register(["./main-thread-to-worker-a33146dd.nomodule.js","./roomle-dependency-injection-11d4372b.nomodule.js"],(function(e){var t,i,n,s,a,r,c,o,l;return{setters:[function(e){t=e.bw,i=e.bP,n=e.z,s=e.v,a=e.ad,r=e.a,c=e.am,o=e.k},function(e){l=e.an}],execute:function(){e("default",class{constructor(){this._nonTransparentComponent=null,this._raycaster=new t,this._raycaster.near=.1,this._raycaster.layers.enable(3),this._raycaster.layers.enable(4),this._raycaster.layers.enable(5),this._raycaster.layers.enable(6)}init(e,t){this._object=e,this._camera=t,this.checkComponentVisibility=i(this.checkComponentVisibility,100).bind(this),this.checkPreviewVisibility=i(this.checkPreviewVisibility,100).bind(this)}setCamera(e){this._camera=e}setObject(e){this._object=e}changeMaterialsOnSelect(e,t,i=!1){t!==this._nonTransparentComponent&&(this._nonTransparentComponent=t,this._changeMaterialsOnSelect(e,t,i))}_changeMaterialsOnSelect(e,t,i=!1){if(e.children.length>0&&e.children.forEach(s=>{const a=t&&e.id===t.id||i,r=!(s instanceof n);this._changeMaterialsOnSelect(s,t,(!a||!r)&&a)}),t)e instanceof n&&e.material instanceof s&&!e.userData.oldMaterial&&(e.userData.oldMaterial=e.material,e.material=e.material.clone(),i||l(e,{opacity:.2,transparent:!0}));else if(e.userData.oldMaterial&&e instanceof n&&e.material instanceof s){const{opacity:t,transparent:i}=e.userData.oldMaterial;l(e,{opacity:t,transparent:i}),e.userData.oldMaterial=void 0}}isComponentVisible(e){const t=[];e.traverse(e=>t.push(e.uuid));const i=(new a).setFromObject(e).getCenter(new r),n=(new r).subVectors(i,this._camera.position).normalize();this._raycaster.set(this._camera.position,n),this._raycaster.far=this._camera.position.distanceTo(i);const s=[];return this._raycaster.intersectObjects(this._object.children,!0).forEach(e=>{e.object.material.visible&&(t.includes(e.object.uuid)||e.object.userData.ignoreComponentRaycast||s.push(e))}),0===s.length}checkComponentAndPreviewVisibility(e,t){e.hasSelection()?this.checkComponentVisibility(e,t):t.hasPreviews()?this.checkPreviewVisibility(t):this.changeMaterialsOnSelect(this._object,null)}checkComponentVisibility(e,t){if(!e.hasSelection())return;const i=t.getComponentsForIds(e.getSelectedRuntimeComponentIds());if(i.length>1)return;const n=i[0];this.isComponentVisible(n)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,n)}areAllPreviewsVisible(e){if(!e.hasPreviews())return!0;const t=e.getPreviews();return 0===t.length||t.map(e=>this.isComponentVisible(e)).reduce((e,t)=>e&&t)}areAllComponentsInFrustum(e){if(0===e.length)return!0;const t=new c,i=(new o).multiplyMatrices(this._camera.projectionMatrix,this._camera.matrixWorldInverse),n=new a;return t.setFromProjectionMatrix(i),e.map(e=>(e=>{const i=n.setFromObject(e).getCenter(new r);return t.containsPoint(i)})(e)).reduce((e,t)=>e&&t)}checkPreviewVisibility(e){e.hasPreviewLines()||(this.areAllPreviewsVisible(e)?this.changeMaterialsOnSelect(this._object,null):this.changeMaterialsOnSelect(this._object,{id:-1}))}})}}}));
2
+ //# sourceMappingURL=component-raycast-helper-82a6ba14.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-raycast-helper-82a6ba14.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{S as ScriptLoader,M as Main}from"./script-loader-9396ec24.js";import{D as DependencyInjectionAssignment,L as Logger,R as RapiAccess,a as DataSyncer,b as RoomleDependencyInjection,A as AppContext}from"./roomle-dependency-injection-b0f42112.js";import{C as CameraControl3D,a as CameraControl}from"./camera-behaviour-b62c2673.js";import ComponentRaycastHelper from"./component-raycast-helper-3503275a.js";import{C as ConfiguratorSceneManager,a as ConfiguratorViewModel,R as RoomleConfigurator}from"./roomle-configurator-a2fabb1a.js";import"./query-params-helper-15c8e313.js";import"./main-thread-to-worker-af604b88.js";import"./jszip.min-086ab68b.js";const INJECTABLES=[new DependencyInjectionAssignment("logger",Logger),new DependencyInjectionAssignment("rapi-access",RapiAccess),new DependencyInjectionAssignment("script-loader",ScriptLoader),new DependencyInjectionAssignment("camera-control-3d",CameraControl3D),new DependencyInjectionAssignment("camera-control",CameraControl),new DependencyInjectionAssignment("data-syncer",DataSyncer),new DependencyInjectionAssignment("configurator-scene-manager",ConfiguratorSceneManager,1),new DependencyInjectionAssignment("configurator-view-model",ConfiguratorViewModel,1),new DependencyInjectionAssignment("component-raycast-helper",ComponentRaycastHelper,0)];class Configurator extends Main{setupDependencies(){RoomleDependencyInjection.setup(INJECTABLES),this.lookup("planner-kernel-access",this._context).init(1),this.lookup("rapi-access",this._context),this.lookup("script-loader",this._context),this.lookup("logger",this._context)}cleanUpGlobals(){delete window.RoomleConfigurator}cleanUpDependencies(){const e=this.lookup("script-loader"),n=this.lookup("rapi-access");this.lookup("dom-helper");const o=this.lookup("configurator-scene-manager");e&&e.cleanUp(),n&&n.cleanUp(),o&&o.cleanUp()}setupGlobals(e){const{kernelInstance:n,kernelContainer:o,planObjectId:t}=e||{};AppContext.init({kernelInstance:n,kernelContainer:o,planObjectId:t})}getApi(){return this._configurator}bootFinished(){this._configurator=new RoomleConfigurator(this._context),this._configurator.getMain=()=>this,window.RoomleConfigurator||(window.RoomleConfigurator=this._configurator)}getContextName(){return"configurator"}}export{Configurator};
2
+ //# sourceMappingURL=configurator-0ba8527f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-0ba8527f.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ System.register(["./script-loader-eb097908.nomodule.js","./roomle-dependency-injection-11d4372b.nomodule.js","./camera-behaviour-e7f9d0fc.nomodule.js","./component-raycast-helper-82a6ba14.nomodule.js","./roomle-configurator-6ee41f13.nomodule.js","./query-params-helper-ff314078.nomodule.js","./main-thread-to-worker-a33146dd.nomodule.js","./jszip.min-d3d3c14a.nomodule.js"],(function(e){var o,n,t,r,a,i,c,s,l,u,p,d,f,m;return{setters:[function(e){o=e.S,n=e.M},function(e){t=e.D,r=e.L,a=e.R,i=e.a,c=e.b,s=e.A},function(e){l=e.C,u=e.a},function(e){p=e.default},function(e){d=e.C,f=e.a,m=e.R},function(){},function(){},function(){}],execute:function(){const h=[new t("logger",r),new t("rapi-access",a),new t("script-loader",o),new t("camera-control-3d",l),new t("camera-control",u),new t("data-syncer",i),new t("configurator-scene-manager",d,1),new t("configurator-view-model",f,1),new t("component-raycast-helper",p,0)];e("Configurator",class extends n{setupDependencies(){c.setup(h),this.lookup("planner-kernel-access",this._context).init(1),this.lookup("rapi-access",this._context),this.lookup("script-loader",this._context),this.lookup("logger",this._context)}cleanUpGlobals(){delete window.RoomleConfigurator}cleanUpDependencies(){const e=this.lookup("script-loader"),o=this.lookup("rapi-access");this.lookup("dom-helper");const n=this.lookup("configurator-scene-manager");e&&e.cleanUp(),o&&o.cleanUp(),n&&n.cleanUp()}setupGlobals(e){const{kernelInstance:o,kernelContainer:n,planObjectId:t}=e||{};s.init({kernelInstance:o,kernelContainer:n,planObjectId:t})}getApi(){return this._configurator}bootFinished(){this._configurator=new m(this._context),this._configurator.getMain=()=>this,window.RoomleConfigurator||(window.RoomleConfigurator=this._configurator)}getContextName(){return"configurator"}})}}}));
2
+ //# sourceMappingURL=configurator-bdafffd3.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-bdafffd3.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{Configurator}from"./configurator-0ba8527f.js";import"./script-loader-9396ec24.js";import"./query-params-helper-15c8e313.js";import"./main-thread-to-worker-af604b88.js";import"./roomle-dependency-injection-b0f42112.js";import"./camera-behaviour-b62c2673.js";import"./component-raycast-helper-3503275a.js";import"./roomle-configurator-a2fabb1a.js";import"./jszip.min-086ab68b.js";(new Configurator).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let o=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)});
2
+ //# sourceMappingURL=configurator-main-d0f80aa1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-main-d0f80aa1.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./configurator-e41974af.nomodule.js","./script-loader-2e2919cf.nomodule.js","./query-params-helper-a2901800.nomodule.js","./main-thread-to-worker-1a58abb6.nomodule.js","./roomle-dependency-injection-8c2de058.nomodule.js","./camera-behaviour-c471cf80.nomodule.js","./component-raycast-helper-210b2bd1.nomodule.js","./roomle-configurator-21764f93.nomodule.js","./default-light-setting-94a0efa3.nomodule.js"],(function(){var e;return{setters:[function(o){e=o.Configurator},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){(new e).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let o=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)})}}}));
1
+ System.register(["./configurator-bdafffd3.nomodule.js","./script-loader-eb097908.nomodule.js","./query-params-helper-ff314078.nomodule.js","./main-thread-to-worker-a33146dd.nomodule.js","./roomle-dependency-injection-11d4372b.nomodule.js","./camera-behaviour-e7f9d0fc.nomodule.js","./component-raycast-helper-82a6ba14.nomodule.js","./roomle-configurator-6ee41f13.nomodule.js","./jszip.min-d3d3c14a.nomodule.js"],(function(){var e;return{setters:[function(o){e=o.Configurator},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){(new e).boot(),window.requestIdleCallback||(window.requestIdleCallback=e=>setTimeout(()=>{let o=Date.now();e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-o))})},1)),window.cancelIdleCallback||(window.cancelIdleCallback=window.cancelIdleCallback||function(e){clearTimeout(e)})}}}));
2
2
  //# sourceMappingURL=configurator-main.nomodule.js.map
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-8c2de058.nomodule.js","./main-thread-to-worker-1a58abb6.nomodule.js"],(function(e){var i,t,r,n,s;return{setters:[function(e){i=e.aa},function(e){t=e.aT,r=e.h,n=e.w,s=e.z}],execute:function(){e("default",class{constructor(){this._currentInnerRadius=0}init(e,i,t){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=t,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new t(e,e+e/50,32),c=new r({color:10066329,side:n});this._circleMesh=new s(i,c),this._circleMesh.name="Circle",this._circleMesh.rotation.set(Math.PI/2,0,0),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._drawingGroup.add(this._circleMesh)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new t(e,i,32)}const r=i(this._continuousDrawingManager.getStartPoint());r.y=5,this._circleMesh.position.copy(r),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}})}}}));
2
- //# sourceMappingURL=continuous-drawing-helper-b476ae1f.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-11d4372b.nomodule.js","./main-thread-to-worker-a33146dd.nomodule.js"],(function(e){var i,t,r,n,s;return{setters:[function(e){i=e.aa},function(e){t=e.aT,r=e.h,n=e.w,s=e.z}],execute:function(){e("default",class{constructor(){this._currentInnerRadius=0}init(e,i,t){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=t,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new t(e,e+e/50,32),c=new r({color:10066329,side:n});this._circleMesh=new s(i,c),this._circleMesh.name="Circle",this._circleMesh.rotation.set(Math.PI/2,0,0),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._drawingGroup.add(this._circleMesh)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new t(e,i,32)}const r=i(this._continuousDrawingManager.getStartPoint());r.y=5,this._circleMesh.position.copy(r),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}})}}}));
2
+ //# sourceMappingURL=continuous-drawing-helper-2aa3d564.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuous-drawing-helper-2aa3d564.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{aa as convertToTHREE}from"./roomle-dependency-injection-410ef785.js";import{aT as RingGeometry,h as MeshBasicMaterial,w as DoubleSide,z as Mesh}from"./main-thread-to-worker-554053aa.js";class ContinuousDrawingHelper{constructor(){this._currentInnerRadius=0}init(e,i,r){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=r,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new RingGeometry(e,e+e/50,32),r=new MeshBasicMaterial({color:10066329,side:DoubleSide});this._circleMesh=new Mesh(i,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)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new RingGeometry(e,i,32)}const i=convertToTHREE(this._continuousDrawingManager.getStartPoint());i.y=5,this._circleMesh.position.copy(i),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}}export{ContinuousDrawingHelper as default};
2
- //# sourceMappingURL=continuous-drawing-helper-53c52537.js.map
1
+ import{aa as convertToTHREE}from"./roomle-dependency-injection-b0f42112.js";import{aT as RingGeometry,h as MeshBasicMaterial,w as DoubleSide,z as Mesh}from"./main-thread-to-worker-af604b88.js";class ContinuousDrawingHelper{constructor(){this._currentInnerRadius=0}init(e,i,r){this._drawingGroup=e,this._continuousDrawingManager=i,this._kernelZoomFactor=r,this.update()}update(){this._initCircle(),this._updateCircle()}_initCircle(){if(this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3,i=new RingGeometry(e,e+e/50,32),r=new MeshBasicMaterial({color:10066329,side:DoubleSide});this._circleMesh=new Mesh(i,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)}_updateCircle(){if(!this._circleMesh)return;const e=70/this._kernelZoomFactor/1e3;if(e!==this._currentInnerRadius){const i=e+e/50;this._circleMesh.geometry=new RingGeometry(e,i,32)}const i=convertToTHREE(this._continuousDrawingManager.getStartPoint());i.y=5,this._circleMesh.position.copy(i),this._circleMesh.visible=this._continuousDrawingManager.shouldShowCircle(),this._currentInnerRadius=e}setKernelZoomFactor(e){this._kernelZoomFactor=e}endDrawing(){this._drawingGroup.remove(this._circleMesh),this._circleMesh=null}}export{ContinuousDrawingHelper as default};
2
+ //# sourceMappingURL=continuous-drawing-helper-410e6138.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuous-drawing-helper-410e6138.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -38,8 +38,8 @@ export default class ConfiguratorKernelAccess extends CommonKernelAccess {
38
38
  private _addAnimationParameters;
39
39
  private _updateComponentParameters;
40
40
  selectionChange(componentId: number, isRoot: boolean): void;
41
- protected _componentSelectionChanged(_planObject: PlanObject, _component: KernelComponent): void;
42
- protected _parameterChanged(_objectOrComponentId: number, _parameterKey: string, _value: string): void;
41
+ protected _componentSelectionChanged(_planObject: PlanObject, _component: KernelComponent, _planComponentSelection: boolean): void;
42
+ protected _externalObjectParameterChanged(_objectOrComponentId: number, _parameterKey: string, _value: string): void;
43
43
  multiSelectionChange(runtimeComponentIds: number[], rootComponentId: number): void;
44
44
  private _updateCommonComponentDependencies;
45
45
  private _updateComponentChildren;
@@ -50,8 +50,11 @@ export default class ConfiguratorKernelAccess extends CommonKernelAccess {
50
50
  updatePlanObjectDependencies(planObjectId: number): void;
51
51
  private _updateConfigurationHasChildren;
52
52
  dockComponent(parentId: number, parentDockId: number, childId: number, childDockId: number): void;
53
+ dockExternalObjectComponent(_parentId: number, _parentDockId: number, _childId: number, _childDockId: number): void;
53
54
  changeUseOfHDGeometry(context: ConfiguratorContext, useHDGeometry: boolean): void;
54
55
  webGlPreviewDockings(context: ConfiguratorContext, dragIn: boolean): void;
56
+ webGlPreviewDockingsForKernelObjects(context: ConfiguratorContext, dragIn: boolean): void;
57
+ webGlPreviewDockingsForExternalObjects(context: ConfiguratorContext, _dragIn: boolean): void;
55
58
  previewDockingsWithDrag(componentId: number, planObjectId: number): void;
56
59
  cancelDocking(componentId: number): void;
57
60
  loadConfiguration(configuration: ConfigurationString): void;
@@ -92,6 +92,16 @@ export interface FeatureFlags {
92
92
  * as it is not possible to guess which side of the wall of the room currently being entered is the inside of the wall.
93
93
  */
94
94
  drawPreviewMode?: Enumify<typeof DRAW_PREVIEW_MODES>;
95
+ /**
96
+ * @internal
97
+ * @description Enables special behavior for the BO-PoC
98
+ */
99
+ boPoC?: boolean;
100
+ /**
101
+ * @internal
102
+ * @description Enables special debug behavior for the BO-PoC
103
+ */
104
+ boPoCDebug?: boolean;
95
105
  }
96
106
  export type RoomleColors = keyof typeof ROOMLE_COLORS;
97
107
  export type ColorsIn3dScene = Record<RoomleColors, HexColorString | HexColorNumber>;
@@ -0,0 +1,35 @@
1
+ interface PmEntityDefinition {
2
+ attributes: Record<string, any>;
3
+ modules: PmEntityDefinition[];
4
+ }
5
+ interface PmDefinition {
6
+ entities: PmEntityDefinition[];
7
+ materialIds: Set<string>;
8
+ materials?: Record<string, any>;
9
+ textures?: Record<string, any>;
10
+ }
11
+ export declare class ProductionManagerExport {
12
+ private getMaterials?;
13
+ private exportImages?;
14
+ private date?;
15
+ imageFolderName: string;
16
+ private materialAttributes;
17
+ constructor(parameter?: any, getMaterials?: (materialIds: string[]) => Promise<any[]>);
18
+ convertTcExportData(tcExportData: any): Promise<PmDefinition>;
19
+ addMaterialsToDefinition(pmDefinition: PmDefinition): Promise<void>;
20
+ addTexturesToDefinition(pmDefinition: PmDefinition): void;
21
+ convertMaterialIdToImageName(materialId: string, url: string): string;
22
+ private getDiffuseMap;
23
+ private convertTcArticle;
24
+ createExportXml(pmDefinition: PmDefinition, customerData?: string): string;
25
+ private getDummyCustomerData;
26
+ private getDummyEntityData;
27
+ private createXMLDocument;
28
+ private createExportXMLDocument;
29
+ private createEntities;
30
+ private createEntity;
31
+ private createParameter;
32
+ private createImages;
33
+ private createImage;
34
+ }
35
+ export {};
@@ -21,6 +21,7 @@ import type { GlobalCallback } from '../../common-core/src/services/global-callb
21
21
  import type RoomleToolsCore from '../../tools-core/src/roomle-tools-core';
22
22
  import type { Scene } from 'three';
23
23
  import type IdbManager from '../../common-core/src/services/idb-manager';
24
+ import type { HomagIxArticleParams, HomagIxHeaderParams, HomagIxOrderParams } from './utils/export-helper';
24
25
  interface ConfigurationLoadedResponse {
25
26
  partList: KernelPartList;
26
27
  errors: string[];
@@ -644,7 +645,9 @@ export default class RoomleConfigurator implements GlobalAPI, Context, KernelUti
644
645
  defaultChild: UiPossibleChild;
645
646
  }>;
646
647
  private _addAdditionalInfoToPossibleChildren;
648
+ private _getPossibleChildren;
647
649
  private _getPossibleChildrenForKernelPossibleChildren;
650
+ private _getPossibleChildrenForExternalPossibleChildren;
648
651
  /**
649
652
  * returns unit formatter for formatting input und output values in scene
650
653
  */
@@ -665,9 +668,12 @@ export default class RoomleConfigurator implements GlobalAPI, Context, KernelUti
665
668
  getTools(): Promise<RoomleToolsCore>;
666
669
  exportImageFromCamera(filename?: string, shouldWaitForAssets?: boolean): Promise<void>;
667
670
  calcPartsPriceSum(partList: KernelPartList): Promise<KernelPartListPrice>;
671
+ generateBlueOceanPoCJSON(): Promise<any>;
668
672
  generateProductionServiceExport(defaultExportDefinition?: string): Promise<any>;
669
673
  generateTCExport(defaultExportDefinition?: string): Promise<any>;
670
674
  generateIMOSiXExport(defaultExportDefinition?: string): Promise<any>;
675
+ generateHOMAGiXExport(defaultExportDefinition?: string, homagIxOrderData?: HomagIxOrderParams, homagIxHeaderParams?: HomagIxHeaderParams, homagIxArticleParams?: HomagIxArticleParams): Promise<string>;
676
+ downloadHomagIxExportPoC(): Promise<any>;
671
677
  generateExport(exportType: ExportType, defaultExportDefinition?: string): Promise<any>;
672
678
  setEnvironmentMap(params: {
673
679
  url?: string;
@@ -675,5 +681,9 @@ export default class RoomleConfigurator implements GlobalAPI, Context, KernelUti
675
681
  rotation?: number;
676
682
  maxLightSources?: number;
677
683
  }): void;
684
+ createProductManagerExportPoC(defaultExportDefinition?: string, send?: (content: any) => void | null): Promise<any>;
685
+ getFileFromUrl(url: string, fileNmame: string, defaultType: string): Promise<File>;
686
+ downloadProductManagerExportPoC(defaultExportDefinition?: string): Promise<any>;
687
+ postProductManagerExportPoC(defaultExportDefinition?: string, requestData?: Record<string, string>): Promise<any>;
678
688
  }
679
689
  export {};
@@ -1 +1,2 @@
1
1
  export { default as BANANA_FILE_NAME } from '../../public/geometry/banana_div2.glb';
2
+ export { default as MONKEY_OBJ_FILE_NAME } from '../../public/geometry/monkey.obj';
@@ -0,0 +1,38 @@
1
+ export interface HomagIxOrderParams {
2
+ orderNumber?: string;
3
+ dispatchDate?: string;
4
+ basketNumber?: string;
5
+ }
6
+ export interface HomagIxHeaderParams {
7
+ comm?: string;
8
+ articleno?: string;
9
+ customer?: string;
10
+ retailer?: string;
11
+ client?: string;
12
+ program?: string;
13
+ employee?: string;
14
+ textLong?: string;
15
+ textShort?: string;
16
+ colour?: string[];
17
+ info?: string[];
18
+ address?: string[];
19
+ billingAddress?: string[];
20
+ shippingAddress?: string[];
21
+ orderPriceInfo?: string[];
22
+ customInfo?: string[];
23
+ }
24
+ export interface HomagIxArticleParams {
25
+ articleTextInfo1?: string;
26
+ articleTextInfo2?: string;
27
+ articlePriceInfo1?: string;
28
+ articlePriceInfo2?: string;
29
+ articlePriceInfo3?: string;
30
+ deliveryPeriod?: string;
31
+ supplier?: string;
32
+ discount?: number;
33
+ discountAbs?: number;
34
+ }
35
+ export declare const createHomagIxXml: (orderData: HomagIxOrderParams, headerData: HomagIxHeaderParams, articleShopData: HomagIxArticleParams, articleCoreData: any) => string;
36
+ export declare const getFakeOrderParams: () => HomagIxOrderParams;
37
+ export declare const getFakeHeaderParams: () => HomagIxHeaderParams;
38
+ export declare const getFakeArticleParams: () => HomagIxArticleParams;
@@ -100,6 +100,7 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
100
100
  protected disablePanning(): void;
101
101
  cancelPreviousDockings(): void;
102
102
  cancelComponentSelection(resetCamera?: boolean): void;
103
+ protected notifyPlannerOnComponentSelectionCancel(): void;
103
104
  private _cancelSelection;
104
105
  private _selectComponent;
105
106
  private _deselectComponent;
@@ -116,6 +117,8 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
116
117
  requestDockingsPreview(userInitiated: boolean, possibleChild?: UiPossibleChild, dragEvent?: DragEvent, dragIn?: boolean): void;
117
118
  private _requestDockingsPreviewWithDrag;
118
119
  private _dockComponent;
120
+ private _dockKernelComponent;
121
+ private _dockExternalComponent;
119
122
  private _onSelectedRuntimeComponentsChange;
120
123
  private _onSelectedRuntimeComponentChange;
121
124
  requestDeleteSelectedComponent(): void;
@@ -149,4 +152,5 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
149
152
  protected _shouldRenderUi(): boolean;
150
153
  protected setEventHandlerObject(object: Object3D): void;
151
154
  protected _readyForRender(): void;
155
+ animateElement(elementId: number, parameterName: string, value: string, applyToChildren: boolean, animate: boolean): void;
152
156
  }
@@ -0,0 +1,119 @@
1
+ export interface ExternalObjectRootModule {
2
+ id: string;
3
+ pos: number[];
4
+ rotation?: number;
5
+ }
6
+ export interface ExternalObjectGroupPosition {
7
+ pos: number[];
8
+ rotation?: number;
9
+ }
10
+ export interface ExternalObjectGroup extends ExternalObjectGroupPosition {
11
+ id: string;
12
+ }
13
+ export interface ExternalObjectRootModuleCollection extends ExternalObjectGroupPosition {
14
+ rootModules: ExternalObjectRootModule[];
15
+ }
16
+ export interface ExternalObjectGroupAndModules extends ExternalObjectGroup {
17
+ rootModules: ExternalObjectRootModule[];
18
+ }
19
+ export declare class ExternalObjectUiCallback {
20
+ /** "onMergeExternalObjectGroup" is invoked when a group of root modules is merged into another group of root modules.
21
+ * The group with the ID "sourceGroupId" is merged into the group with the ID "targetGroup.id".
22
+ * The root modules of the source group are added to the target group and the soured group does no longer exist.
23
+ * "targetGroup" contains information about all root modules of the target group (both present and new)
24
+ * and their relative position and orientation.
25
+ * @param targetGroup The target group of root modules.
26
+ * @param sourceGroupId The ID of the source group of root modules.
27
+ */
28
+ onMergeExternalObjectGroup: (targetGroup: ExternalObjectGroupAndModules, sourceGroupId: string) => void;
29
+ /**
30
+ * "onSplitExternalObjectGroup" is invoked when one or more root modules are split from a group of root modules.
31
+ * The split root modules form a new group, which must be assigned a new ID.
32
+ * "originalGroup" contains the information about the original group and the remaining root modules.
33
+ * "newGroupedRootModules" contains the location and orientation of the new group and the root modules that have been split off.
34
+ * @param originalGroup The original group of root modules.
35
+ * @param newGroupedRootModules The new group of root modules.
36
+ */
37
+ onSplitExternalObjectGroup: (originalGroup: ExternalObjectGroupAndModules, newGroupedRootModules: ExternalObjectRootModuleCollection) => void;
38
+ /**
39
+ * "onDeleteExternalObjectGroup" is invoked when a group of root modules and all the root modules it contains are deleted.
40
+ * The group with the ID "groupIdToDelete" is removed from the plan and is completely deleted.
41
+ * @param groupIdToDelete The ID of the group of root modules.
42
+ */
43
+ onDeleteExternalObjectGroup: (groupIdToDelete: string) => void;
44
+ /**
45
+ * "onDeleteExternalObjectRootModule" is invoked when a root module is deleted from a group of root modules.
46
+ * The root module with the ID "rootModuleIdToDelete" is removed from the group with the ID "group.id" and is completely deleted.
47
+ * "group" contains the information about the group and the remaining root modules.
48
+ * This callback must not be called when the solely remaining root module of a group is deleted.
49
+ * In this case, "onDeleteExternalObjectGroup" must be called.
50
+ * @param group The group of root modules.
51
+ * @param rootModuleIdToDelete The ID of the root module.
52
+ */
53
+ onDeleteExternalObjectRootModule: (group: ExternalObjectGroupAndModules, rootModuleIdToDelete: string) => void;
54
+ /**
55
+ * "onDeleteExternalObjectSubModule" is invoked when a sub module is deleted from a root module.
56
+ * The sub module with the ID "subModuleIdToDelete" is removed from the root module with the ID "rootModuleId"
57
+ * and is completely deleted.
58
+ * @param rootModuleId The ID of the root module.
59
+ * @param subModuleIdToDelete The ID of the sub module.
60
+ */
61
+ onDeleteExternalObjectSubModule: (rootModuleId: string, subModuleIdToDelete: string) => void;
62
+ /**
63
+ * "onDuplicateExternalObjectGroup" is invoked when a group of root modules is duplicated.
64
+ * This event request generating a completely new group with the an new root modules
65
+ * with exactly the same structure as the group wih the ID "sourceGroupId".
66
+ * The new group is placed at the position and orientation defined in "newGroupPosition".
67
+ * @param sourceGroupId The ID of the source group of root modules.
68
+ * @param newGroupPosition The position and orientation of the new group.
69
+ */
70
+ onDuplicateExternalObjectGroup: (sourceGroupId: string, newGroupPosition: ExternalObjectGroupPosition) => void;
71
+ /**
72
+ * "onMoveExternalObjectGroup" is invoked when a group of root modules is moved to a new position.
73
+ * The group with the ID "group.id" is moved to the new position and orientation defined in "group".
74
+ * @param group The group of root modules.
75
+ */
76
+ onMoveExternalObjectGroup: (group: ExternalObjectGroup) => void;
77
+ /**
78
+ * "onExternalObjectEnvironmentChanged" is invoked when the plan (walls, doors, windows, etc.) has changed.
79
+ * "affectedGroupIds" contains the IDs of all groups of root modules that are affected by the change.
80
+ * @param affectedGroupIds The IDs of the groups of root modules that are affected by the change.
81
+ */
82
+ onExternalObjectEnvironmentChanged: (affectedGroupIds: string[]) => void;
83
+ /**
84
+ * "onExternalObjectGroupChanged" is invoked when the modules of a group itself have changed.
85
+ * This can be the case in relation with undo/redo operations.
86
+ * "stringifiedGroupData" contains the complete information about the group and the root modules.
87
+ * @param stringifiedGroupData The group data as string.
88
+ */
89
+ onExternalObjectGroupChanged: (stringifiedGroupData: string) => void;
90
+ /**
91
+ * "oneExternalObjectAttributeChanged" is invoked when an attribute of a root module or sub module has changed.
92
+ * The attribute with the ID "attributeId" of the sub module with the ID "subModuleId"
93
+ * of the root module with the ID "rootModuleId" has the new value "value".
94
+ * If "subModuleId" is "null", an attribute of the root module has changed.
95
+ * @param rootModuleId The ID of the root module.
96
+ * @param subModuleId The ID of the sub module or "null".
97
+ * @param attributeId The ID of the attribute.
98
+ * @param value The new value of the attribute.
99
+ */
100
+ onExternalObjectAttributeChanged: (rootModuleId: string, subModuleId: string | null, attributeId: string, value: string) => void;
101
+ /**
102
+ * "onExternalObjectGroupSelected" is invoked when the selection has been changed
103
+ * by and user interaction and a group of root modules is selected.
104
+ * @param groupId The ID of the group of root modules.
105
+ */
106
+ onExternalObjectGroupSelected: (groupId: string) => void;
107
+ /**
108
+ * "onExternalObjectRootModuleSelected" is invoked when the selection has been changed
109
+ * by and user interaction and a root module is selected.
110
+ * @param rootModuleId The ID of the root module.
111
+ */
112
+ onExternalObjectRootModuleSelected: (rootModuleId: string) => void;
113
+ /**
114
+ * "onExternalObjectSubModuleSelected" is invoked when the selection has been changed
115
+ * by and user interaction and a sub module of a root module is selected.
116
+ * @param rootModuleId The ID of the root module.
117
+ */
118
+ onExternalObjectSubModuleSelected: (rootModuleId: string, subModuleId: string) => void;
119
+ }
@@ -0,0 +1,83 @@
1
+ export interface ExternalObjectUiConfiguration {
2
+ attributeGroupsVisibleInPlanner?: string | string[];
3
+ showPossibleSubModules?: boolean;
4
+ animatedOpenClose?: boolean;
5
+ }
6
+ export interface ExternalObjectMaterialConfiguration {
7
+ defaultMaterial?: string;
8
+ replaceUnmappedMaterialsWithDefault?: boolean;
9
+ materialMapping?: Array<{
10
+ materialName: string;
11
+ materialId: string;
12
+ }>;
13
+ }
14
+ export interface ExternalObjectDebugConfiguration {
15
+ createDebugGeometry?: boolean;
16
+ }
17
+ export interface ExternalObjectApiConfiguration {
18
+ loadExternalObjectsFromPlan?: boolean;
19
+ uiConfiguration?: ExternalObjectUiConfiguration;
20
+ materialConfiguration?: ExternalObjectMaterialConfiguration;
21
+ debugConfiguration?: ExternalObjectDebugConfiguration;
22
+ }
23
+ export interface ExternalObjectAPI {
24
+ /**
25
+ * With "configureExternalObjectApi" the default representation of the objects and UI and
26
+ * the default behavior when interacting with external objects can be completely or partially overwritten.
27
+ * This configuration should be set prior to loading plans or objects.
28
+ * @param configurationJson The configuration JSON as string or object.
29
+ */
30
+ configureExternalObjectApi(configurationJson: string | ExternalObjectApiConfiguration): void;
31
+ /**
32
+ * "loadExternalObjectLibrary" loads the master data of a library.
33
+ * If master data has already been loaded for the library, it is completely replaced by the new master data.
34
+ * @param libraryJson The library JSON as string or object.
35
+ */
36
+ loadExternalObjectLibrary(libraryJson: string | object): void;
37
+ /**
38
+ * "loadExternalObjectGroup" loads a group of modules and places them in the plan.
39
+ * If the group has already been loaded, it is completely replaced by the new group.
40
+ * This function therefore has 2 use cases:
41
+ * 1. Load a new group of modules
42
+ * 2. Update or modify an existing group of modules
43
+ * The initial location of the group and the IDs of the modules are defined in the group JSON.
44
+ * @param groupJson The group JSON as string or object.
45
+ */
46
+ loadExternalObjectGroup(groupJson: string | object): void;
47
+ /**
48
+ * "removeExternalObjectGroup" removes a group and all its modules from the plan.
49
+ * @param groupId The ID of the group of modules.
50
+ */
51
+ removeExternalObjectGroup(groupId: string): Promise<void>;
52
+ /**
53
+ * "selectExternalObjectGroup" changes the selected object in the scene.
54
+ * The function selects a complete group of root modules and always switches to planning mode.
55
+ * If the group consists of only one root module, this is equivalent to selecting a single root module.
56
+ * @param groupId The ID of the group of modules.
57
+ */
58
+ selectExternalObjectGroup(groupId: string): Promise<void>;
59
+ /**
60
+ * "selectExternalObjectRootModule" changes the selected object in the scene.
61
+ * The function selects a root module within a group and always switches to planning mode.
62
+ * @param rootModuleId The ID of the root module.
63
+ */
64
+ selectExternalObjectRootModule(rootModuleId: string): Promise<void>;
65
+ /**
66
+ * "selectExternalObjectSubModule" changes the selected object in the scene.
67
+ * The function selects a sub module a root module and always switches to configuration mode.
68
+ * @param rootModuleId The ID of the root module.
69
+ * @param subModuleId The ID of the sub module.
70
+ */
71
+ selectExternalObjectSubModule(rootModuleId: string, subModuleId: string): Promise<void>;
72
+ /**
73
+ * "openOrCloseGeometryOfExternalObject" switches the geometry of the modules between closed and open representation.
74
+ * The function can switch the geometry of the group or the singe root module with the ID "groupIdOrRootModuleId".
75
+ * If "groupIdOrRootModuleId" is the ID of a root module and the "subModuleId" is also specified, only this one sub-module is opened or closed.
76
+ * @param groupIdOrRootModuleId The ID of the group of modules or the ID of the root module.
77
+ * @param subModuleId The ID of the sub module.
78
+ * @param open If true, the modules are opened, if false, they are closed, if the geometry is already in the desired state, nothing happens.
79
+ * @param animate If true the opening or closing is animated else the geometry is switched instantly.
80
+ */
81
+ openOrCloseGeometryOfExternalObject(groupIdOrRootModuleId: string, subModuleId: string | null, open: boolean, animate: boolean): Promise<void>;
82
+ }
83
+ export declare const defaultExternalObjectApiConfiguration: ExternalObjectApiConfiguration;