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

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 (233) 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-fe2d38a7.nomodule.js → banana-for-scale-80151614.nomodule.js} +2 -2
  7. package/lib/{banana-for-scale-fe2d38a7.nomodule.js.map → banana-for-scale-80151614.nomodule.js.map} +1 -1
  8. package/lib/{banana-for-scale-15f21db6.js → banana-for-scale-e6ee570f.js} +2 -2
  9. package/lib/{banana-for-scale-15f21db6.js.map → banana-for-scale-e6ee570f.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-21996a5c.nomodule.js +2 -0
  14. package/lib/{camera-behaviour-017b6062.nomodule.js.map → camera-behaviour-21996a5c.nomodule.js.map} +1 -1
  15. package/lib/camera-behaviour-40ce7f7a.js +2 -0
  16. package/lib/{camera-behaviour-41b88622.js.map → camera-behaviour-40ce7f7a.js.map} +1 -1
  17. package/lib/{component-dimensioning-7a51d97c.nomodule.js → component-dimensioning-662fb919.nomodule.js} +2 -2
  18. package/lib/component-dimensioning-662fb919.nomodule.js.map +1 -0
  19. package/lib/{component-dimensioning-7e1215c7.js → component-dimensioning-f607b8d4.js} +2 -2
  20. package/lib/component-dimensioning-f607b8d4.js.map +1 -0
  21. package/lib/{component-raycast-helper-6c8f67ac.js → component-raycast-helper-21ce5129.js} +2 -2
  22. package/lib/component-raycast-helper-21ce5129.js.map +1 -0
  23. package/lib/{component-raycast-helper-b966ace5.nomodule.js → component-raycast-helper-a9e445bb.nomodule.js} +2 -2
  24. package/lib/component-raycast-helper-a9e445bb.nomodule.js.map +1 -0
  25. package/lib/configurator-4a18d025.nomodule.js +2 -0
  26. package/lib/configurator-4a18d025.nomodule.js.map +1 -0
  27. package/lib/configurator-da707d9c.js +2 -0
  28. package/lib/configurator-da707d9c.js.map +1 -0
  29. package/lib/configurator-main-12631e03.js +2 -0
  30. package/lib/configurator-main-12631e03.js.map +1 -0
  31. package/lib/configurator-main.nomodule.js +1 -1
  32. package/lib/{continuous-drawing-helper-9a1aae84.nomodule.js → continuous-drawing-helper-259dff64.nomodule.js} +2 -2
  33. package/lib/continuous-drawing-helper-259dff64.nomodule.js.map +1 -0
  34. package/lib/{continuous-drawing-helper-03c8922e.js → continuous-drawing-helper-46a03721.js} +2 -2
  35. package/lib/continuous-drawing-helper-46a03721.js.map +1 -0
  36. package/lib/definitions/common-core/src/configurator-kernel-access.d.ts +10 -3
  37. package/lib/definitions/common-core/src/services/common-kernel-access.d.ts +8 -3
  38. package/lib/definitions/common-core/src/utils/shims.d.ts +10 -0
  39. package/lib/definitions/configurator-core/src/export/production-manager-export.d.ts +35 -0
  40. package/lib/definitions/configurator-core/src/roomle-configurator.d.ts +10 -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/roomle-planner-external-object.d.ts +56 -0
  44. package/lib/definitions/planner-core/src/roomle-planner-ui-callback.d.ts +62 -0
  45. package/lib/definitions/planner-core/src/roomle-planner.d.ts +14 -2
  46. package/lib/definitions/planner-core/src/services/planner-kernel-access.d.ts +18 -4
  47. package/lib/definitions/planner-core/src/utils/map-to-ui-plan-objects.d.ts +1 -1
  48. package/lib/definitions/planner-core/src/view-model/plan-view-model.d.ts +1 -0
  49. package/lib/definitions/planner-core/src/webgl/planner-scene-manager.d.ts +2 -0
  50. package/lib/definitions/typings/kernel.d.ts +22 -5
  51. package/lib/definitions/typings/planner.d.ts +1 -1
  52. package/lib/{dimensioning-helper-2bf0bf68.js → dimensioning-helper-9a45f012.js} +2 -2
  53. package/lib/{dimensioning-helper-2bf0bf68.js.map → dimensioning-helper-9a45f012.js.map} +1 -1
  54. package/lib/{dimensioning-helper-e40c8c93.nomodule.js → dimensioning-helper-f59112bd.nomodule.js} +2 -2
  55. package/lib/{dimensioning-helper-e40c8c93.nomodule.js.map → dimensioning-helper-f59112bd.nomodule.js.map} +1 -1
  56. package/lib/glb-viewer-0ff6d621.nomodule.js +2 -0
  57. package/lib/glb-viewer-0ff6d621.nomodule.js.map +1 -0
  58. package/lib/glb-viewer-27b5e66a.js +2 -0
  59. package/lib/glb-viewer-27b5e66a.js.map +1 -0
  60. package/lib/{glb-viewer-camera-behaviour-ba102a50.js → glb-viewer-camera-behaviour-30d325b9.js} +2 -2
  61. package/lib/glb-viewer-camera-behaviour-30d325b9.js.map +1 -0
  62. package/lib/{glb-viewer-camera-behaviour-6016d88f.nomodule.js → glb-viewer-camera-behaviour-e6ab54e9.nomodule.js} +2 -2
  63. package/lib/glb-viewer-camera-behaviour-e6ab54e9.nomodule.js.map +1 -0
  64. package/lib/glb-viewer-main-7d15c8e5.js +2 -0
  65. package/lib/glb-viewer-main-7d15c8e5.js.map +1 -0
  66. package/lib/glb-viewer-main.nomodule.js +1 -1
  67. package/lib/{default-light-setting-3ea1b914.js → jszip.min-2925a45a.js} +2 -2
  68. package/lib/jszip.min-2925a45a.js.map +1 -0
  69. package/lib/{default-light-setting-489c5ea6.nomodule.js → jszip.min-89259ae9.nomodule.js} +2 -2
  70. package/lib/jszip.min-89259ae9.nomodule.js.map +1 -0
  71. package/lib/legacy/{TextGeometry-c00b7ecb.legacy.js → TextGeometry-50d12ddd.legacy.js} +2 -2
  72. package/lib/legacy/{TextGeometry-c00b7ecb.legacy.js.map → TextGeometry-50d12ddd.legacy.js.map} +1 -1
  73. package/lib/legacy/{banana-for-scale-ec6d19c3.legacy.js → banana-for-scale-9e10a8ad.legacy.js} +2 -2
  74. package/lib/legacy/{banana-for-scale-ec6d19c3.legacy.js.map → banana-for-scale-9e10a8ad.legacy.js.map} +1 -1
  75. package/lib/legacy/budgeteer-measure.legacy.js +1 -1
  76. package/lib/legacy/camera-behaviour-9ab4410f.legacy.js +2 -0
  77. package/lib/legacy/{camera-behaviour-b764ae69.legacy.js.map → camera-behaviour-9ab4410f.legacy.js.map} +1 -1
  78. package/lib/legacy/{component-dimensioning-62564b06.legacy.js → component-dimensioning-5ef071bf.legacy.js} +2 -2
  79. package/lib/legacy/component-dimensioning-5ef071bf.legacy.js.map +1 -0
  80. package/lib/legacy/{component-raycast-helper-ed1a3727.legacy.js → component-raycast-helper-bfbccfec.legacy.js} +2 -2
  81. package/lib/legacy/component-raycast-helper-bfbccfec.legacy.js.map +1 -0
  82. package/lib/legacy/configurator-97b75e4d.legacy.js +2 -0
  83. package/lib/legacy/configurator-97b75e4d.legacy.js.map +1 -0
  84. package/lib/legacy/configurator-main.legacy.js +1 -1
  85. package/lib/legacy/{continuous-drawing-helper-3f7252d8.legacy.js → continuous-drawing-helper-eaa8fdcc.legacy.js} +2 -2
  86. package/lib/legacy/continuous-drawing-helper-eaa8fdcc.legacy.js.map +1 -0
  87. package/lib/legacy/{dimensioning-helper-c8bbbd89.legacy.js → dimensioning-helper-15605330.legacy.js} +2 -2
  88. package/lib/legacy/{dimensioning-helper-c8bbbd89.legacy.js.map → dimensioning-helper-15605330.legacy.js.map} +1 -1
  89. package/lib/legacy/glb-viewer-5a76929a.legacy.js +2 -0
  90. package/lib/legacy/glb-viewer-5a76929a.legacy.js.map +1 -0
  91. package/lib/legacy/{glb-viewer-camera-behaviour-a61d95f1.legacy.js → glb-viewer-camera-behaviour-cc803085.legacy.js} +2 -2
  92. package/lib/legacy/glb-viewer-camera-behaviour-cc803085.legacy.js.map +1 -0
  93. package/lib/legacy/glb-viewer-main.legacy.js +1 -1
  94. package/lib/legacy/{default-light-setting-b4dd5a0c.legacy.js → jszip.min-364c1318.legacy.js} +2 -2
  95. package/lib/legacy/jszip.min-364c1318.legacy.js.map +1 -0
  96. package/lib/legacy/{main-thread-to-worker-a28094cc.legacy.js → main-thread-to-worker-f02de9c2.legacy.js} +3 -3
  97. package/lib/legacy/{main-thread-to-worker-a28094cc.legacy.js.map → main-thread-to-worker-f02de9c2.legacy.js.map} +1 -1
  98. package/lib/legacy/{material-viewer-04e72d1a.legacy.js → material-viewer-eafca21e.legacy.js} +2 -2
  99. package/lib/legacy/material-viewer-eafca21e.legacy.js.map +1 -0
  100. package/lib/legacy/material-viewer-main.legacy.js +1 -1
  101. package/lib/legacy/planner-e87040b6.legacy.js +2 -0
  102. package/lib/legacy/{planner-9adda4dc.legacy.js.map → planner-e87040b6.legacy.js.map} +1 -1
  103. package/lib/legacy/planner-main.legacy.js +1 -1
  104. package/lib/legacy/{query-params-helper-81aac523.legacy.js → query-params-helper-0f7e3d70.legacy.js} +2 -2
  105. package/lib/legacy/query-params-helper-0f7e3d70.legacy.js.map +1 -0
  106. package/lib/legacy/roomle-configurator-d3b014a7.legacy.js +2 -0
  107. package/lib/legacy/roomle-configurator-d3b014a7.legacy.js.map +1 -0
  108. package/lib/legacy/{roomle-dependency-injection-408194e6.legacy.js → roomle-dependency-injection-44c0a73d.legacy.js} +3 -3
  109. package/lib/legacy/{roomle-dependency-injection-408194e6.legacy.js.map → roomle-dependency-injection-44c0a73d.legacy.js.map} +1 -1
  110. package/lib/legacy/roomle-sdk.legacy.js +1 -1
  111. package/lib/legacy/{script-loader-aaeab986.legacy.js → script-loader-d4c26c07.legacy.js} +2 -2
  112. package/lib/legacy/script-loader-d4c26c07.legacy.js.map +1 -0
  113. package/lib/{static/ConfiguratorKernel-91b5efef85ab7d18.wasm → legacy/static/ConfiguratorKernel-b50eb6733d78561e.wasm} +0 -0
  114. package/lib/legacy/static/RoomleCore-a4daf5115ff20000.wasm +0 -0
  115. package/lib/{static/RoomleToolsCore-f017596d6a1ee6ed.wasm → legacy/static/RoomleToolsCore-f54b6ad081840fdd.wasm} +0 -0
  116. package/lib/legacy/{stats-helper-5968eef3.legacy.js → stats-helper-fe462da6.legacy.js} +2 -2
  117. package/lib/legacy/stats-helper-fe462da6.legacy.js.map +1 -0
  118. package/lib/legacy/{tools-core-47b7ab77.legacy.js → tools-core-d5baf2f7.legacy.js} +2 -2
  119. package/lib/legacy/tools-core-d5baf2f7.legacy.js.map +1 -0
  120. package/lib/{main-thread-to-worker-1a58abb6.nomodule.js → main-thread-to-worker-a33146dd.nomodule.js} +2 -2
  121. package/lib/{main-thread-to-worker-1a58abb6.nomodule.js.map → main-thread-to-worker-a33146dd.nomodule.js.map} +1 -1
  122. package/lib/{main-thread-to-worker-554053aa.js → main-thread-to-worker-af604b88.js} +2 -2
  123. package/lib/{main-thread-to-worker-554053aa.js.map → main-thread-to-worker-af604b88.js.map} +1 -1
  124. package/lib/{material-viewer-831b9fb0.js → material-viewer-c3fc53c2.js} +2 -2
  125. package/lib/material-viewer-c3fc53c2.js.map +1 -0
  126. package/lib/{material-viewer-4ff7d569.nomodule.js → material-viewer-f8c72510.nomodule.js} +2 -2
  127. package/lib/material-viewer-f8c72510.nomodule.js.map +1 -0
  128. package/lib/material-viewer-main-ffc80b15.js +2 -0
  129. package/lib/material-viewer-main-ffc80b15.js.map +1 -0
  130. package/lib/material-viewer-main.nomodule.js +1 -1
  131. package/lib/planner-5ae620b2.nomodule.js +2 -0
  132. package/lib/{planner-0343abfc.nomodule.js.map → planner-5ae620b2.nomodule.js.map} +1 -1
  133. package/lib/planner-da64aa0a.js +2 -0
  134. package/lib/{planner-01c72b15.js.map → planner-da64aa0a.js.map} +1 -1
  135. package/lib/planner-main-af0987bd.js +2 -0
  136. package/lib/planner-main-af0987bd.js.map +1 -0
  137. package/lib/planner-main.nomodule.js +1 -1
  138. package/lib/{query-params-helper-a5a14aba.js → query-params-helper-15c8e313.js} +2 -2
  139. package/lib/query-params-helper-15c8e313.js.map +1 -0
  140. package/lib/{query-params-helper-a2901800.nomodule.js → query-params-helper-ff314078.nomodule.js} +2 -2
  141. package/lib/query-params-helper-ff314078.nomodule.js.map +1 -0
  142. package/lib/roomle-configurator-16e61a4e.nomodule.js +2 -0
  143. package/lib/roomle-configurator-16e61a4e.nomodule.js.map +1 -0
  144. package/lib/roomle-configurator-d01bed5e.js +2 -0
  145. package/lib/roomle-configurator-d01bed5e.js.map +1 -0
  146. package/lib/{roomle-dependency-injection-b873ecef.js → roomle-dependency-injection-952cfbc7.js} +3 -3
  147. package/lib/{roomle-dependency-injection-b873ecef.js.map → roomle-dependency-injection-952cfbc7.js.map} +1 -1
  148. package/lib/{roomle-dependency-injection-55112ebb.nomodule.js → roomle-dependency-injection-ee88c9ea.nomodule.js} +3 -3
  149. package/lib/{roomle-dependency-injection-55112ebb.nomodule.js.map → roomle-dependency-injection-ee88c9ea.nomodule.js.map} +1 -1
  150. package/lib/{roomle-sdk-45e514c0.js → roomle-sdk-97c68143.js} +2 -2
  151. package/lib/roomle-sdk-97c68143.js.map +1 -0
  152. package/lib/roomle-sdk.nomodule.js +1 -1
  153. package/lib/{script-loader-17d89c55.nomodule.js → script-loader-4082cbb7.nomodule.js} +2 -2
  154. package/lib/script-loader-4082cbb7.nomodule.js.map +1 -0
  155. package/lib/{script-loader-7cf6e71d.js → script-loader-4229b358.js} +2 -2
  156. package/lib/script-loader-4229b358.js.map +1 -0
  157. package/lib/{legacy/static/ConfiguratorKernel-91b5efef85ab7d18.wasm → static/ConfiguratorKernel-b50eb6733d78561e.wasm} +0 -0
  158. package/lib/static/RoomleCore-a4daf5115ff20000.wasm +0 -0
  159. package/lib/{legacy/static/RoomleToolsCore-f017596d6a1ee6ed.wasm → static/RoomleToolsCore-f54b6ad081840fdd.wasm} +0 -0
  160. package/lib/{stats-helper-47c44ce9.js → stats-helper-91cef5a9.js} +2 -2
  161. package/lib/stats-helper-91cef5a9.js.map +1 -0
  162. package/lib/{stats-helper-c2f2bedd.nomodule.js → stats-helper-ad528db5.nomodule.js} +2 -2
  163. package/lib/stats-helper-ad528db5.nomodule.js.map +1 -0
  164. package/lib/{tools-core-da36ba2a.nomodule.js → tools-core-4fb16090.nomodule.js} +2 -2
  165. package/lib/tools-core-4fb16090.nomodule.js.map +1 -0
  166. package/lib/{tools-core-3306f807.js → tools-core-5372e5e9.js} +2 -2
  167. package/lib/tools-core-5372e5e9.js.map +1 -0
  168. package/package.json +2 -2
  169. package/lib/camera-behaviour-017b6062.nomodule.js +0 -2
  170. package/lib/camera-behaviour-41b88622.js +0 -2
  171. package/lib/component-dimensioning-7a51d97c.nomodule.js.map +0 -1
  172. package/lib/component-dimensioning-7e1215c7.js.map +0 -1
  173. package/lib/component-raycast-helper-6c8f67ac.js.map +0 -1
  174. package/lib/component-raycast-helper-b966ace5.nomodule.js.map +0 -1
  175. package/lib/configurator-37d9c2d4.nomodule.js +0 -2
  176. package/lib/configurator-37d9c2d4.nomodule.js.map +0 -1
  177. package/lib/configurator-afcbafc8.js +0 -2
  178. package/lib/configurator-afcbafc8.js.map +0 -1
  179. package/lib/configurator-main-c596e1ef.js +0 -2
  180. package/lib/configurator-main-c596e1ef.js.map +0 -1
  181. package/lib/continuous-drawing-helper-03c8922e.js.map +0 -1
  182. package/lib/continuous-drawing-helper-9a1aae84.nomodule.js.map +0 -1
  183. package/lib/default-light-setting-3ea1b914.js.map +0 -1
  184. package/lib/default-light-setting-489c5ea6.nomodule.js.map +0 -1
  185. package/lib/glb-viewer-76ef81d1.nomodule.js +0 -2
  186. package/lib/glb-viewer-76ef81d1.nomodule.js.map +0 -1
  187. package/lib/glb-viewer-camera-behaviour-6016d88f.nomodule.js.map +0 -1
  188. package/lib/glb-viewer-camera-behaviour-ba102a50.js.map +0 -1
  189. package/lib/glb-viewer-fe32bd2b.js +0 -2
  190. package/lib/glb-viewer-fe32bd2b.js.map +0 -1
  191. package/lib/glb-viewer-main-38839d46.js +0 -2
  192. package/lib/glb-viewer-main-38839d46.js.map +0 -1
  193. package/lib/legacy/camera-behaviour-b764ae69.legacy.js +0 -2
  194. package/lib/legacy/component-dimensioning-62564b06.legacy.js.map +0 -1
  195. package/lib/legacy/component-raycast-helper-ed1a3727.legacy.js.map +0 -1
  196. package/lib/legacy/configurator-024315c0.legacy.js +0 -2
  197. package/lib/legacy/configurator-024315c0.legacy.js.map +0 -1
  198. package/lib/legacy/continuous-drawing-helper-3f7252d8.legacy.js.map +0 -1
  199. package/lib/legacy/default-light-setting-b4dd5a0c.legacy.js.map +0 -1
  200. package/lib/legacy/glb-viewer-53281645.legacy.js +0 -2
  201. package/lib/legacy/glb-viewer-53281645.legacy.js.map +0 -1
  202. package/lib/legacy/glb-viewer-camera-behaviour-a61d95f1.legacy.js.map +0 -1
  203. package/lib/legacy/material-viewer-04e72d1a.legacy.js.map +0 -1
  204. package/lib/legacy/planner-9adda4dc.legacy.js +0 -2
  205. package/lib/legacy/query-params-helper-81aac523.legacy.js.map +0 -1
  206. package/lib/legacy/roomle-configurator-02db338b.legacy.js +0 -2
  207. package/lib/legacy/roomle-configurator-02db338b.legacy.js.map +0 -1
  208. package/lib/legacy/script-loader-aaeab986.legacy.js.map +0 -1
  209. package/lib/legacy/static/RoomleCore-345b0fa03f5036a5.wasm +0 -0
  210. package/lib/legacy/stats-helper-5968eef3.legacy.js.map +0 -1
  211. package/lib/legacy/tools-core-47b7ab77.legacy.js.map +0 -1
  212. package/lib/material-viewer-4ff7d569.nomodule.js.map +0 -1
  213. package/lib/material-viewer-831b9fb0.js.map +0 -1
  214. package/lib/material-viewer-main-be99ebfb.js +0 -2
  215. package/lib/material-viewer-main-be99ebfb.js.map +0 -1
  216. package/lib/planner-01c72b15.js +0 -2
  217. package/lib/planner-0343abfc.nomodule.js +0 -2
  218. package/lib/planner-main-e9d6e3ca.js +0 -2
  219. package/lib/planner-main-e9d6e3ca.js.map +0 -1
  220. package/lib/query-params-helper-a2901800.nomodule.js.map +0 -1
  221. package/lib/query-params-helper-a5a14aba.js.map +0 -1
  222. package/lib/roomle-configurator-0743302c.nomodule.js +0 -2
  223. package/lib/roomle-configurator-0743302c.nomodule.js.map +0 -1
  224. package/lib/roomle-configurator-845a72f2.js +0 -2
  225. package/lib/roomle-configurator-845a72f2.js.map +0 -1
  226. package/lib/roomle-sdk-45e514c0.js.map +0 -1
  227. package/lib/script-loader-17d89c55.nomodule.js.map +0 -1
  228. package/lib/script-loader-7cf6e71d.js.map +0 -1
  229. package/lib/static/RoomleCore-345b0fa03f5036a5.wasm +0 -0
  230. package/lib/stats-helper-47c44ce9.js.map +0 -1
  231. package/lib/stats-helper-c2f2bedd.nomodule.js.map +0 -1
  232. package/lib/tools-core-3306f807.js.map +0 -1
  233. package/lib/tools-core-da36ba2a.nomodule.js.map +0 -1
@@ -1,2 +1,2 @@
1
- System.register(["./roomle-dependency-injection-55112ebb.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-7a51d97c.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-ee88c9ea.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-662fb919.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-dimensioning-662fb919.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{_ as __decorate,i as inject}from"./roomle-dependency-injection-b873ecef.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-7e1215c7.js.map
1
+ import{_ as __decorate,i as inject}from"./roomle-dependency-injection-952cfbc7.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-f607b8d4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-dimensioning-f607b8d4.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-b873ecef.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-6c8f67ac.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-952cfbc7.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-21ce5129.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-raycast-helper-21ce5129.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./main-thread-to-worker-1a58abb6.nomodule.js","./roomle-dependency-injection-55112ebb.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-b966ace5.nomodule.js.map
1
+ System.register(["./main-thread-to-worker-a33146dd.nomodule.js","./roomle-dependency-injection-ee88c9ea.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-a9e445bb.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-raycast-helper-a9e445bb.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ System.register(["./script-loader-4082cbb7.nomodule.js","./roomle-dependency-injection-ee88c9ea.nomodule.js","./camera-behaviour-21996a5c.nomodule.js","./component-raycast-helper-a9e445bb.nomodule.js","./roomle-configurator-16e61a4e.nomodule.js","./query-params-helper-ff314078.nomodule.js","./main-thread-to-worker-a33146dd.nomodule.js","./jszip.min-89259ae9.nomodule.js"],(function(e){var o,n,t,r,a,i,c,s,l,u,p,d,m,f;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,m=e.a,f=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",m,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 f(this._context),this._configurator.getMain=()=>this,window.RoomleConfigurator||(window.RoomleConfigurator=this._configurator)}getContextName(){return"configurator"}})}}}));
2
+ //# sourceMappingURL=configurator-4a18d025.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-4a18d025.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{S as ScriptLoader,M as Main}from"./script-loader-4229b358.js";import{D as DependencyInjectionAssignment,L as Logger,R as RapiAccess,a as DataSyncer,b as RoomleDependencyInjection,A as AppContext}from"./roomle-dependency-injection-952cfbc7.js";import{C as CameraControl3D,a as CameraControl}from"./camera-behaviour-40ce7f7a.js";import ComponentRaycastHelper from"./component-raycast-helper-21ce5129.js";import{C as ConfiguratorSceneManager,a as ConfiguratorViewModel,R as RoomleConfigurator}from"./roomle-configurator-d01bed5e.js";import"./query-params-helper-15c8e313.js";import"./main-thread-to-worker-af604b88.js";import"./jszip.min-2925a45a.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-da707d9c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-da707d9c.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{Configurator}from"./configurator-da707d9c.js";import"./script-loader-4229b358.js";import"./query-params-helper-15c8e313.js";import"./main-thread-to-worker-af604b88.js";import"./roomle-dependency-injection-952cfbc7.js";import"./camera-behaviour-40ce7f7a.js";import"./component-raycast-helper-21ce5129.js";import"./roomle-configurator-d01bed5e.js";import"./jszip.min-2925a45a.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-12631e03.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator-main-12631e03.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- System.register(["./configurator-37d9c2d4.nomodule.js","./script-loader-17d89c55.nomodule.js","./query-params-helper-a2901800.nomodule.js","./main-thread-to-worker-1a58abb6.nomodule.js","./roomle-dependency-injection-55112ebb.nomodule.js","./camera-behaviour-017b6062.nomodule.js","./component-raycast-helper-b966ace5.nomodule.js","./roomle-configurator-0743302c.nomodule.js","./default-light-setting-489c5ea6.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-4a18d025.nomodule.js","./script-loader-4082cbb7.nomodule.js","./query-params-helper-ff314078.nomodule.js","./main-thread-to-worker-a33146dd.nomodule.js","./roomle-dependency-injection-ee88c9ea.nomodule.js","./camera-behaviour-21996a5c.nomodule.js","./component-raycast-helper-a9e445bb.nomodule.js","./roomle-configurator-16e61a4e.nomodule.js","./jszip.min-89259ae9.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-55112ebb.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-9a1aae84.nomodule.js.map
1
+ System.register(["./roomle-dependency-injection-ee88c9ea.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-259dff64.nomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuous-drawing-helper-259dff64.nomodule.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{aa as convertToTHREE}from"./roomle-dependency-injection-b873ecef.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-03c8922e.js.map
1
+ import{aa as convertToTHREE}from"./roomle-dependency-injection-952cfbc7.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-46a03721.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuous-drawing-helper-46a03721.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type ConfiguratorContext from './webgl/configurator-context';
2
- import type { EmscriptenString, KernelComponent, KernelParameter, KernelParameterGroup, KernelVector3, PlanObject, VariantsList } from '../../typings/kernel';
2
+ import { type EmscriptenString, type KernelComponent, type KernelParameter, type KernelParameterGroup, type KernelVector3, type PlanObject, type VariantsList } from '../../typings/kernel';
3
3
  import CommonKernelAccess, { KERNEL_TYPE } from './services/common-kernel-access';
4
4
  import type { ArticleNumber, ConfigurationHash, ConfigurationString, RapiId, RapiPrice } from '../../typings/rapi-types';
5
5
  import type { CommonConfiguratorKernelCallbackI } from './common-configurator-kernel-callback';
@@ -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 +95,10 @@ export default class ConfiguratorKernelAccess extends CommonKernelAccess {
92
95
  meshId: string;
93
96
  quality: number;
94
97
  }>): Promise<void>;
98
+ requestExternalObj(requestedObjs: Array<{
99
+ url: string;
100
+ quality: number;
101
+ }>): Promise<void>;
95
102
  Editor3dComponentCreated(id: number, position: KernelVector3, eulerAngles: KernelVector3, isRootComponent: boolean, parentId: number): void;
96
103
  Editor3dPlanObjectConstructionDone(planObjectId: number): void;
97
104
  Editor3dBeginGroup(): void;
@@ -5,7 +5,7 @@ import type DataSyncer from './data-syncer';
5
5
  import type { ArticleNumber, ConfigurationHash, RapiConfiguration, RapiId, RapiPrice } from '../../../typings/rapi-types';
6
6
  import type { LifeCycleCallbacks } from '../life-cycle-manager';
7
7
  import type { Context } from '../di/context';
8
- import type { AssetRequest, ConfigurationExporter, ConfiguratorKernelClass, KernelComponent, KernelMeshAttributes, KernelMeshBuffer, KernelPart, KernelPartList, KernelPartListPrice, KernelVector3 } from '../../../typings/kernel';
8
+ import type { AssetRequest, AssetType, ConfigurationExporter, ConfiguratorKernelClass, KernelComponent, KernelMeshAttributes, KernelMeshBuffer, KernelPart, KernelPartList, KernelPartListPrice, KernelVector3 } from '../../../typings/kernel';
9
9
  import type ConfiguratorUiCallbacks from '../../../configurator-core/src/services/configurator-ui-callback';
10
10
  import type { GlobalCallback } from './global-callback';
11
11
  import type InitData from '../utils/init-data';
@@ -114,8 +114,9 @@ export default abstract class CommonKernelAccess implements LifeCycleCallbacks,
114
114
  pause(): void;
115
115
  resume(): void;
116
116
  destroy(): void;
117
- protected _handleCortoMesh<T>(buffer: ArrayBuffer, meshId: string, quality: number): void;
118
- protected _handleInvalidMesh(meshId: string, quality: number): void;
117
+ protected _handleCortoMesh(buffer: ArrayBuffer, meshId: string, quality: number): void;
118
+ protected _handleObjMesh(serializedObj: string, url: string, quality: number): void;
119
+ protected _handleInvalidMesh(assetType: AssetType, idOrUrl: string, quality: number): void;
119
120
  calcPartsPriceSum(partList: KernelPartList): Promise<KernelPartListPrice>;
120
121
  protected _calcPrice(partList?: KernelPartList): Promise<KernelPartListPrice>;
121
122
  addUiDataAndPriceToPartList(partList: KernelPartList, hash: string): Promise<KernelPartList>;
@@ -125,6 +126,10 @@ export default abstract class CommonKernelAccess implements LifeCycleCallbacks,
125
126
  meshId: string;
126
127
  quality: number;
127
128
  }>): void;
129
+ requestExternalObj(_requestedObjs: Array<{
130
+ url: string;
131
+ quality: number;
132
+ }>): void;
128
133
  requestPartListAndUpdatePricesOfParts(hash?: ConfigurationHash, _prices?: Map<ArticleNumber, RapiPrice>): Promise<void>;
129
134
  }
130
135
  export {};
@@ -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 {};
@@ -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;
@@ -148,4 +151,5 @@ export default class ConfiguratorSceneManager extends SceneManager implements Co
148
151
  protected _setCameraControlListeners(): void;
149
152
  protected _shouldRenderUi(): boolean;
150
153
  protected setEventHandlerObject(object: Object3D): void;
154
+ animateElement(elementId: number, parameterName: string, value: string, applyToChildren: boolean, animate: boolean): void;
151
155
  }
@@ -0,0 +1,56 @@
1
+ export interface TCProperties {
2
+ visibleInPlannerGroups?: string | string[];
3
+ setPossibleChildModules?: boolean;
4
+ defaultMaterial?: string;
5
+ replaceUnmappedMaterialsWithDefault?: boolean;
6
+ animatedOpenClose?: boolean;
7
+ materialMapping?: Array<{
8
+ materialName: string;
9
+ materialId: string;
10
+ }>;
11
+ createDebugGeometry?: boolean;
12
+ }
13
+ export interface TcAPI {
14
+ /**
15
+ * Sets properties that effect the representation of the objects such as the material mapping
16
+ * and completely overwrites the default settings.
17
+ * @param propertiesJson The properties JSON as string or object.
18
+ */
19
+ loadTCProperties(propertiesJson: string | TCProperties): void;
20
+ /**
21
+ * Loads the master data json and defines which attributes are displayed in the UI
22
+ * of the PoS system and how they are displayed.
23
+ * @param masterDataJson The master data JSON as string or object.
24
+ */
25
+ loadTCMasterData(masterDataJson: string | object): void;
26
+ /**
27
+ * Loads all groups of root modules defined in the article-data-json and adds them to the plan.
28
+ * @param articleJson The article data JSON as string or object.
29
+ */
30
+ loadTCArticles(articleJson: string): Promise<void>;
31
+ /**
32
+ * Removes the specified group of root modules completely from the plan.
33
+ * @param groupId The unique ID of the group of root modules.
34
+ */
35
+ removeTCArticle(groupId: string): Promise<void>;
36
+ /**
37
+ * Always switches to planning mode and selects an root module group.
38
+ * In planning mode, only a root module or a group of root modules can be selected, but not a sub-module.
39
+ * @param groupId The unique ID of the group of root modules.
40
+ */
41
+ selectTCArticle(groupId: string): Promise<void>;
42
+ /**
43
+ * Always switches to configuration mode and selects a root module or sub-module.
44
+ * @param groupId The unique ID of the group of root modules.
45
+ * @param moduleId The ID of the root module or sub-module.
46
+ */
47
+ selectTCModule(groupId: string, moduleId: string): Promise<void>;
48
+ /**
49
+ * Opens or closes the geometry (e.g. drawers and doors) of all modules in a group.
50
+ * @param groupId The unique ID of the group of root modules.
51
+ * @param open If true, the modules are opened, if false, they are closed.
52
+ * @param animate If true the opening or closing is animated.
53
+ */
54
+ openCloseTCArticle(groupId: string, open: boolean, animate: boolean): Promise<void>;
55
+ }
56
+ export declare const defaultExternalObjectProperties: TCProperties;
@@ -150,6 +150,68 @@ export default class RoomlePlannerUiCallback extends UiCallback {
150
150
  * @param floorAreasData An array of objects, each representing the area and related data for each room within the floor plan.
151
151
  */
152
152
  onFloorPlanAreasUpdated: (floorAreasData: FloorAreaDataTransferable[]) => void;
153
+ /**
154
+ * Callback invoked when the selection of a component has been canceled.
155
+ */
156
+ onComponentSelectionCancel: () => void;
157
+ /**
158
+ * Callback invoked when a plan snapshot is saved.
159
+ * @param planId The ID of the plan snapshot.
160
+ */
161
+ onPlanSnapshotCreated: (planId: string) => void;
162
+ /**
163
+ * Callback invoked when an object is started to be configured.
164
+ */
165
+ onStartConfiguring: () => Promise<void>;
166
+ /**
167
+ * Callback invoked when configuration is finished.
168
+ */
169
+ onBackToPlanner: () => Promise<void>;
170
+ /**
171
+ * Callback invoked when the selection of an external component has changed.
172
+ * @param groupId The ID of the plan object to which the external component is attached.
173
+ * @param moduleId The ID of the selected external component.
174
+ */
175
+ onExternalComponentSelectionChanged: (groupId: string, moduleId: string | null) => void;
176
+ /**
177
+ * Callback invoked when the attribute value of an external component has changed.
178
+ * @param groupId The ID of the plan object to which the external component is attached.
179
+ * @param moduleId The module ID of the selected external component.
180
+ * @param attrId The id of the changed attribute.
181
+ * @param value The new value of the changed attribute.
182
+ */
183
+ onExternalComponentParameterChanged: (groupId: string, moduleId: string, attrId: string, value: string) => void;
184
+ /**
185
+ * Callback invoked when an external object is created.
186
+ * @param groupId The ID of the new external object.
187
+ * @param configuration The serialized article data Json.
188
+ */
189
+ onExternalPlanObjectCreated: (groupId: string, configuration: string) => void;
190
+ /**
191
+ * Callback invoked when an external object has been changed (undo/redo).
192
+ * @param planObjectId The ID of the plan object to which the external component is attached.
193
+ * @param groupId The ID of the new external object.
194
+ * @param configuration The serialized article data Json.
195
+ */
196
+ onExternalPlanObjectChanged: (groupId: string, configuration: string) => void;
197
+ /**
198
+ * Callback invoked when an external object is deleted.
199
+ * @param groupId The ID of the external object to be removed.
200
+ */
201
+ onExternalPlanObjectRemoved: (articleId: string) => void;
202
+ /**
203
+ * Callback invoked when a root module or sub-module of an external object is deleted.
204
+ * @param groupId The ID of the external object that is the owner of the module.
205
+ * @param moduleId The ID of the module to be removed.
206
+ */
207
+ onExternalPlanComponentRemoved: (groupId: string, moduleId: string) => void;
208
+ /**
209
+ * Callback invoked when a module is added to an external object.
210
+ * @param groupId The ID of the external object to which the module is added.
211
+ * @param parentModuleId The ID of th module to which the module is added. If the new module is a root module, this argument is null.
212
+ * @param moduleName The name of the module to be added. This must be one of the "allowedChildModules" of the parent module.
213
+ */
214
+ onExternalPlanComponentAdded: (groupId: string, parentModuleId: string | null, moduleName: string) => void;
153
215
  /**
154
216
  * This callback is invoked when the context of the planner changes
155
217
  * For example when it switches from planner to configurator, or from planner to viewer
@@ -22,6 +22,8 @@ import type WallPlanElementViewModel from './view-model/wall-plan-element-view-m
22
22
  import type ConfiguratorContext from '../../common-core/src/webgl/configurator-context';
23
23
  import type { PlanObject } from '../../typings/planner';
24
24
  import type IdbManager from '../../common-core/src/services/idb-manager';
25
+ import type { TCProperties, TcAPI } from './roomle-planner-external-object';
26
+ export type ID_TYPE = 'rml_id' | 'tc_id' | 'rml_serialized' | 'tc_serialized';
25
27
  export interface RoomlePlannerCallback {
26
28
  switchToConfigurator: () => Promise<Configurator>;
27
29
  switchToViewer: () => Promise<GlbViewer>;
@@ -57,7 +59,7 @@ export interface BatchPaintMaterial {
57
59
  rgbValue?: number;
58
60
  catalogItemId?: RapiId;
59
61
  }
60
- export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlannerCallback, GlobalAPI, Context, KernelUtilityForUi, ExternalEmbeddable<RoomlePlannerUiCallback>, RubensAPI {
62
+ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlannerCallback, GlobalAPI, Context, KernelUtilityForUi, ExternalEmbeddable<RoomlePlannerUiCallback>, RubensAPI, TcAPI {
61
63
  _creator_: string;
62
64
  private _configuratorContext;
63
65
  private _domHelper;
@@ -222,7 +224,7 @@ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlann
222
224
  * Disable the selection of multiple elements.
223
225
  */
224
226
  disableMultiselect(): void;
225
- dragInObject(id: RapiId, dragEvent: DragEvent): Promise<RuntimeId>;
227
+ dragInObject(idOrSerializedConfigString: string, dragEvent: DragEvent, type?: ID_TYPE): Promise<RuntimeId>;
226
228
  /**
227
229
  * enable snapping of object to object and object to wall
228
230
  */
@@ -338,6 +340,16 @@ export default class RoomlePlanner implements KernelAccessCallbackI, RoomlePlann
338
340
  */
339
341
  preparePerspectiveImageOf(runtimeId: RuntimeId, options?: PrepareImageOptions): Promise<import("../../common-core/src/common-interfaces").Base64Image>;
340
342
  generateTCExport(planObjectIds?: string[]): Promise<any>;
343
+ loadTCProperties(propertiesJson: string | TCProperties): void;
344
+ loadTCMasterData(masterDataJson: string | object): void;
345
+ loadTCArticles(articleJson: string): Promise<void>;
346
+ private _selectKernelComponent;
347
+ removeTCArticle(groupId: string): Promise<void>;
348
+ selectTCModule(groupId: string, moduleId: string): Promise<void>;
349
+ _selectTCArticle(groupId: string, switchToPlanner: boolean): Promise<void>;
350
+ _selectTCModule(groupId: string, moduleId: string, selectPlanObject: boolean, switchToConfigurator: boolean): Promise<void>;
351
+ selectTCArticle(groupId: string): Promise<void>;
352
+ openCloseTCArticle(groupId: string, open: boolean, animate: boolean): Promise<void>;
341
353
  enableMeasurementLineDrawing(): void;
342
354
  disableMeasurementLineDrawing(): void;
343
355
  setObjectToWallMeasurementLength(planElementId: number, measurementId: number, length: number): void;