kitchen-simulator 5.0.0-test.3 → 5.0.0-test.4

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 (694) hide show
  1. package/es/KitchenConfigurator.js +1 -1
  2. package/es/KitchenConfigurator.js.map +1 -1
  3. package/package.json +8 -12
  4. package/src/KitchenConfigurator.jsx +1 -1
  5. package/lib/@history.js +0 -11
  6. package/lib/@history.js.map +0 -1
  7. package/lib/AppContext.js +0 -11
  8. package/lib/AppContext.js.map +0 -1
  9. package/lib/KitchenConfigurator.js +0 -1353
  10. package/lib/KitchenConfigurator.js.map +0 -1
  11. package/lib/KitchenConfiguratorApp.js +0 -539
  12. package/lib/KitchenConfiguratorApp.js.map +0 -1
  13. package/lib/actions/area-actions.js +0 -22
  14. package/lib/actions/area-actions.js.map +0 -1
  15. package/lib/actions/export.js +0 -44
  16. package/lib/actions/export.js.map +0 -1
  17. package/lib/actions/groups-actions.js +0 -108
  18. package/lib/actions/groups-actions.js.map +0 -1
  19. package/lib/actions/holes-actions.js +0 -141
  20. package/lib/actions/holes-actions.js.map +0 -1
  21. package/lib/actions/items-actions.js +0 -365
  22. package/lib/actions/items-actions.js.map +0 -1
  23. package/lib/actions/lines-actions.js +0 -98
  24. package/lib/actions/lines-actions.js.map +0 -1
  25. package/lib/actions/project-actions.js +0 -333
  26. package/lib/actions/project-actions.js.map +0 -1
  27. package/lib/actions/scene-actions.js +0 -44
  28. package/lib/actions/scene-actions.js.map +0 -1
  29. package/lib/actions/user-actions.js +0 -69
  30. package/lib/actions/user-actions.js.map +0 -1
  31. package/lib/actions/vertices-actions.js +0 -36
  32. package/lib/actions/vertices-actions.js.map +0 -1
  33. package/lib/actions/viewer2d-actions.js +0 -74
  34. package/lib/actions/viewer2d-actions.js.map +0 -1
  35. package/lib/actions/viewer3d-actions.js +0 -33
  36. package/lib/actions/viewer3d-actions.js.map +0 -1
  37. package/lib/catalog/areas/area/planner-element.js +0 -47
  38. package/lib/catalog/areas/area/planner-element.js.map +0 -1
  39. package/lib/catalog/catalog.js +0 -283
  40. package/lib/catalog/catalog.js.map +0 -1
  41. package/lib/catalog/factories/area-factory-3d.js +0 -192
  42. package/lib/catalog/factories/area-factory-3d.js.map +0 -1
  43. package/lib/catalog/factories/area-factory.js +0 -90
  44. package/lib/catalog/factories/area-factory.js.map +0 -1
  45. package/lib/catalog/factories/export.js +0 -26
  46. package/lib/catalog/factories/export.js.map +0 -1
  47. package/lib/catalog/factories/wall-factory-3d.js +0 -213
  48. package/lib/catalog/factories/wall-factory-3d.js.map +0 -1
  49. package/lib/catalog/factories/wall-factory.js +0 -279
  50. package/lib/catalog/factories/wall-factory.js.map +0 -1
  51. package/lib/catalog/holes/door-closet/planner-element.js +0 -232
  52. package/lib/catalog/holes/door-closet/planner-element.js.map +0 -1
  53. package/lib/catalog/holes/door-double/planner-element.js +0 -325
  54. package/lib/catalog/holes/door-double/planner-element.js.map +0 -1
  55. package/lib/catalog/holes/door-exterior/planner-element.js +0 -225
  56. package/lib/catalog/holes/door-exterior/planner-element.js.map +0 -1
  57. package/lib/catalog/holes/door-interior/planner-element.js +0 -237
  58. package/lib/catalog/holes/door-interior/planner-element.js.map +0 -1
  59. package/lib/catalog/holes/door-panic/planner-element.js +0 -513
  60. package/lib/catalog/holes/door-panic/planner-element.js.map +0 -1
  61. package/lib/catalog/holes/door-panic-double/planner-element.js +0 -473
  62. package/lib/catalog/holes/door-panic-double/planner-element.js.map +0 -1
  63. package/lib/catalog/holes/door-sliding/planner-element.js +0 -235
  64. package/lib/catalog/holes/door-sliding/planner-element.js.map +0 -1
  65. package/lib/catalog/holes/doorway-framed/planner-element.js +0 -155
  66. package/lib/catalog/holes/doorway-framed/planner-element.js.map +0 -1
  67. package/lib/catalog/holes/doorway-frameless/planner-element.js +0 -114
  68. package/lib/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
  69. package/lib/catalog/holes/window-clear/planner-element.js +0 -176
  70. package/lib/catalog/holes/window-clear/planner-element.js.map +0 -1
  71. package/lib/catalog/holes/window-cross/planner-element.js +0 -175
  72. package/lib/catalog/holes/window-cross/planner-element.js.map +0 -1
  73. package/lib/catalog/holes/window-double-hung/planner-element.js +0 -313
  74. package/lib/catalog/holes/window-double-hung/planner-element.js.map +0 -1
  75. package/lib/catalog/holes/window-vertical/planner-element.js +0 -286
  76. package/lib/catalog/holes/window-vertical/planner-element.js.map +0 -1
  77. package/lib/catalog/lines/wall/planner-element.js +0 -77
  78. package/lib/catalog/lines/wall/planner-element.js.map +0 -1
  79. package/lib/catalog/molding/molding-dcm/planner-element.js +0 -39
  80. package/lib/catalog/molding/molding-dcm/planner-element.js.map +0 -1
  81. package/lib/catalog/molding/molding-fbm/planner-element.js +0 -39
  82. package/lib/catalog/molding/molding-fbm/planner-element.js.map +0 -1
  83. package/lib/catalog/molding/molding-lrm/planner-element.js +0 -39
  84. package/lib/catalog/molding/molding-lrm/planner-element.js.map +0 -1
  85. package/lib/catalog/properties/export.js +0 -82
  86. package/lib/catalog/properties/export.js.map +0 -1
  87. package/lib/catalog/properties/property-checkbox.js +0 -79
  88. package/lib/catalog/properties/property-checkbox.js.map +0 -1
  89. package/lib/catalog/properties/property-color.js +0 -47
  90. package/lib/catalog/properties/property-color.js.map +0 -1
  91. package/lib/catalog/properties/property-enum.js +0 -63
  92. package/lib/catalog/properties/property-enum.js.map +0 -1
  93. package/lib/catalog/properties/property-hidden.js +0 -27
  94. package/lib/catalog/properties/property-hidden.js.map +0 -1
  95. package/lib/catalog/properties/property-lenght-measure.js +0 -109
  96. package/lib/catalog/properties/property-lenght-measure.js.map +0 -1
  97. package/lib/catalog/properties/property-length-measure.js +0 -93
  98. package/lib/catalog/properties/property-length-measure.js.map +0 -1
  99. package/lib/catalog/properties/property-length-measure_hole.js +0 -109
  100. package/lib/catalog/properties/property-length-measure_hole.js.map +0 -1
  101. package/lib/catalog/properties/property-number.js +0 -56
  102. package/lib/catalog/properties/property-number.js.map +0 -1
  103. package/lib/catalog/properties/property-read-only.js +0 -34
  104. package/lib/catalog/properties/property-read-only.js.map +0 -1
  105. package/lib/catalog/properties/property-string.js +0 -56
  106. package/lib/catalog/properties/property-string.js.map +0 -1
  107. package/lib/catalog/properties/property-toggle.js +0 -47
  108. package/lib/catalog/properties/property-toggle.js.map +0 -1
  109. package/lib/catalog/properties/shared-property-style.js +0 -21
  110. package/lib/catalog/properties/shared-property-style.js.map +0 -1
  111. package/lib/catalog/utils/FuseUtils.js +0 -89
  112. package/lib/catalog/utils/FuseUtils.js.map +0 -1
  113. package/lib/catalog/utils/exporter.js +0 -156
  114. package/lib/catalog/utils/exporter.js.map +0 -1
  115. package/lib/catalog/utils/geom-utils.js +0 -206
  116. package/lib/catalog/utils/geom-utils.js.map +0 -1
  117. package/lib/catalog/utils/item-loader.js +0 -1534
  118. package/lib/catalog/utils/item-loader.js.map +0 -1
  119. package/lib/catalog/utils/load-obj.js +0 -100
  120. package/lib/catalog/utils/load-obj.js.map +0 -1
  121. package/lib/catalog/utils/mtl-loader.js +0 -360
  122. package/lib/catalog/utils/mtl-loader.js.map +0 -1
  123. package/lib/catalog/utils/obj-loader.js +0 -479
  124. package/lib/catalog/utils/obj-loader.js.map +0 -1
  125. package/lib/class/FuseUtils.js +0 -89
  126. package/lib/class/FuseUtils.js.map +0 -1
  127. package/lib/class/area.js +0 -151
  128. package/lib/class/area.js.map +0 -1
  129. package/lib/class/export.js +0 -97
  130. package/lib/class/export.js.map +0 -1
  131. package/lib/class/group.js +0 -446
  132. package/lib/class/group.js.map +0 -1
  133. package/lib/class/guide.js +0 -68
  134. package/lib/class/guide.js.map +0 -1
  135. package/lib/class/hole.js +0 -935
  136. package/lib/class/hole.js.map +0 -1
  137. package/lib/class/item.js +0 -1894
  138. package/lib/class/item.js.map +0 -1
  139. package/lib/class/layer.js +0 -673
  140. package/lib/class/layer.js.map +0 -1
  141. package/lib/class/line.js +0 -1296
  142. package/lib/class/line.js.map +0 -1
  143. package/lib/class/project.js +0 -829
  144. package/lib/class/project.js.map +0 -1
  145. package/lib/class/vertex.js +0 -272
  146. package/lib/class/vertex.js.map +0 -1
  147. package/lib/components/atoms/Snackbar/index.js +0 -57
  148. package/lib/components/atoms/Snackbar/index.js.map +0 -1
  149. package/lib/components/atoms/radio-button/index.js +0 -33
  150. package/lib/components/atoms/radio-button/index.js.map +0 -1
  151. package/lib/components/atoms/radio-button/styles.js +0 -12
  152. package/lib/components/atoms/radio-button/styles.js.map +0 -1
  153. package/lib/components/button/MainButton.js +0 -98
  154. package/lib/components/button/MainButton.js.map +0 -1
  155. package/lib/components/button/ToggleMeasureButton.js +0 -63
  156. package/lib/components/button/ToggleMeasureButton.js.map +0 -1
  157. package/lib/components/catalog-view/catalog-breadcrumb.js +0 -61
  158. package/lib/components/catalog-view/catalog-breadcrumb.js.map +0 -1
  159. package/lib/components/catalog-view/catalog-item.js +0 -233
  160. package/lib/components/catalog-view/catalog-item.js.map +0 -1
  161. package/lib/components/catalog-view/catalog-list.js +0 -189
  162. package/lib/components/catalog-view/catalog-list.js.map +0 -1
  163. package/lib/components/catalog-view/catalog-page-item.js +0 -137
  164. package/lib/components/catalog-view/catalog-page-item.js.map +0 -1
  165. package/lib/components/catalog-view/catalog-turn-back-page-item.js +0 -113
  166. package/lib/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
  167. package/lib/components/configurator/custom-configurator.js +0 -101
  168. package/lib/components/configurator/custom-configurator.js.map +0 -1
  169. package/lib/components/configurator/project-configurator.js +0 -138
  170. package/lib/components/configurator/project-configurator.js.map +0 -1
  171. package/lib/components/content.js +0 -132
  172. package/lib/components/content.js.map +0 -1
  173. package/lib/components/export.js +0 -90
  174. package/lib/components/export.js.map +0 -1
  175. package/lib/components/firstsetting/button/styles.js +0 -34
  176. package/lib/components/firstsetting/button/styles.js.map +0 -1
  177. package/lib/components/firstsetting/export.js +0 -16
  178. package/lib/components/firstsetting/export.js.map +0 -1
  179. package/lib/components/firstsetting/firstsetting-content-button.js +0 -224
  180. package/lib/components/firstsetting/firstsetting-content-button.js.map +0 -1
  181. package/lib/components/firstsetting/firstsetting-toggle-button.js +0 -133
  182. package/lib/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
  183. package/lib/components/firstsetting/firstsetting.js +0 -633
  184. package/lib/components/firstsetting/firstsetting.js.map +0 -1
  185. package/lib/components/footerbar/button/ControlButton.js +0 -79
  186. package/lib/components/footerbar/button/ControlButton.js.map +0 -1
  187. package/lib/components/footerbar/button/DirectionButton.js +0 -76
  188. package/lib/components/footerbar/button/DirectionButton.js.map +0 -1
  189. package/lib/components/footerbar/button/DirectionPanSpinButton.js +0 -57
  190. package/lib/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
  191. package/lib/components/footerbar/button/ToggleButton.js +0 -83
  192. package/lib/components/footerbar/button/ToggleButton.js.map +0 -1
  193. package/lib/components/footerbar/button/ToggleConvertButton.js +0 -80
  194. package/lib/components/footerbar/button/ToggleConvertButton.js.map +0 -1
  195. package/lib/components/footerbar/button/ToggleMeasureButton.js +0 -59
  196. package/lib/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
  197. package/lib/components/footerbar/button/styles.js +0 -29
  198. package/lib/components/footerbar/button/styles.js.map +0 -1
  199. package/lib/components/footerbar/export.js +0 -16
  200. package/lib/components/footerbar/export.js.map +0 -1
  201. package/lib/components/footerbar/footer-content-button.js +0 -224
  202. package/lib/components/footerbar/footer-content-button.js.map +0 -1
  203. package/lib/components/footerbar/footer-toggle-button.js +0 -133
  204. package/lib/components/footerbar/footer-toggle-button.js.map +0 -1
  205. package/lib/components/footerbar/footerbar.js +0 -808
  206. package/lib/components/footerbar/footerbar.js.map +0 -1
  207. package/lib/components/footerbar/styles.js +0 -41
  208. package/lib/components/footerbar/styles.js.map +0 -1
  209. package/lib/components/header/button/MenuButton.js +0 -77
  210. package/lib/components/header/button/MenuButton.js.map +0 -1
  211. package/lib/components/header/button/SaveButton.js +0 -57
  212. package/lib/components/header/button/SaveButton.js.map +0 -1
  213. package/lib/components/header/button/styles.js +0 -68
  214. package/lib/components/header/button/styles.js.map +0 -1
  215. package/lib/components/header/export.js +0 -12
  216. package/lib/components/header/export.js.map +0 -1
  217. package/lib/components/header/header.js +0 -556
  218. package/lib/components/header/header.js.map +0 -1
  219. package/lib/components/header/styles.js +0 -47
  220. package/lib/components/header/styles.js.map +0 -1
  221. package/lib/components/login/Login.js +0 -94
  222. package/lib/components/login/Login.js.map +0 -1
  223. package/lib/components/login/LoginForm/index.js +0 -140
  224. package/lib/components/login/LoginForm/index.js.map +0 -1
  225. package/lib/components/login/Register.js +0 -104
  226. package/lib/components/login/Register.js.map +0 -1
  227. package/lib/components/login/RegisterForm/index.js +0 -237
  228. package/lib/components/login/RegisterForm/index.js.map +0 -1
  229. package/lib/components/login/jwtService.js +0 -239
  230. package/lib/components/login/jwtService.js.map +0 -1
  231. package/lib/components/molecules/slider/index.js +0 -22
  232. package/lib/components/molecules/slider/index.js.map +0 -1
  233. package/lib/components/molecules/slider/styles.js +0 -2
  234. package/lib/components/molecules/slider/styles.js.map +0 -1
  235. package/lib/components/myprojects/export.js +0 -12
  236. package/lib/components/myprojects/export.js.map +0 -1
  237. package/lib/components/myprojects/index.js +0 -453
  238. package/lib/components/myprojects/index.js.map +0 -1
  239. package/lib/components/myprojects/styles.js +0 -31
  240. package/lib/components/myprojects/styles.js.map +0 -1
  241. package/lib/components/sidebar/custom-accordion.js +0 -45
  242. package/lib/components/sidebar/custom-accordion.js.map +0 -1
  243. package/lib/components/sidebar/export.js +0 -50
  244. package/lib/components/sidebar/export.js.map +0 -1
  245. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -74
  246. package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
  247. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -124
  248. package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
  249. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -135
  250. package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
  251. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -260
  252. package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
  253. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -84
  254. package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
  255. package/lib/components/sidebar/panel-element-editor/element-editor.js +0 -884
  256. package/lib/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
  257. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
  258. package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
  259. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js +0 -56
  260. package/lib/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
  261. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -125
  262. package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
  263. package/lib/components/sidebar/panel-group-editor.js +0 -218
  264. package/lib/components/sidebar/panel-group-editor.js.map +0 -1
  265. package/lib/components/sidebar/panel-groups.js +0 -274
  266. package/lib/components/sidebar/panel-groups.js.map +0 -1
  267. package/lib/components/sidebar/panel-guides.js +0 -192
  268. package/lib/components/sidebar/panel-guides.js.map +0 -1
  269. package/lib/components/sidebar/panel-layer-elements.js +0 -258
  270. package/lib/components/sidebar/panel-layer-elements.js.map +0 -1
  271. package/lib/components/sidebar/panel-layers.js +0 -347
  272. package/lib/components/sidebar/panel-layers.js.map +0 -1
  273. package/lib/components/sidebar/panel.js +0 -110
  274. package/lib/components/sidebar/panel.js.map +0 -1
  275. package/lib/components/sidebar/sidebar.js +0 -117
  276. package/lib/components/sidebar/sidebar.js.map +0 -1
  277. package/lib/components/sidebar/toolbar-panel.js +0 -171
  278. package/lib/components/sidebar/toolbar-panel.js.map +0 -1
  279. package/lib/components/sign/export.js +0 -18
  280. package/lib/components/sign/export.js.map +0 -1
  281. package/lib/components/sign/main/index.js +0 -567
  282. package/lib/components/sign/main/index.js.map +0 -1
  283. package/lib/components/sign/main/styles.js +0 -27
  284. package/lib/components/sign/main/styles.js.map +0 -1
  285. package/lib/components/style/button.js +0 -121
  286. package/lib/components/style/button.js.map +0 -1
  287. package/lib/components/style/cancel-button.js +0 -30
  288. package/lib/components/style/cancel-button.js.map +0 -1
  289. package/lib/components/style/content-container.js +0 -41
  290. package/lib/components/style/content-container.js.map +0 -1
  291. package/lib/components/style/content-title.js +0 -38
  292. package/lib/components/style/content-title.js.map +0 -1
  293. package/lib/components/style/delete-button.js +0 -35
  294. package/lib/components/style/delete-button.js.map +0 -1
  295. package/lib/components/style/export.js +0 -122
  296. package/lib/components/style/export.js.map +0 -1
  297. package/lib/components/style/form-block.js +0 -32
  298. package/lib/components/style/form-block.js.map +0 -1
  299. package/lib/components/style/form-color-input.js +0 -35
  300. package/lib/components/style/form-color-input.js.map +0 -1
  301. package/lib/components/style/form-label.js +0 -34
  302. package/lib/components/style/form-label.js.map +0 -1
  303. package/lib/components/style/form-number-input.js +0 -197
  304. package/lib/components/style/form-number-input.js.map +0 -1
  305. package/lib/components/style/form-number-input_2.js +0 -214
  306. package/lib/components/style/form-number-input_2.js.map +0 -1
  307. package/lib/components/style/form-select.js +0 -30
  308. package/lib/components/style/form-select.js.map +0 -1
  309. package/lib/components/style/form-slider.js +0 -53
  310. package/lib/components/style/form-slider.js.map +0 -1
  311. package/lib/components/style/form-submit-button.js +0 -36
  312. package/lib/components/style/form-submit-button.js.map +0 -1
  313. package/lib/components/style/form-text-input.js +0 -84
  314. package/lib/components/style/form-text-input.js.map +0 -1
  315. package/lib/components/toolbar/button/ControlButton.js +0 -76
  316. package/lib/components/toolbar/button/ControlButton.js.map +0 -1
  317. package/lib/components/toolbar/button/DirectionButton.js +0 -57
  318. package/lib/components/toolbar/button/DirectionButton.js.map +0 -1
  319. package/lib/components/toolbar/button/RightButton.js +0 -140
  320. package/lib/components/toolbar/button/RightButton.js.map +0 -1
  321. package/lib/components/toolbar/button/ToggleButton.js +0 -66
  322. package/lib/components/toolbar/button/ToggleButton.js.map +0 -1
  323. package/lib/components/toolbar/button/index.js +0 -94
  324. package/lib/components/toolbar/button/index.js.map +0 -1
  325. package/lib/components/toolbar/button/styles.js +0 -21
  326. package/lib/components/toolbar/button/styles.js.map +0 -1
  327. package/lib/components/toolbar/components/DoorStyleMenu.js +0 -112
  328. package/lib/components/toolbar/components/DoorStyleMenu.js.map +0 -1
  329. package/lib/components/toolbar/components/Pricing.js +0 -110
  330. package/lib/components/toolbar/components/Pricing.js.map +0 -1
  331. package/lib/components/toolbar/components/ReviewForQuote.js +0 -485
  332. package/lib/components/toolbar/components/ReviewForQuote.js.map +0 -1
  333. package/lib/components/toolbar/export.js +0 -50
  334. package/lib/components/toolbar/export.js.map +0 -1
  335. package/lib/components/toolbar/main/Alert.js +0 -132
  336. package/lib/components/toolbar/main/Alert.js.map +0 -1
  337. package/lib/components/toolbar/main/TakePictureModal.js +0 -109
  338. package/lib/components/toolbar/main/TakePictureModal.js.map +0 -1
  339. package/lib/components/toolbar/main/confirm-popup.js +0 -95
  340. package/lib/components/toolbar/main/confirm-popup.js.map +0 -1
  341. package/lib/components/toolbar/main/index.js +0 -4619
  342. package/lib/components/toolbar/main/index.js.map +0 -1
  343. package/lib/components/toolbar/main/myComponents.js +0 -125
  344. package/lib/components/toolbar/main/myComponents.js.map +0 -1
  345. package/lib/components/toolbar/main/styles.js +0 -73
  346. package/lib/components/toolbar/main/styles.js.map +0 -1
  347. package/lib/components/toolbar/plugin-item.js +0 -156
  348. package/lib/components/toolbar/plugin-item.js.map +0 -1
  349. package/lib/components/toolbar/popup/appliance/appliance-category/index.js +0 -86
  350. package/lib/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
  351. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js +0 -85
  352. package/lib/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
  353. package/lib/components/toolbar/popup/appliance/index.js +0 -89
  354. package/lib/components/toolbar/popup/appliance/index.js.map +0 -1
  355. package/lib/components/toolbar/popup/autosaveprompt/index.js +0 -99
  356. package/lib/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
  357. package/lib/components/toolbar/popup/autosaveprompt/styles.js +0 -16
  358. package/lib/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
  359. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -86
  360. package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
  361. package/lib/components/toolbar/popup/cabinet/choose-product/index.js +0 -107
  362. package/lib/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
  363. package/lib/components/toolbar/popup/cabinet/index.js +0 -91
  364. package/lib/components/toolbar/popup/cabinet/index.js.map +0 -1
  365. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js +0 -59
  366. package/lib/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
  367. package/lib/components/toolbar/popup/doorStyle/index.js +0 -68
  368. package/lib/components/toolbar/popup/doorStyle/index.js.map +0 -1
  369. package/lib/components/toolbar/popup/doorStyle/style-category/index.js +0 -152
  370. package/lib/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
  371. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -9
  372. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
  373. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -128
  374. package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
  375. package/lib/components/toolbar/popup/downloadsummary/index.js +0 -572
  376. package/lib/components/toolbar/popup/downloadsummary/index.js.map +0 -1
  377. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -60
  378. package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
  379. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -200
  380. package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
  381. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -254
  382. package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
  383. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1762
  384. package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
  385. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -96
  386. package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
  387. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -125
  388. package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
  389. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1713
  390. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
  391. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -184
  392. package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
  393. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js +0 -115
  394. package/lib/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
  395. package/lib/components/toolbar/popup/downloadsummary/styles.js +0 -47
  396. package/lib/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
  397. package/lib/components/toolbar/popup/finishingtouch/category/index.js +0 -44
  398. package/lib/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
  399. package/lib/components/toolbar/popup/finishingtouch/index.js +0 -54
  400. package/lib/components/toolbar/popup/finishingtouch/index.js.map +0 -1
  401. package/lib/components/toolbar/popup/finishingtouch/material-edit.js +0 -163
  402. package/lib/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
  403. package/lib/components/toolbar/popup/finishingtouch/product/index.js +0 -65
  404. package/lib/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
  405. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -124
  406. package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
  407. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js +0 -255
  408. package/lib/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
  409. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -20
  410. package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
  411. package/lib/components/toolbar/popup/floorplan/floor-category/index.js +0 -99
  412. package/lib/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
  413. package/lib/components/toolbar/popup/floorplan/index.js +0 -56
  414. package/lib/components/toolbar/popup/floorplan/index.js.map +0 -1
  415. package/lib/components/toolbar/popup/index.js +0 -195
  416. package/lib/components/toolbar/popup/index.js.map +0 -1
  417. package/lib/components/toolbar/popup/newproject/index.js +0 -75
  418. package/lib/components/toolbar/popup/newproject/index.js.map +0 -1
  419. package/lib/components/toolbar/popup/newproject/styles.js +0 -16
  420. package/lib/components/toolbar/popup/newproject/styles.js.map +0 -1
  421. package/lib/components/toolbar/popup/product/appliance.js +0 -73
  422. package/lib/components/toolbar/popup/product/appliance.js.map +0 -1
  423. package/lib/components/toolbar/popup/product/cabinetproduct.js +0 -33
  424. package/lib/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
  425. package/lib/components/toolbar/popup/product/doorstyle.js +0 -59
  426. package/lib/components/toolbar/popup/product/doorstyle.js.map +0 -1
  427. package/lib/components/toolbar/popup/product/doorstyleproduct.js +0 -59
  428. package/lib/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
  429. package/lib/components/toolbar/popup/product/floor.js +0 -59
  430. package/lib/components/toolbar/popup/product/floor.js.map +0 -1
  431. package/lib/components/toolbar/popup/product/floorproduct.js +0 -68
  432. package/lib/components/toolbar/popup/product/floorproduct.js.map +0 -1
  433. package/lib/components/toolbar/popup/product/index.js +0 -59
  434. package/lib/components/toolbar/popup/product/index.js.map +0 -1
  435. package/lib/components/toolbar/popup/product/primary.js +0 -71
  436. package/lib/components/toolbar/popup/product/primary.js.map +0 -1
  437. package/lib/components/toolbar/popup/product/productline.js +0 -128
  438. package/lib/components/toolbar/popup/product/productline.js.map +0 -1
  439. package/lib/components/toolbar/popup/product/reviewItem.js +0 -346
  440. package/lib/components/toolbar/popup/product/reviewItem.js.map +0 -1
  441. package/lib/components/toolbar/popup/product/reviewMolding.js +0 -291
  442. package/lib/components/toolbar/popup/product/reviewMolding.js.map +0 -1
  443. package/lib/components/toolbar/popup/product/styles.js +0 -79
  444. package/lib/components/toolbar/popup/product/styles.js.map +0 -1
  445. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js +0 -169
  446. package/lib/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
  447. package/lib/components/toolbar/popup/savedesign/index.js +0 -516
  448. package/lib/components/toolbar/popup/savedesign/index.js.map +0 -1
  449. package/lib/components/toolbar/popup/savedesign/styles.js +0 -26
  450. package/lib/components/toolbar/popup/savedesign/styles.js.map +0 -1
  451. package/lib/components/toolbar/popup/setDoorStyleOption/index.js +0 -64
  452. package/lib/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
  453. package/lib/components/toolbar/popup/styles.js +0 -104
  454. package/lib/components/toolbar/popup/styles.js.map +0 -1
  455. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -166
  456. package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
  457. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -93
  458. package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
  459. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -45
  460. package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
  461. package/lib/components/toolbar/popup/submitforquote/StepDots.js +0 -40
  462. package/lib/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
  463. package/lib/components/toolbar/popup/submitforquote/cart-choice.js +0 -141
  464. package/lib/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
  465. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -50
  466. package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
  467. package/lib/components/toolbar/popup/submitforquote/index.js +0 -698
  468. package/lib/components/toolbar/popup/submitforquote/index.js.map +0 -1
  469. package/lib/components/toolbar/popup/submitforquote/styles.js +0 -38
  470. package/lib/components/toolbar/popup/submitforquote/styles.js.map +0 -1
  471. package/lib/components/toolbar/popup/submitprompt/index.js +0 -79
  472. package/lib/components/toolbar/popup/submitprompt/index.js.map +0 -1
  473. package/lib/components/toolbar/popup/submitprompt/styles.js +0 -16
  474. package/lib/components/toolbar/popup/submitprompt/styles.js.map +0 -1
  475. package/lib/components/toolbar/toolbar-button.js +0 -111
  476. package/lib/components/toolbar/toolbar-button.js.map +0 -1
  477. package/lib/components/toolbar/toolbar-load-button.js +0 -36
  478. package/lib/components/toolbar/toolbar-load-button.js.map +0 -1
  479. package/lib/components/toolbar/toolbar-save-button.js +0 -34
  480. package/lib/components/toolbar/toolbar-save-button.js.map +0 -1
  481. package/lib/components/tutorial-view/Modal.js +0 -503
  482. package/lib/components/tutorial-view/Modal.js.map +0 -1
  483. package/lib/components/tutorial-view/styles.js +0 -13
  484. package/lib/components/tutorial-view/styles.js.map +0 -1
  485. package/lib/components/viewer2d/area.js +0 -90
  486. package/lib/components/viewer2d/area.js.map +0 -1
  487. package/lib/components/viewer2d/export.js +0 -122
  488. package/lib/components/viewer2d/export.js.map +0 -1
  489. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -45
  490. package/lib/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
  491. package/lib/components/viewer2d/grids/grid-streak.js +0 -45
  492. package/lib/components/viewer2d/grids/grid-streak.js.map +0 -1
  493. package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -45
  494. package/lib/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
  495. package/lib/components/viewer2d/grids/grids.js +0 -45
  496. package/lib/components/viewer2d/grids/grids.js.map +0 -1
  497. package/lib/components/viewer2d/group.js +0 -63
  498. package/lib/components/viewer2d/group.js.map +0 -1
  499. package/lib/components/viewer2d/item.js +0 -522
  500. package/lib/components/viewer2d/item.js.map +0 -1
  501. package/lib/components/viewer2d/layer.js +0 -172
  502. package/lib/components/viewer2d/layer.js.map +0 -1
  503. package/lib/components/viewer2d/line.js +0 -899
  504. package/lib/components/viewer2d/line.js.map +0 -1
  505. package/lib/components/viewer2d/ruler.js +0 -108
  506. package/lib/components/viewer2d/ruler.js.map +0 -1
  507. package/lib/components/viewer2d/rulerDist.js +0 -154
  508. package/lib/components/viewer2d/rulerDist.js.map +0 -1
  509. package/lib/components/viewer2d/rulerX.js +0 -159
  510. package/lib/components/viewer2d/rulerX.js.map +0 -1
  511. package/lib/components/viewer2d/rulerY.js +0 -161
  512. package/lib/components/viewer2d/rulerY.js.map +0 -1
  513. package/lib/components/viewer2d/scene.js +0 -148
  514. package/lib/components/viewer2d/scene.js.map +0 -1
  515. package/lib/components/viewer2d/snap.js +0 -84
  516. package/lib/components/viewer2d/snap.js.map +0 -1
  517. package/lib/components/viewer2d/state.js +0 -88
  518. package/lib/components/viewer2d/state.js.map +0 -1
  519. package/lib/components/viewer2d/utils.js +0 -174
  520. package/lib/components/viewer2d/utils.js.map +0 -1
  521. package/lib/components/viewer2d/vertex.js +0 -76
  522. package/lib/components/viewer2d/vertex.js.map +0 -1
  523. package/lib/components/viewer2d/viewer2d.js +0 -1409
  524. package/lib/components/viewer2d/viewer2d.js.map +0 -1
  525. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2598
  526. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
  527. package/lib/components/viewer3d/dcm.js +0 -408
  528. package/lib/components/viewer3d/dcm.js.map +0 -1
  529. package/lib/components/viewer3d/fbm.js +0 -421
  530. package/lib/components/viewer3d/fbm.js.map +0 -1
  531. package/lib/components/viewer3d/front3D.js +0 -76
  532. package/lib/components/viewer3d/front3D.js.map +0 -1
  533. package/lib/components/viewer3d/grid-creator.js +0 -35
  534. package/lib/components/viewer3d/grid-creator.js.map +0 -1
  535. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -45
  536. package/lib/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
  537. package/lib/components/viewer3d/grids/grid-streak.js +0 -36
  538. package/lib/components/viewer3d/grids/grid-streak.js.map +0 -1
  539. package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -45
  540. package/lib/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
  541. package/lib/components/viewer3d/libs/first-person-controls.js +0 -75
  542. package/lib/components/viewer3d/libs/first-person-controls.js.map +0 -1
  543. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1288
  544. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
  545. package/lib/components/viewer3d/libs/mtl-loader.js +0 -360
  546. package/lib/components/viewer3d/libs/mtl-loader.js.map +0 -1
  547. package/lib/components/viewer3d/libs/obj-loader.js +0 -465
  548. package/lib/components/viewer3d/libs/obj-loader.js.map +0 -1
  549. package/lib/components/viewer3d/libs/orbit-controls.js +0 -701
  550. package/lib/components/viewer3d/libs/orbit-controls.js.map +0 -1
  551. package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -48
  552. package/lib/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
  553. package/lib/components/viewer3d/lrm.js +0 -312
  554. package/lib/components/viewer3d/lrm.js.map +0 -1
  555. package/lib/components/viewer3d/model.js +0 -715
  556. package/lib/components/viewer3d/model.js.map +0 -1
  557. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -123
  558. package/lib/components/viewer3d/pointer-lock-navigation.js.map +0 -1
  559. package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -69
  560. package/lib/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
  561. package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -503
  562. package/lib/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
  563. package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -235
  564. package/lib/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
  565. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -70
  566. package/lib/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
  567. package/lib/components/viewer3d/ruler-utils/state3D.js +0 -26
  568. package/lib/components/viewer3d/ruler-utils/state3D.js.map +0 -1
  569. package/lib/components/viewer3d/scene-creator.js +0 -3641
  570. package/lib/components/viewer3d/scene-creator.js.map +0 -1
  571. package/lib/components/viewer3d/three-memory-cleaner.js +0 -61
  572. package/lib/components/viewer3d/three-memory-cleaner.js.map +0 -1
  573. package/lib/components/viewer3d/viewer3d-first-person.js +0 -321
  574. package/lib/components/viewer3d/viewer3d-first-person.js.map +0 -1
  575. package/lib/components/viewer3d/viewer3d.js +0 -2508
  576. package/lib/components/viewer3d/viewer3d.js.map +0 -1
  577. package/lib/components/wizardstep/button/styles.js +0 -67
  578. package/lib/components/wizardstep/button/styles.js.map +0 -1
  579. package/lib/components/wizardstep/export.js +0 -12
  580. package/lib/components/wizardstep/export.js.map +0 -1
  581. package/lib/components/wizardstep/index.js +0 -978
  582. package/lib/components/wizardstep/index.js.map +0 -1
  583. package/lib/components/wizardstep/styles.js +0 -68
  584. package/lib/components/wizardstep/styles.js.map +0 -1
  585. package/lib/components/wizardstep/wizardstep-content-button.js +0 -224
  586. package/lib/components/wizardstep/wizardstep-content-button.js.map +0 -1
  587. package/lib/components/wizardstep/wizardstep-toggle-button.js +0 -133
  588. package/lib/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
  589. package/lib/constants.js +0 -646
  590. package/lib/constants.js.map +0 -1
  591. package/lib/hooks/useCheckCart.js +0 -60
  592. package/lib/hooks/useCheckCart.js.map +0 -1
  593. package/lib/hooks/useGetPricesBySku.js +0 -81
  594. package/lib/hooks/useGetPricesBySku.js.map +0 -1
  595. package/lib/hooks/useValidateToken.js +0 -207
  596. package/lib/hooks/useValidateToken.js.map +0 -1
  597. package/lib/index.js +0 -102
  598. package/lib/index.js.map +0 -1
  599. package/lib/models.js +0 -518
  600. package/lib/models.js.map +0 -1
  601. package/lib/plugins/SVGLoader.js +0 -1418
  602. package/lib/plugins/SVGLoader.js.map +0 -1
  603. package/lib/plugins/autosave.js +0 -40
  604. package/lib/plugins/autosave.js.map +0 -1
  605. package/lib/plugins/console-debugger.js +0 -45
  606. package/lib/plugins/console-debugger.js.map +0 -1
  607. package/lib/plugins/export.js +0 -34
  608. package/lib/plugins/export.js.map +0 -1
  609. package/lib/plugins/keyboard.js +0 -108
  610. package/lib/plugins/keyboard.js.map +0 -1
  611. package/lib/reducers/areas-reducer.js +0 -19
  612. package/lib/reducers/areas-reducer.js.map +0 -1
  613. package/lib/reducers/export.js +0 -98
  614. package/lib/reducers/export.js.map +0 -1
  615. package/lib/reducers/groups-reducer.js +0 -45
  616. package/lib/reducers/groups-reducer.js.map +0 -1
  617. package/lib/reducers/holes-reducer.js +0 -69
  618. package/lib/reducers/holes-reducer.js.map +0 -1
  619. package/lib/reducers/items-reducer.js +0 -147
  620. package/lib/reducers/items-reducer.js.map +0 -1
  621. package/lib/reducers/lines-reducer.js +0 -52
  622. package/lib/reducers/lines-reducer.js.map +0 -1
  623. package/lib/reducers/project-reducer.js +0 -136
  624. package/lib/reducers/project-reducer.js.map +0 -1
  625. package/lib/reducers/reducer.js +0 -27
  626. package/lib/reducers/reducer.js.map +0 -1
  627. package/lib/reducers/scene-reducer.js +0 -35
  628. package/lib/reducers/scene-reducer.js.map +0 -1
  629. package/lib/reducers/user-reducer.js +0 -48
  630. package/lib/reducers/user-reducer.js.map +0 -1
  631. package/lib/reducers/vertices-reducer.js +0 -26
  632. package/lib/reducers/vertices-reducer.js.map +0 -1
  633. package/lib/reducers/viewer2d-reducer.js +0 -83
  634. package/lib/reducers/viewer2d-reducer.js.map +0 -1
  635. package/lib/reducers/viewer3d-reducer.js +0 -64
  636. package/lib/reducers/viewer3d-reducer.js.map +0 -1
  637. package/lib/shared-style.js +0 -73
  638. package/lib/shared-style.js.map +0 -1
  639. package/lib/styles/export.js +0 -14
  640. package/lib/styles/export.js.map +0 -1
  641. package/lib/translator/en.js +0 -111
  642. package/lib/translator/en.js.map +0 -1
  643. package/lib/translator/it.js +0 -86
  644. package/lib/translator/it.js.map +0 -1
  645. package/lib/translator/ru.js +0 -86
  646. package/lib/translator/ru.js.map +0 -1
  647. package/lib/translator/translator.js +0 -91
  648. package/lib/translator/translator.js.map +0 -1
  649. package/lib/utils/browser.js +0 -41
  650. package/lib/utils/browser.js.map +0 -1
  651. package/lib/utils/email-validator.js +0 -11
  652. package/lib/utils/email-validator.js.map +0 -1
  653. package/lib/utils/export.js +0 -57
  654. package/lib/utils/export.js.map +0 -1
  655. package/lib/utils/geometry.js +0 -2329
  656. package/lib/utils/geometry.js.map +0 -1
  657. package/lib/utils/get-edges-of-subgraphs.js +0 -29
  658. package/lib/utils/get-edges-of-subgraphs.js.map +0 -1
  659. package/lib/utils/graph-cycles.js +0 -241
  660. package/lib/utils/graph-cycles.js.map +0 -1
  661. package/lib/utils/graph-inner-cycles.js +0 -55
  662. package/lib/utils/graph-inner-cycles.js.map +0 -1
  663. package/lib/utils/graph.js +0 -152
  664. package/lib/utils/graph.js.map +0 -1
  665. package/lib/utils/helper.js +0 -360
  666. package/lib/utils/helper.js.map +0 -1
  667. package/lib/utils/history.js +0 -37
  668. package/lib/utils/history.js.map +0 -1
  669. package/lib/utils/id-broker.js +0 -26
  670. package/lib/utils/id-broker.js.map +0 -1
  671. package/lib/utils/logger.js +0 -15
  672. package/lib/utils/logger.js.map +0 -1
  673. package/lib/utils/math.js +0 -58
  674. package/lib/utils/math.js.map +0 -1
  675. package/lib/utils/molding.js +0 -864
  676. package/lib/utils/molding.js.map +0 -1
  677. package/lib/utils/name-generator.js +0 -24
  678. package/lib/utils/name-generator.js.map +0 -1
  679. package/lib/utils/objects-utils.js +0 -61
  680. package/lib/utils/objects-utils.js.map +0 -1
  681. package/lib/utils/phone-validator.js +0 -11
  682. package/lib/utils/phone-validator.js.map +0 -1
  683. package/lib/utils/process-black-list.js +0 -25
  684. package/lib/utils/process-black-list.js.map +0 -1
  685. package/lib/utils/react-if.js +0 -25
  686. package/lib/utils/react-if.js.map +0 -1
  687. package/lib/utils/snap-scene.js +0 -106
  688. package/lib/utils/snap-scene.js.map +0 -1
  689. package/lib/utils/snap.js +0 -250
  690. package/lib/utils/snap.js.map +0 -1
  691. package/lib/utils/threeCSG.es6.js +0 -504
  692. package/lib/utils/threeCSG.es6.js.map +0 -1
  693. package/lib/version.js +0 -8
  694. package/lib/version.js.map +0 -1
@@ -1,1713 +0,0 @@
1
- 'use strict';
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _reactDom = _interopRequireDefault(require("react-dom"));
11
- var Three = _interopRequireWildcard(require("three"));
12
- var _sceneCreator = require("../../../../viewer3d/scene-creator");
13
- var _threeMemoryCleaner = require("../../../../viewer3d/three-memory-cleaner");
14
- var _immutablediff = _interopRequireDefault(require("immutablediff"));
15
- var SharedStyle = _interopRequireWildcard(require("../../../../../shared-style"));
16
- var _constants = require("../../../../../constants");
17
- var _util = require("util");
18
- var _geometry = require("../../../../../utils/geometry");
19
- var _convertUnits = _interopRequireDefault(require("convert-units"));
20
- var _export = require("../../../../../utils/export");
21
- var _RGBELoader = require("three/examples/jsm/loaders/RGBELoader");
22
- var _cameraControls = _interopRequireDefault(require("camera-controls"));
23
- var _utils = require("../../../../viewer2d/utils");
24
- var _objectsUtils = require("../../../../../utils/objects-utils");
25
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
27
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
30
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
31
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
32
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
33
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
34
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
35
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
36
- function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
37
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
38
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
39
- function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
40
- function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
41
- function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
42
- _cameraControls["default"].install({
43
- THREE: Three
44
- });
45
- var Viewer3DElevationDownload = exports["default"] = /*#__PURE__*/function (_React$Component) {
46
- function Viewer3DElevationDownload(props) {
47
- var _this;
48
- _classCallCheck(this, Viewer3DElevationDownload);
49
- _this = _callSuper(this, Viewer3DElevationDownload, [props]);
50
- _this.state = {
51
- isLoading: false,
52
- showflag: true,
53
- toolObj: null,
54
- angleObj: null,
55
- waitForRender: 0
56
- };
57
- _this.lastMousePosition = {};
58
- _this.width = props.width;
59
- _this.height = props.height;
60
- _this.renderingID = 0;
61
- var mode = props.state.mode;
62
- if (!window.__elevationRendererDownload) {
63
- window.__elevationRendererDownload = {};
64
- }
65
- _this.renderer = window.__threeRendererDownload || window.__elevationRendererDownload[mode] || new Three.WebGLRenderer({
66
- preserveDrawingBuffer: true,
67
- alpha: true,
68
- antialias: true
69
- });
70
- _this.renderer.shadowMap.enabled = true;
71
- _this.renderer.shadowMapSoft = true;
72
- if (mode == 'MODE_3D_VIEW') {
73
- window.__threeRendererDownload = _this.renderer;
74
- } else {
75
- window.__elevationRendererDownload[mode] = _this.renderer;
76
- }
77
- _this.renderer.domElement.style.display = 'none';
78
- return _this;
79
- }
80
- _inherits(Viewer3DElevationDownload, _React$Component);
81
- return _createClass(Viewer3DElevationDownload, [{
82
- key: "componentDidMount",
83
- value: function componentDidMount(nextProps) {
84
- var _this2 = this;
85
- var scene3D, camera, pivot, cameraControls, clock;
86
- var actions = {
87
- areaActions: this.context.areaActions,
88
- holesActions: this.context.holesActions,
89
- itemsActions: this.context.itemsActions,
90
- sceneActions: this.context.sceneActions,
91
- linesActions: this.context.linesActions,
92
- projectActions: this.context.projectActions,
93
- catalog: this.context.catalog
94
- };
95
- var self = this;
96
- var state = this.props.state;
97
- var mode = state.mode,
98
- scene = state.scene;
99
- function setupLight(scene, inbBox) {
100
- if (_constants.ARRAY_ELEVATION_VIEW_MODES.includes(mode)) {
101
- var ambilight = new Three.AmbientLight('0xffffff', 3);
102
- scene.add(ambilight);
103
- } else {
104
- var addDirLight = function addDirLight(inColor, inIntensity, inPosition) {
105
- var dirLight = new Three.DirectionalLight(inColor, inIntensity);
106
- dirLight.castShadow = true;
107
- dirLight.shadow.mapSize.x = shadowMapSize;
108
- dirLight.shadow.mapSize.y = shadowMapSize;
109
- dirLight.shadow.camera.near = 0;
110
- dirLight.shadow.camera.far = shadowCameraFar;
111
- dirLight.shadow.camera.top = shadowCameraSize * 1.5;
112
- dirLight.shadow.camera.bottom = -shadowCameraSize * 1.5;
113
- dirLight.shadow.camera.left = -shadowCameraSize * 1.5;
114
- dirLight.shadow.camera.right = shadowCameraSize * 1.5;
115
- dirLight.position.copy(inPosition);
116
- var targetObject = new Three.Object3D();
117
- targetObject.position.copy(bboxCenter);
118
- scene.add(targetObject);
119
- dirLight.target = targetObject;
120
- dirLight.target.updateMatrixWorld();
121
- scene.add(dirLight);
122
- };
123
- var addSpotLight = function addSpotLight(inColor, inIntensity, inPosition, inTarget, inDistance) {
124
- var spotLight = new Three.SpotLight();
125
- spotLight.intensity = inIntensity;
126
- spotLight.color.setHex(inColor);
127
- spotLight.position.copy(inPosition);
128
- spotLight.angle = 1.3;
129
- spotLight.distance = inDistance;
130
- spotLight.penumbra = 1.8;
131
- spotLight.decay = 0.01;
132
- spotLight.castShadow = true;
133
- spotLight.shadow.intensity = 2;
134
- spotLight.shadow.mapSize.width = 4096;
135
- spotLight.shadow.mapSize.height = 4096;
136
- var targetObject = new Three.Object3D();
137
- targetObject.position.copy(new Three.Vector3(inTarget.x, 0, inTarget.z));
138
- scene.add(targetObject);
139
- spotLight.target = targetObject;
140
- spotLight.target.updateMatrixWorld();
141
- scene.add(spotLight);
142
- };
143
- var shadowMapSize = 2048;
144
- var shadowCameraSize = Math.max(Math.abs(inbBox.min.x - inbBox.max.x), Math.abs(inbBox.min.y - inbBox.max.y), Math.abs(inbBox.min.z - inbBox.max.z)) / 2;
145
- var shadowCameraFar = shadowCameraSize * 10;
146
- var bboxCenter = new Three.Vector3((inbBox.min.x + inbBox.max.x) / 2, inbBox.min.y, (inbBox.min.z + inbBox.max.z) / 2);
147
- var dirLightPos = new Three.Vector3(inbBox.max.x, inbBox.max.y + 1.8 * Math.abs(inbBox.max.y - inbBox.min.y), inbBox.min.z - 0.5 * Math.abs(inbBox.max.z - inbBox.min.z));
148
- addDirLight('white', 1.5, dirLightPos);
149
- var ceiling = scene3D.getObjectByName('ceil');
150
- if (ceiling) {
151
- var ceilBBox = new Three.Box3().setFromObject(ceiling);
152
- var spot1 = new Three.Vector3(ceilBBox.min.x + Math.abs(ceilBBox.min.x - ceilBBox.max.x) / 4, ceilBBox.max.y - 0.5, ceilBBox.min.z + Math.abs(ceilBBox.min.z - inbBox.max.z) / 4);
153
- var spot2 = new Three.Vector3(ceilBBox.min.x + Math.abs(ceilBBox.min.x - ceilBBox.max.x) / 4, ceilBBox.max.y - 0.5, ceilBBox.max.z - Math.abs(ceilBBox.min.z - ceilBBox.max.z) / 4);
154
- var spot3 = new Three.Vector3(ceilBBox.max.x - Math.abs(ceilBBox.min.x - ceilBBox.max.x) / 4, ceilBBox.max.y - 0.5, ceilBBox.min.z + Math.abs(ceilBBox.min.z - ceilBBox.max.z) / 4);
155
- var spot4 = new Three.Vector3(ceilBBox.max.x - Math.abs(ceilBBox.min.x - ceilBBox.max.x) / 4, ceilBBox.max.y - 0.5, ceilBBox.max.z - Math.abs(ceilBBox.min.z - ceilBBox.max.z) / 4);
156
- var spotlightDis = 1.5 * Math.abs(inbBox.min.y - inbBox.max.y);
157
-
158
- // check if spotlight is inside the room
159
- (0, _objectsUtils.vectorIntersectWithMesh)(spot1, scene3D.getObjectByName('floor')) && addSpotLight('0xffffff', 0.8, spot1, spot1, spotlightDis);
160
- (0, _objectsUtils.vectorIntersectWithMesh)(spot2, scene3D.getObjectByName('floor')) && addSpotLight('0xffffff', 0.8, spot2, spot2, spotlightDis);
161
- (0, _objectsUtils.vectorIntersectWithMesh)(spot3, scene3D.getObjectByName('floor')) && addSpotLight('0xffffff', 0.8, spot3, spot3, spotlightDis);
162
- (0, _objectsUtils.vectorIntersectWithMesh)(spot4, scene3D.getObjectByName('floor')) && addSpotLight('0xffffff', 0.8, spot4, spot4, spotlightDis);
163
- }
164
- }
165
- }
166
-
167
- // Load data
168
- this.setState({
169
- isLoading: true,
170
- waitForRender: 0
171
- });
172
- this.props.setIsLoading3D(true);
173
- var _parseData = (0, _sceneCreator.parseData)(scene, actions, this.context.catalog, camera, this.renderer, state.mode),
174
- promise = _parseData.promise,
175
- planData = _parseData.planData;
176
- promise.then(function () {
177
- var objToRemove = [];
178
- planData.plan.traverse(function (obj) {
179
- if (obj.geometry === null) {
180
- objToRemove.push(obj);
181
- }
182
- });
183
- objToRemove.forEach(function (obj) {
184
- obj.removeFromParent();
185
- });
186
- var bbox = new Three.Box3().setFromObject(planData.plan);
187
- if (!_constants.ARRAY_ELEVATION_VIEW_MODES.includes(state.mode)) {
188
- //cameraControls.fitToBox(bbox, true);
189
- if (cameraControls) {
190
- var radius = 400; // Distance from target
191
- var angleInDegrees = 5;
192
- var angleInRadians = angleInDegrees * Math.PI / 180;
193
-
194
- // Calculate a position angleInDegrees to the right on the horizontal circle
195
- var eyeX = Math.sin(angleInRadians) * radius;
196
- var eyeZ = Math.cos(angleInRadians) * radius;
197
- cameraControls.setLookAt(eyeX, 0, eyeZ, 0, 0, 0); // Set camera with Y elevation
198
- }
199
- }
200
- setupLight(scene3D, planData.boundingBox);
201
- self.setState({
202
- waitForRender: 1
203
- });
204
- });
205
- var area = scene.getIn(['layers', scene.selectedLayer, 'areas']);
206
- var layer = scene.getIn(['layers', scene.selectedLayer]);
207
- var areas = [],
208
- lights = [];
209
- var snapBox = null;
210
-
211
- // Check for data
212
- var msg = '';
213
- scene.layers.forEach(function (layer) {
214
- if (layer.id === scene.selectedLayer || layer.visible) {
215
- layer.items.forEach(function (item) {
216
- if (item.doorStyle === null) {
217
- if (!msg.includes(item.name + "'s doorStyle is null.")) msg += item.name + "'s doorStyle is null.\n";
218
- }
219
- });
220
- }
221
- });
222
- if (msg !== '') {
223
- confirm(msg);
224
- }
225
- init();
226
- render();
227
- area.forEach(function (data) {
228
- areas.push(data);
229
- });
230
- var _loop = function _loop() {
231
- var aVertices = [];
232
- var lines = [];
233
- var height = 100;
234
- areas[i].vertices.forEach(function (data) {
235
- aVertices.push(data);
236
- });
237
- layer.lines.forEach(function (data) {
238
- lines.push(data);
239
- });
240
- var _loop3 = function _loop3() {
241
- var data = lines[_i11];
242
- var realVec = [];
243
- data.vertices.forEach(function (vec) {
244
- realVec.push(vec);
245
- });
246
- if (aVertices.includes(realVec[0]) && aVertices.includes(realVec[1])) {
247
- height = (0, _convertUnits["default"])(layer.ceilHeight).from(layer.unit).to(_constants.UNIT_CENTIMETER);
248
- // height = data.properties.getIn(['height', 'length']);
249
- return 1; // break
250
- }
251
- };
252
- for (var _i11 = 0; _i11 < lines.length; _i11++) {
253
- if (_loop3()) break;
254
- }
255
- var vertices = [];
256
- areas[i].vertices.forEach(function (datas) {
257
- var vertex = scene.getIn(['layers', scene.selectedLayer, 'vertices', datas]);
258
- vertices.push(vertex);
259
- });
260
- vertices.push(vertices[0]);
261
- var fLen = vertices.length - 1;
262
- for (var _i12 = 0; _i12 < fLen; _i12++) {
263
- var sX = vertices[_i12].x;
264
- var sY = vertices[_i12].y;
265
- var eX = vertices[_i12 + 1].x;
266
- var eY = vertices[_i12 + 1].y;
267
- var len = Math.sqrt((eX - sX) * (eX - sX) + (eY - sY) * (eY - sY));
268
- for (var cLen = 200; cLen < len; cLen += 200) {
269
- var cX = sX + (eX - sX) * cLen / len;
270
- var cY = sY + (eY - sY) * cLen / len;
271
- var endLen = Math.sqrt((eX - cX) * (eX - cX) + (eY - cY) * (eY - cY));
272
- if (endLen <= 100) continue;
273
- var vec2 = new Three.Vector2(cX - sX, cY - sY);
274
- var angle = vec2.angle() + Math.PI / 2;
275
- cX = Math.cos(angle) * 30 + cX;
276
- cY = Math.sin(angle) * 30 + cY;
277
- var spotLight = new Three.SpotLight(0xeeeeee, 1.7);
278
- spotLight.angle = 0.76;
279
- spotLight.castShadow = true;
280
- spotLight.penumbra = 1;
281
- spotLight.decay = 1.7;
282
- spotLight.distance = height - 20;
283
- var target = new Three.Object3D();
284
- spotLight.target = target;
285
- lights.push({
286
- light: spotLight,
287
- target: target,
288
- x: cX,
289
- y: cY,
290
- height: height
291
- });
292
- }
293
- }
294
- };
295
- for (var i = 0; i < areas.length; i++) {
296
- _loop();
297
- }
298
- // //////////////////////////
299
-
300
- // OBJECT PICKING
301
- var toIntersect = [planData.plan];
302
- var mouse = new Three.Vector2();
303
- var gridPlane = planData.grid;
304
- var raycaster = new Three.Raycaster();
305
- var selectedObject = {};
306
- var currentObject = null;
307
- var isSelected = false;
308
- var bRotate = false;
309
- var bMove = false;
310
- var bMoveUP = false;
311
- /** Transformation matrix of grid */
312
- var gridMatrix = new Three.Matrix4();
313
- var rayDirection = new Three.Vector3();
314
- /** World position of grid plane */
315
- var gridPlanOrigin = new Three.Vector3();
316
- var Point = new Three.Vector2();
317
- var sPoint = new Three.Vector2();
318
-
319
- // SNAP FUNCTION VARIABLE
320
- var snapFlag = false;
321
- var snapAnimI = 0;
322
- var snapDelta = 6;
323
- var t_i = 0;
324
- var targetPoint = new Three.Vector3();
325
- var targetRot = 0;
326
- var targetUVec = new Three.Vector3();
327
- var targetCRotation = 0;
328
- var targetObj = null;
329
- var targetNumber = 0;
330
- var allItemRect;
331
- var allItemSnap;
332
- var allLines;
333
- var allLineRects;
334
- var allLineSnap;
335
- var allRect;
336
- var allArea;
337
-
338
- // end snap function variable///////////////////////
339
- var backsplashVisible = false;
340
- var holeItems = _export.GeometryUtils.getHoleItems(layer);
341
- var removeSnapBox = function removeSnapBox() {
342
- if (snapBox != null) {
343
- planData.plan.remove(snapBox);
344
- (0, _threeMemoryCleaner.disposeObject)(snapBox);
345
- snapBox = null;
346
- targetObj = null;
347
- snapFlag = false;
348
- }
349
- };
350
- var camToGrid = new Three.Vector3();
351
- var camPos = camera.position;
352
- var mapCursorPosition = function mapCursorPosition(e, altitude) {
353
- camToGrid.subVectors(gridPlanOrigin, camPos);
354
- var camD = camToGrid.y + (altitude ? altitude : 0);
355
- var rayD = rayDirection.y;
356
- var intersectPt = rayDirection.multiplyScalar(camD / rayD).add(camPos);
357
- intersectPt.y = gridPlanOrigin.y;
358
- intersectPt.applyMatrix4(gridMatrix);
359
- return {
360
- x: intersectPt.x,
361
- y: -intersectPt.z
362
- };
363
- };
364
-
365
- /* for Snap Functions*/
366
-
367
- var pointLineDistance = function pointLineDistance(point, line) {
368
- // return distance from point to line and directional point of line
369
- var pX = point.x;
370
- var pY = point.y;
371
- var l1x = line[0].x;
372
- var l1y = line[0].y;
373
- var l2x = line[1].x;
374
- var l2y = line[1].y;
375
- var pLine = new Three.Vector2(l1x - pX, l1y - pY);
376
- var Line = new Three.Vector2(l1x - l2x, l1y - l2y);
377
- var pAngle = pLine.angle();
378
- var lAngle = Line.angle();
379
- var pDistance = pLine.length();
380
- var oDistance = Line.length();
381
- var directDistance = Math.sin(pAngle - lAngle) * pDistance;
382
- var lineDistance = Math.cos(pAngle - lAngle) * pDistance;
383
- var dX = l1x + (l2x - l1x) * lineDistance / oDistance;
384
- var dY = l1y + (l2y - l1y) * lineDistance / oDistance;
385
- var dPoint = {
386
- x: dX,
387
- y: dY
388
- };
389
- return {
390
- distance: directDistance,
391
- point: dPoint
392
- };
393
- };
394
- var getInterSect = function getInterSect(shape1, shape2) {
395
- // return result of intersect of two shape
396
- var count = 0;
397
- for (var _i = 0; _i < shape1.length - 1; _i++) {
398
- var sl1 = {
399
- x: shape1[_i].x,
400
- y: shape1[_i].y
401
- };
402
- var sl2 = {
403
- x: shape1[_i + 1].x,
404
- y: shape1[_i + 1].y
405
- };
406
- for (var j = 0; j < shape2.length - 1; j++) {
407
- var el1 = {
408
- x: shape2[j].x,
409
- y: shape2[j].y
410
- };
411
- var el2 = {
412
- x: shape2[j + 1].x,
413
- y: shape2[j + 1].y
414
- };
415
- var flag = _export.GeometryUtils.getLineInterSect(sl1.x, sl1.y, sl2.x, sl2.y, el1.x, el1.y, el2.x, el2.y);
416
- if (flag) {
417
- count++;
418
- if (count > 1) return true;
419
- }
420
- }
421
- }
422
- return false;
423
- };
424
- this.getRectPoints = function (width, height, pos, rot) {
425
- // return 4 points from it's position, width, height, and rotation info
426
- var rX = width / 2;
427
- var rY = height / 2;
428
- var vertices = [];
429
- var cRot = rot;
430
- var pX = pos.x + Math.cos(cRot) * rX + Math.cos(cRot + Math.PI / 2) * rY;
431
- var pY = pos.y + Math.sin(cRot) * rX + Math.sin(cRot + Math.PI / 2) * rY;
432
- vertices.push({
433
- x: Math.floor(pX + 0.5),
434
- y: Math.floor(pY + 0.5)
435
- });
436
- rX = -rX;
437
- pX = pos.x + Math.cos(cRot) * rX + Math.cos(cRot + Math.PI / 2) * rY;
438
- pY = pos.y + Math.sin(cRot) * rX + Math.sin(cRot + Math.PI / 2) * rY;
439
- vertices.push({
440
- x: Math.floor(pX + 0.5),
441
- y: Math.floor(pY + 0.5)
442
- });
443
- rY = -rY;
444
- pX = pos.x + Math.cos(cRot) * rX + Math.cos(cRot + Math.PI / 2) * rY;
445
- pY = pos.y + Math.sin(cRot) * rX + Math.sin(cRot + Math.PI / 2) * rY;
446
- vertices.push({
447
- x: Math.floor(pX + 0.5),
448
- y: Math.floor(pY + 0.5)
449
- });
450
- rX = -rX;
451
- pX = pos.x + Math.cos(cRot) * rX + Math.cos(cRot + Math.PI / 2) * rY;
452
- pY = pos.y + Math.sin(cRot) * rX + Math.sin(cRot + Math.PI / 2) * rY;
453
- vertices.push({
454
- x: Math.floor(pX + 0.5),
455
- y: Math.floor(pY + 0.5)
456
- });
457
- vertices.push(vertices[0]);
458
- vertices.push(vertices[2]);
459
- return vertices;
460
- };
461
- var prepareSnap = function prepareSnap(layer) {
462
- allLines = _export.GeometryUtils.getAllLines(layer);
463
- allLineRects = _export.GeometryUtils.buildRectFromLines(layer, allLines);
464
- allItemRect = _export.GeometryUtils.getAllItems(_this2.props.state.scene, actions.catalog, allLineRects);
465
- allItemSnap = _export.GeometryUtils.getAllItemSnap(allItemRect);
466
- allLineSnap = _export.GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
467
- allRect = allItemRect.others.concat(allLineRects);
468
- allItemSnap = _export.GeometryUtils.validateSnaps(allItemSnap, allRect);
469
- allLineSnap = _export.GeometryUtils.validateSnaps(allLineSnap, allRect);
470
- allArea = _export.GeometryUtils.getAllArea(layer);
471
- };
472
-
473
- // prepareSnapSpec(layer);
474
- var lineRect = function lineRect(layer) {
475
- var areainfo = [];
476
- layer.areas.forEach(function (area) {
477
- var sz = area.vertices.size;
478
- for (var i = 0; i < sz; i++) {
479
- areainfo.push(area.vertices.get(i));
480
- }
481
- });
482
- var rect = [];
483
- areainfo.forEach(function (area) {
484
- var vert = layer.vertices.get(area);
485
- rect.push(vert.x, vert.y);
486
- });
487
- return rect;
488
- };
489
- this.collisionCheck = function (obj, pos, rot, tObj) {
490
- var _this3 = this;
491
- var item = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
492
- var catalog = arguments.length > 5 ? arguments[5] : undefined;
493
- //collision check from one object to every other object excpet target object
494
- var layer = this.props.state.scene.getIn(['layers', obj.userData.layerId]);
495
- var layoutpos = 'utype';
496
- if (item !== null) {
497
- var catid = item.type;
498
- var cat = catalog.elements[catid];
499
- layoutpos = cat.info.layoutpos;
500
- }
501
- var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
502
- var sBounding = obj.children[0].userData;
503
- var width = sBounding.max.x - sBounding.min.x;
504
- var depth = sBounding.max.z - sBounding.min.z;
505
- var oVertices = this.getRectPoints(width, depth, oPos.clone(), rot % 360 / 180 * Math.PI);
506
- var datas = [];
507
- layer.items.forEach(function (data) {
508
- datas.push(data);
509
- });
510
- for (var _i2 = 0; _i2 < datas.length; _i2++) {
511
- var data = datas[_i2];
512
- if (data.id == obj.userData.itemId || data.id == tObj.userData.itemId) continue;
513
- var target = planData.sceneGraph.layers[obj.userData.layerId].items[data.id];
514
- if (target === undefined) {
515
- console.log(data.id + ' does not exist in viewer3d/viewer3d.js collisionCheck function');
516
- return false;
517
- }
518
- var _item = layer.items.getIn([data.id]);
519
- var ocatid = _item.type;
520
- var ocat = catalog.elements[ocatid];
521
- var olayoutpos = ocat.info.layoutpos;
522
- if (!(layoutpos === _constants.BASE_CABINET_LAYOUTPOS && olayoutpos === _constants.WALL_CABINET_LAYOUTPOS || layoutpos === _constants.WALL_CABINET_LAYOUTPOS && olayoutpos === _constants.BASE_CABINET_LAYOUTPOS)) {
523
- var tRot = _item.rotation;
524
- var tPos = new Three.Vector2(_item.x, _item.y);
525
- var tBounding = target.children[0].userData;
526
- var twidth = tBounding.max.x - tBounding.min.x;
527
- var tdepth = tBounding.max.z - tBounding.min.z;
528
- var tVertices = this.getRectPoints(twidth, tdepth, tPos.clone(), tRot % 360 / 180 * Math.PI);
529
- if (getInterSect(oVertices, tVertices)) {
530
- return false;
531
- }
532
- }
533
- }
534
- datas = [];
535
- layer.lines.forEach(function (data) {
536
- datas.push(data);
537
- });
538
- var _loop2 = function _loop2() {
539
- var data = datas[_i3];
540
- if (data.id == obj.userData.itemId || data.id == tObj.userData.itemId) return 0; // continue
541
- var item = layer.lines.getIn([data.id]);
542
- // let llayoutpos = catalog.elements[item.type].info.layoutpos;
543
- var vertices = [];
544
- item.vertices.forEach(function (data) {
545
- var vertex = layer.vertices.get(data);
546
- vertices.push({
547
- x: vertex.x,
548
- y: vertex.y
549
- });
550
- });
551
- var vec = new Three.Vector2(vertices[1].x - vertices[0].x, vertices[1].y - vertices[0].y);
552
- var tRot = vec.angle();
553
- var tPos = new Three.Vector2((vertices[0].x + vertices[1].x) / 2, (vertices[0].y + vertices[1].y) / 2);
554
- var tdepth = item.properties.getIn(['thickness', 'length']);
555
- var twidth = Math.sqrt(vec.x * vec.x + vec.y * vec.y);
556
- var tVertices = _this3.getRectPoints(twidth, tdepth, tPos.clone(), tRot);
557
- if (getInterSect(oVertices, tVertices)) {
558
- return {
559
- v: false
560
- };
561
- }
562
- },
563
- _ret;
564
- for (var _i3 = 0; _i3 < datas.length; _i3++) {
565
- _ret = _loop2();
566
- if (_ret === 0) continue;
567
- if (_ret) return _ret.v;
568
- }
569
- return true;
570
- };
571
- this.collisionHoleCheck = function (obj, pos, rot, tObj) {
572
- var item = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
573
- var catalog = arguments.length > 5 ? arguments[5] : undefined;
574
- var layer = this.props.state.scene.getIn(['layers', obj.userData.layerId]);
575
- var currentItem;
576
- if (item !== null) {
577
- var catid = item.type;
578
- var cat = catalog.elements[catid];
579
- currentItem = {
580
- selectedItem: item,
581
- cat: cat
582
- };
583
- }
584
- var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
585
- var sBounding = obj.children[0].userData;
586
- var width = sBounding.max.x - sBounding.min.x;
587
- var depth = sBounding.max.z - sBounding.min.z;
588
- var oVertices = this.getRectPoints(width, depth, oPos.clone(), rot % 360 / 180 * Math.PI);
589
- var datas = [];
590
- layer.items.forEach(function (data) {
591
- datas.push(data);
592
- });
593
- for (var _i4 = 0; _i4 < datas.length; _i4++) {
594
- var data = datas[_i4];
595
- if (data.id == obj.userData.itemId || data.id == tObj.userData.itemId) continue;
596
- var target = planData.sceneGraph.layers[obj.userData.layerId].items[data.id];
597
- if (target === undefined) {
598
- console.log(data.id + ' does not exist in viewer3d/viewer3d.js collisionCheck function');
599
- return false;
600
- }
601
- var _item2 = layer.items.getIn([data.id]);
602
- var ocatid = _item2.type;
603
- var ocat = catalog.elements[ocatid];
604
- if (!ocat) ocat = catalog.elements[(0, _utils.returnReplaceableDeepSearchType)(ocatid)];
605
- var otherItem = {
606
- item: _item2,
607
- cat: ocat
608
- };
609
- if (_export.GeometryUtils.needSnap(currentItem, otherItem) && otherItem.cat.type != 'cabinet') {
610
- var tRot = _item2.rotation;
611
- var tPos = new Three.Vector2(_item2.x, _item2.y);
612
- var tBounding = target.children[0].userData;
613
- var twidth = tBounding.max.x - tBounding.min.x;
614
- var tdepth = tBounding.max.z - tBounding.min.z;
615
- var tVertices = this.getRectPoints(twidth, tdepth, tPos.clone(), tRot % 360 / 180 * Math.PI);
616
- if (getInterSect(oVertices, tVertices)) {
617
- return false;
618
- }
619
- }
620
- }
621
- var holes = [];
622
- layer.lines.forEach(function (line) {
623
- line.holes.forEach(function (holeID) {
624
- var hole = layer.holes.get(holeID);
625
- holes.push(hole);
626
- });
627
- });
628
- var i = 0;
629
- for (; i < holes.length; i++) {
630
- var _tPos = new Three.Vector2(holes[i].x, holes[i].y);
631
- var _twidth = holes[i].properties.getIn(['width', 'length']);
632
- var theight = holes[i].properties.getIn(['thickness', 'length']);
633
- var trot = holes[i].rotation;
634
- var _tVertices = this.getRectPoints(_twidth, theight, _tPos.clone(), trot);
635
- if (getInterSect(oVertices, _tVertices)) {
636
- return false;
637
- }
638
- }
639
- return true;
640
- };
641
- this.collisionSlide = function (item3D, originPos, layer, sVertices, tPos, item) {
642
- var items = [];
643
- var cur_category = '';
644
- var catalog = actions.catalog;
645
- if (layer.selected.items.size > 0) {
646
- var selectedItem = layer.getIn(['items', layer.selected.items.get(0)]);
647
- var catid = selectedItem.type;
648
- var cat = catalog.elements[catid];
649
- if (cat === undefined || cat === null) cat = catalog.getIn(['elements', catid]);
650
- cur_category = cat.obj.category;
651
- }
652
- layer.items.forEach(function (data) {
653
- if (data.id == selectedObject.itemID) {
654
- return;
655
- }
656
- items.push(data.toJS());
657
- });
658
- var oPos = new Three.Vector2(originPos.x, -originPos.z);
659
-
660
- // sort from distance
661
- for (var _i5 = 0; _i5 < items.length - 1; _i5++) {
662
- for (var j = _i5 + 1; j < items.length; j++) {
663
- if ((0, _geometry.verticesDistance)(oPos, new Three.Vector2(items[_i5].x, items[_i5].y)) > (0, _geometry.verticesDistance)(oPos, new Three.Vector2(items[j].x, items[j].y))) {
664
- var exchange = items[j];
665
- items[j] = items[_i5];
666
- items[_i5] = exchange;
667
- }
668
- }
669
- }
670
- var i = 0;
671
- for (; i < items.length; i++) {
672
- if (!items[i]) return;
673
- var _target = planData.sceneGraph.layers[selectedObject.layerID].items[items[i].id];
674
- if (_target === undefined) {
675
- return false;
676
- }
677
- var _targetData = layer.items.getIn([items[i].id]);
678
- var _tRot = _targetData.rotation;
679
- var _tPos2 = new Three.Vector2(_targetData.x, _targetData.y);
680
- var _tBounding = _target.children[0].userData;
681
- var _twidth2 = _tBounding.max.x - _tBounding.min.x;
682
- var _tdepth = _tBounding.max.z - _tBounding.min.z;
683
- var _tVertices2 = this.getRectPoints(_twidth2, _tdepth, _tPos2.clone(), _tRot % 360 / 180 * Math.PI);
684
- if (getInterSect(sVertices, _tVertices2)) {
685
- break;
686
- }
687
- }
688
- if (items.length == 0 || !items[i]) return;
689
- var target = planData.sceneGraph.layers[selectedObject.layerID].items[items[i].id];
690
- var targetData = layer.items.getIn([items[i].id]);
691
- var targetPos = new Three.Vector2(targetData.x, targetData.y);
692
- var tRot = targetData.rotation;
693
- var tBounding = target.children[0].userData;
694
- var twidth = tBounding.max.x - tBounding.min.x;
695
- var tdepth = tBounding.max.z - tBounding.min.z;
696
- var tVertices = this.getRectPoints(twidth, tdepth, targetPos.clone(), tRot % 360 / 180 * Math.PI);
697
- // ////////////////////////
698
- var vArray = [];
699
- var dteArray = [];
700
- var lineArray = [];
701
- var vdistanceArray = [];
702
- var cVecArray = [];
703
- var inFlag = false;
704
- for (var _i6 = 0; _i6 < 4; _i6++) {
705
- var v1 = tVertices[_i6];
706
- var v2 = tVertices[_i6 + 1];
707
- var data = pointLineDistance({
708
- x: tPos.x,
709
- y: tPos.y
710
- }, [{
711
- x: v1.x,
712
- y: v1.y
713
- }, {
714
- x: v2.x,
715
- y: v2.y
716
- }]);
717
- dteArray.push(data.distance);
718
- vArray.push(data.point);
719
- lineArray.push([v1, v2]);
720
- }
721
- // if tPos in target object
722
- var tPosDistance = Math.abs(pointLineDistance(tPos, lineArray[0]).distance) + Math.abs(pointLineDistance(tPos, lineArray[2]).distance);
723
- var realDistance = new Three.Vector2(lineArray[1][0].x - lineArray[1][1].x, lineArray[1][0].y - lineArray[1][1].y).length();
724
- var tPosDistance1 = Math.abs(pointLineDistance(tPos, lineArray[1]).distance) + Math.abs(pointLineDistance(tPos, lineArray[3]).distance);
725
- var realDistance1 = new Three.Vector2(lineArray[0][0].x - lineArray[0][1].x, lineArray[0][0].y - lineArray[0][1].y).length();
726
- if (Math.abs(Math.abs(tPosDistance) - Math.abs(realDistance)) < 0.01 && Math.abs(Math.abs(tPosDistance1) - Math.abs(realDistance1)) < 0.01) inFlag = true;
727
- // ////////////////////
728
- var key = 0;
729
- // sort distance from origin point
730
- for (var _j = 0; _j < dteArray.length - 1; _j++) {
731
- for (var k = _j + 1; k < dteArray.length; k++) {
732
- if (Math.abs(dteArray[_j]) > Math.abs(dteArray[k])) {
733
- var temp = dteArray[k];
734
- dteArray[_j] = dteArray[k];
735
- dteArray[k] = temp;
736
- var temp1 = vArray[k];
737
- vArray[_j] = vArray[k];
738
- vArray[k] = temp1;
739
- var temp2 = lineArray[k];
740
- lineArray[_j] = lineArray[k];
741
- lineArray[k] = temp2;
742
- }
743
- }
744
- }
745
- // //////////////////////////////
746
- for (var _i7 = 0; _i7 < 4; _i7++) {
747
- var _data = pointLineDistance(sVertices[_i7], lineArray[key]);
748
- vdistanceArray.push(_data.distance);
749
- cVecArray.push({
750
- x: _data.point.x - sVertices[_i7].x,
751
- y: _data.point.y - sVertices[_i7].y
752
- });
753
- }
754
- for (var _j2 = 0; _j2 < vdistanceArray.length; _j2++) {
755
- var tX = tPos.x + cVecArray[_j2].x;
756
- var tY = tPos.y + cVecArray[_j2].y;
757
- if (this.collisionCheck(item3D, new Three.Vector2(tX, tY), item.rotation, {
758
- userData: {
759
- itemId: null
760
- }
761
- }, item, this.context.catalog)) {
762
- item3D.position.set(tX, originPos.y, -tY);
763
- sPoint.set(tX, tY);
764
- break;
765
- }
766
- }
767
- };
768
- this.snap = function (obj, layer) {
769
- // snap operation
770
- var target = obj.userData.target;
771
- for (; target.parent != null;) {
772
- if (target.name == 'pivot') break;
773
- target = target.parent;
774
- }
775
- var source = obj.parent.parent.parent;
776
- if (target.userData.type == 'item') {
777
- var sRot = layer.getIn(['items', source.userData.itemId]).rotation;
778
- var tRot = layer.getIn(['items', target.userData.itemId]) ? layer.getIn(['items', target.userData.itemId]).rotation : 0;
779
- var item = layer.getIn(['items', source.userData.itemId]);
780
- var layoutType = item.layoutpos;
781
- var altitudeLength = (0, _convertUnits["default"])(item.properties.getIn(['altitude', '_length'])).from('in').to('cm');
782
- var sBounding = source.children[0].userData;
783
- var tBounding = target.children[0].userData;
784
- var tPos = target.position.clone();
785
- var width = sBounding.max.x - sBounding.min.x;
786
- var height = sBounding.max.y - sBounding.min.y;
787
- var depth = sBounding.max.z - sBounding.min.z;
788
- var snapBoxGeom = new Three.BoxGeometry(width, height, depth);
789
- var snapBoxObj = new Three.Mesh(snapBoxGeom, new Three.MeshBasicMaterial({
790
- // color: 0x2cde6b,
791
- // opacity: 0.7,
792
- transparent: true,
793
- blending: Three.MultiplyBlending
794
- }));
795
- var removeSnapBoxObj = function removeSnapBoxObj() {
796
- if (snapBoxObj) {
797
- planData.plan.remove(snapBoxObj);
798
- (0, _threeMemoryCleaner.disposeObject)(snapBoxObj);
799
- }
800
- snapFlag = false;
801
- };
802
- var box = new Three.BoxHelper(snapBoxObj, 0xffffff);
803
- box.material.linewidth = 2;
804
- box.material.depthTest = false;
805
- box.renderOrder = 200;
806
- snapBoxObj.add(box);
807
- snapBoxObj.position.set(source.position.x, layoutType === _constants.WALL_CABINET_LAYOUTPOS ? altitudeLength + source.position.y + height / 2 : source.position.y + height / 2, source.position.z);
808
- snapBoxObj.rotation.set(source.rotation.x, source.rotation.y, source.rotation.z);
809
- snapBoxObj.name = 'TransformBox';
810
- planData.plan.add(snapBoxObj);
811
- var deltaX = (tBounding.max.x - tBounding.min.x) / 2 + (sBounding.max.x - sBounding.min.x) / 2;
812
- var deltaZ = (tBounding.max.z - tBounding.min.z) / 2 - (sBounding.max.z - sBounding.min.z) / 2;
813
- var sPos = snapBoxObj.position.clone();
814
- // avaliable snap place///////////////
815
- var tPoses = [];
816
- var pX = tPos.x + deltaX * Math.cos(tRot / 180 * Math.PI) + deltaZ * Math.sin(tRot / 180 * Math.PI);
817
- var pZ = tPos.z - deltaX * Math.sin(tRot / 180 * Math.PI) + deltaZ * Math.cos(tRot / 180 * Math.PI);
818
- tPoses.push(new Three.Vector3(pX, 0, pZ));
819
- deltaX = -deltaX;
820
- pX = tPos.x + deltaX * Math.cos(tRot / 180 * Math.PI) + deltaZ * Math.sin(tRot / 180 * Math.PI);
821
- pZ = tPos.z - deltaX * Math.sin(tRot / 180 * Math.PI) + deltaZ * Math.cos(tRot / 180 * Math.PI);
822
- tPoses.push(new Three.Vector3(pX, 0, pZ));
823
- deltaX = (tBounding.max.x - tBounding.min.x) / 2 - (sBounding.max.x - sBounding.min.x) / 2;
824
- deltaZ = -(tBounding.max.z - tBounding.min.z) / 2 - (sBounding.max.z - sBounding.min.z) / 2;
825
- pX = tPos.x + deltaX * Math.cos(tRot / 180 * Math.PI) + deltaZ * Math.sin(tRot / 180 * Math.PI);
826
- pZ = tPos.z - deltaX * Math.sin(tRot / 180 * Math.PI) + deltaZ * Math.cos(tRot / 180 * Math.PI);
827
- tPoses.push(new Three.Vector3(pX, 0, pZ));
828
- deltaX = -deltaX;
829
- pX = tPos.x + deltaX * Math.cos(tRot / 180 * Math.PI) + deltaZ * Math.sin(tRot / 180 * Math.PI);
830
- pZ = tPos.z - deltaX * Math.sin(tRot / 180 * Math.PI) + deltaZ * Math.cos(tRot / 180 * Math.PI);
831
- tPoses.push(new Three.Vector3(pX, 0, pZ));
832
- var distance = Math.sqrt((sPos.x - tPoses[0].x) * (sPos.x - tPoses[0].x) + (sPos.z - tPoses[0].z) * (sPos.z - tPoses[0].z));
833
- var tNum = 1;
834
- tPos = tPoses[0].clone();
835
- for (var _i8 = 1; _i8 < tPoses.length; _i8++) {
836
- var curDis = Math.sqrt((sPos.x - tPoses[_i8].x) * (sPos.x - tPoses[_i8].x) + (sPos.z - tPoses[_i8].z) * (sPos.z - tPoses[_i8].z));
837
- if (curDis < distance) {
838
- distance = curDis;
839
- tNum = _i8 + 1;
840
- tPos = tPoses[_i8].clone();
841
- }
842
- }
843
- // //////////////////////////////////
844
- if (targetObj != null && targetObj.userData.itemId == target.userData.itemId && tNum == targetNumber) {
845
- removeSnapBoxObj();
846
- return;
847
- } else {
848
- removeSnapBox();
849
- }
850
- // //////////////////////////////////
851
- if (tNum >= 3) tRot += 180;
852
- snapAnimI = 0;
853
- t_i = 0;
854
- targetObj = target;
855
- targetNumber = tNum;
856
- targetRot = tRot;
857
- targetPoint = tPos;
858
- snapBox = snapBoxObj;
859
- var cx = sPos.x - tPos.x;
860
- var cz = sPos.z - tPos.z;
861
- targetUVec = new Three.Vector3(cx, 0, cz);
862
- targetCRotation = (tRot - sRot) % 360 / 180 * Math.PI;
863
- } else {
864
- var _item3 = layer.getIn(['items', source.userData.itemId]);
865
- if (holeItems.length) {
866
- var _i9;
867
- for (_i9 = 0; _i9 < holeItems.length; _i9++) {
868
- var hole = holeItems[_i9];
869
- if (Math.abs(Math.sin(selectedObj.rotRad)) === 1) {
870
- if (_item3.y + selectedObj.size.width / 2 >= hole.y - hole.width / 2 && _item3.y - selectedObj.size.width / 2 <= hole.y + hole.width / 2 && (selectedObj.rotRad == 0 || selectedObj.rotRad == -Math.PI / 2 ? _item3.x <= hole.x && _item3.x + selectedObj.size.height >= hole.x : _item3.x >= hole.x && _item3.x - selectedObj.size.height <= hole.x)) break;
871
- } else {
872
- if (_item3.x + selectedObj.size.width / 2 >= hole.x - hole.width / 2 && _item3.x - selectedObj.size.width / 2 <= hole.x + hole.width / 2 && (selectedObj.rotRad == 0 || selectedObj.rotRad == -Math.PI / 2 ? _item3.y <= hole.y && _item3.y + selectedObj.size.height >= hole.y : _item3.y >= hole.y && _item3.y - selectedObj.size.height <= hole.y)) break;
873
- }
874
- }
875
- if (_i9 != holeItems.length) return;
876
- }
877
- if (target.userData.type == 'hole') {
878
- snapFlag = false;
879
- return;
880
- } else {
881
- var _layoutType = _item3.layoutpos;
882
- var _altitudeLength = (0, _convertUnits["default"])(_item3.properties.getIn(['altitude', '_length'])).from('in').to('cm');
883
- var _sBounding = source.children[0].userData;
884
- var _width = _sBounding.max.x - _sBounding.min.x;
885
- var _height = _sBounding.max.y - _sBounding.min.y;
886
- var _depth = _sBounding.max.z - _sBounding.min.z;
887
- var _snapBoxGeom = new Three.BoxGeometry(_width, _height, _depth);
888
- var _snapBoxObj = new Three.Mesh(_snapBoxGeom, new Three.MeshBasicMaterial({
889
- // color: 0x2cde6b,
890
- // opacity: 0.7,
891
- transparent: true,
892
- blending: Three.MultiplyBlending
893
- }));
894
- var _removeSnapBoxObj = function _removeSnapBoxObj() {
895
- if (_snapBoxObj) {
896
- planData.plan.remove(_snapBoxObj);
897
- (0, _threeMemoryCleaner.disposeObject)(_snapBoxObj);
898
- }
899
- snapFlag = false;
900
- };
901
- var _box = new Three.BoxHelper(_snapBoxObj, 0xffffff);
902
- _box.material.linewidth = 2;
903
- _box.material.depthTest = false;
904
- _box.renderOrder = 100;
905
- _snapBoxObj.add(_box);
906
- _snapBoxObj.position.set(source.position.x, _layoutType === _constants.WALL_CABINET_LAYOUTPOS ? _altitudeLength + source.position.y + _height / 2 : source.position.y + _height / 2, source.position.z);
907
- _snapBoxObj.rotation.set(source.rotation.x, source.rotation.y, source.rotation.z);
908
- _snapBoxObj.name = 'TransformBox';
909
- planData.plan.add(_snapBoxObj);
910
- var snapLine = layer.getIn(['lines', target.userData.lineId]);
911
- // let snapLineThickness = snapLine.properties.getIn([
912
- // 'thickness',
913
- // 'length'
914
- // ]);
915
- var snapLineThickness = 10.64;
916
- var vertices = [];
917
- if (snapLine === undefined) return;
918
- snapLine.vertices.forEach(function (data) {
919
- var vec = layer.getIn(['vertices', data]);
920
- vertices.push(vec);
921
- });
922
- var iX = source.position.clone().x;
923
- var iY = -source.position.clone().z;
924
- var lineVec = new Three.Vector2(vertices[1].x - vertices[0].x, vertices[1].y - vertices[0].y);
925
- var oLength = Math.sqrt(lineVec.x * lineVec.x + lineVec.y * lineVec.y);
926
- lineVec.normalize();
927
- var vec2 = new Three.Vector2(iX - vertices[0].x, iY - vertices[0].y);
928
- var vec2Legnth = Math.sqrt(vec2.x * vec2.x + vec2.y * vec2.y);
929
- var angle = Math.abs(lineVec.angle() - vec2.angle());
930
- angle = angle > Math.PI ? 2 * Math.PI - angle : angle;
931
- var lineLength = Math.cos(angle) * vec2Legnth;
932
- var transLength = 0;
933
- if (lineLength < 100) {
934
- transLength = -lineLength + (snapLineThickness + _width) / 2;
935
- }
936
- if (lineLength > oLength - 100) {
937
- transLength = -lineLength - (snapLineThickness + _width) / 2 + oLength;
938
- }
939
- var directPoint = new Three.Vector2(lineVec.x * lineLength + vertices[0].x, lineVec.y * lineLength + vertices[0].y);
940
- var directLine = new Three.Vector2(directPoint.x - iX, directPoint.y - iY);
941
- var dLength = Math.sqrt((iX - directPoint.x) * (iX - directPoint.x) + (iY - directPoint.y) * (iY - directPoint.y));
942
- var reduceLen = (snapLineThickness + _depth) / 2;
943
- var scale = (dLength - reduceLen) / dLength;
944
- var _tPos3 = new Three.Vector2(iX + (directPoint.x - iX) * scale + lineVec.x * transLength, iY + (directPoint.y - iY) * scale + lineVec.y * transLength);
945
- var realAngle = directLine.angle() - Math.PI / 2;
946
- var _tRot2 = realAngle * 180 / Math.PI;
947
- var _sPos = new Three.Vector2(iX, iY);
948
- var _sRot = _item3.rotation;
949
- var _tNum = 0;
950
- // //////////////////////////////////////
951
- // check part////
952
- var result = this.collisionCheck(source, _tPos3, _tRot2, target, _item3, this.context.catalog);
953
- // console.log('result', result);
954
- if (result == false) {
955
- _removeSnapBoxObj();
956
- removeSnapBox();
957
- return;
958
- }
959
- // ////////////////
960
- if (targetObj === target && snapBox !== null) {
961
- _removeSnapBoxObj();
962
- snapAnimI = 20;
963
- targetPoint = new Three.Vector3(_tPos3.x, 0, -_tPos3.y);
964
- var _sourcePos = snapBox.position.clone();
965
- var _cx = _sourcePos.x - targetPoint.x;
966
- var _cz = _sourcePos.z - targetPoint.z;
967
- targetUVec = new Three.Vector3(_cx, 0, _cz);
968
- targetRot = _tRot2;
969
- targetCRotation = (_tRot2 - _sRot) % 360 / 180 * Math.PI;
970
- snapFlag = false;
971
- return;
972
- } else {
973
- removeSnapBox();
974
- }
975
- // //////////////////////////////////////
976
- snapAnimI = 0;
977
- t_i = 0;
978
- targetObj = target;
979
- targetNumber = _tNum;
980
- targetRot = _tRot2;
981
- targetPoint = new Three.Vector3(_tPos3.x, 0, -_tPos3.y);
982
- snapBox = _snapBoxObj;
983
- var sourcePos = snapBox.position.clone();
984
- var _cx2 = sourcePos.x - targetPoint.x;
985
- var _cz2 = sourcePos.z - targetPoint.z;
986
- targetUVec = new Three.Vector3(_cx2, 0, _cz2);
987
- targetRot = _tRot2;
988
- targetCRotation = (_tRot2 - _sRot) % 360 / 180 * Math.PI;
989
- }
990
- }
991
- };
992
-
993
- /*end of snap functions*/
994
- var selectedObj = null;
995
- var firstMove = false;
996
- var prevX, prevY;
997
- var selObj = null;
998
- var createToolObject = function createToolObject() {
999
- var canvas = document.createElement('canvas');
1000
- canvas.width = 100;
1001
- canvas.height = 200;
1002
- canvas.style.width = 50 + 'px';
1003
- canvas.style.height = 100 + 'px';
1004
- var ctx = canvas.getContext('2d');
1005
- ctx.fillStyle = '#FFFFFF';
1006
- ctx.strokeStyle = '#000000';
1007
- ctx.beginPath();
1008
- ctx.arc(50, 50, 40, 0, 4 * Math.PI);
1009
- ctx.fill();
1010
- ctx.stroke();
1011
- var img1 = new Image();
1012
- img1.crossOrigin = 'anonymous';
1013
- img1.src = '/assets/img/svg/3d_item_rotation.svg';
1014
- img1.onload = function () {
1015
- ctx.drawImage(img1, 16, 16, 68, 68);
1016
- };
1017
- ctx.beginPath();
1018
- ctx.arc(50, 150, 40, 0, 4 * Math.PI);
1019
- ctx.fill();
1020
- ctx.stroke();
1021
- var img2 = new Image();
1022
- img2.crossOrigin = 'anonymous';
1023
- img2.src = '/assets/img/svg/3d_item_move.svg';
1024
- img2.onload = function () {
1025
- ctx.drawImage(img2, 16, 116, 68, 68);
1026
- };
1027
- return canvas;
1028
- };
1029
- var clockWise = true;
1030
- var lastAngle = 0;
1031
- var createAngleObject = function createAngleObject(rotate) {
1032
- var canvas = document.createElement('canvas');
1033
- canvas.width = 100;
1034
- canvas.height = 100;
1035
- canvas.style.width = 100 + 'px';
1036
- canvas.style.height = 100 + 'px';
1037
- var ctx = canvas.getContext('2d');
1038
- ctx.strokeStyle = '#FFFFFF';
1039
- ctx.lineWidth = 10;
1040
- ctx.beginPath();
1041
- ctx.arc(50, 50, 45, 0, 2 * Math.PI);
1042
- ctx.stroke();
1043
- ctx.strokeStyle = _constants.SECONDARY_PURPLE_COLOR;
1044
- ctx.lineWidth = 6;
1045
- ctx.beginPath();
1046
- if (lastAngle < 15 && lastAngle > -15) {
1047
- if (rotate >= 0) {
1048
- clockWise = false;
1049
- } else {
1050
- clockWise = true;
1051
- }
1052
- if (lastAngle === 0) {
1053
- if (rotate > -180) {
1054
- clockWise = true;
1055
- } else {
1056
- clockWise = false;
1057
- }
1058
- }
1059
- }
1060
- ctx.arc(50, 50, 45, 0, rotate / 180.0 * Math.PI, clockWise);
1061
- ctx.stroke();
1062
- lastAngle = rotate;
1063
- return canvas;
1064
- };
1065
- var toolTexture = new Three.Texture(createToolObject());
1066
- toolTexture.needsUpdate = true;
1067
- var toolObj = new Three.Sprite(new Three.SpriteMaterial({
1068
- map: toolTexture,
1069
- sizeAttenuation: true
1070
- }));
1071
- toolObj.material.transparent = true;
1072
- toolObj.material.depthTest = false;
1073
- toolObj.scale.set(20, 40, 20);
1074
- toolObj.renderOrder = 3;
1075
- toolObj.name = 'toolObj';
1076
- var angleTexture = new Three.Texture(createAngleObject(0));
1077
- angleTexture.needsUpdate = true;
1078
- var angleObj = new Three.Sprite(new Three.SpriteMaterial({
1079
- map: angleTexture,
1080
- sizeAttenuation: false
1081
- }));
1082
- angleObj.scale.set(0.075, 0.075, 0.075);
1083
- angleObj.material.transparent = true;
1084
- angleObj.material.depthTest = false;
1085
- angleObj.renderOrder = 3;
1086
- angleObj.name = 'angleObj';
1087
-
1088
- /**
1089
- * Calculate plane point of mouse with `event` & `altitude`
1090
- * * Calculate mouse.x & mouse.y
1091
- * * Set raycaster from camera & Set raycaster direction
1092
- * * Calculate Point & dispatch an action
1093
- */
1094
- var getPoint = function getPoint(e, alti) {
1095
- mouse.x = e.offsetX / _this2.width * 2 - 1;
1096
- mouse.y = -e.offsetY / _this2.height * 2 + 1;
1097
- raycaster.setFromCamera(mouse, camera);
1098
- rayDirection = raycaster.ray.direction;
1099
- Point = mapCursorPosition(e, alti);
1100
- _this2.context.projectActions.updateMouseCoord(Point);
1101
- };
1102
- var getIntersectWallPoint = function getIntersectWallPoint(e) {
1103
- mouse.x = e.offsetX / _this2.width * 2 - 1;
1104
- mouse.y = -e.offsetY / _this2.height * 2 + 1;
1105
- raycaster.setFromCamera(mouse, camera);
1106
- rayDirection = raycaster.ray.direction;
1107
- var lines = planData.sceneGraph.layers[scene.selectedLayer].lines;
1108
- var keys = Object.keys(lines);
1109
- var arrMesh = [];
1110
- keys.forEach(function (key) {
1111
- lines[key].children[0].children.forEach(function (mesh) {
1112
- if (mesh.name == 'soul' && mesh.visible) arrMesh.push(mesh);
1113
- });
1114
- });
1115
- if (arrMesh.length > 0) {
1116
- var intersects = raycaster.intersectObjects(arrMesh);
1117
- if (intersects.length > 0) {
1118
- var intersectPt = intersects[0].point;
1119
- intersectPt.applyMatrix4(gridMatrix);
1120
- Point = {
1121
- x: intersectPt.x,
1122
- y: -intersectPt.z
1123
- };
1124
- _this2.context.projectActions.updateMouseCoord(Point);
1125
- return true;
1126
- }
1127
- }
1128
- return false;
1129
- };
1130
- this.mouseDownEvent = function (event) {
1131
- gridPlanOrigin = gridPlane.position;
1132
- gridMatrix.copy(gridPlane.matrixWorld).invert();
1133
- var altitude = 0;
1134
- if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
1135
- var properties = allItemRect.cur.itemInfo.properties;
1136
- altitude = properties.getIn(['altitude', '_length']);
1137
- var unit = properties.getIn(['altitude', '_unit']) || 'in';
1138
- altitude = (0, _convertUnits["default"])(altitude).from(unit).to(_this2.props.state.scene.unit);
1139
- }
1140
- getPoint(event, altitude);
1141
- var state = _this2.props.state;
1142
- _this2.lastMousePosition.x = mouse.x;
1143
- _this2.lastMousePosition.y = mouse.y;
1144
- var layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
1145
- var sCount = layer.selected.areas.size + layer.selected.holes.size + layer.selected.items.size + layer.selected.lines.size;
1146
- if (sCount <= 0) {
1147
- isSelected = false;
1148
- } else if (sCount >= 0 && selectedObject && 'holeID' in selectedObject) {
1149
- isSelected = true;
1150
- }
1151
- prevX = Point.x;
1152
- prevY = Point.y;
1153
-
1154
- /**
1155
- * 0 - rotate
1156
- * 1 - move up/down
1157
- * 2 - move x/y
1158
- * 3 - camera rotate
1159
- */
1160
- var transflag = 3;
1161
- raycaster.setFromCamera(mouse, camera);
1162
- var meshes = [];
1163
- toIntersect.forEach(function (object) {
1164
- if (!object) return;
1165
- object.traverse(function (o) {
1166
- if (o.isMesh) meshes.push(o);
1167
- });
1168
- });
1169
- var intersects = raycaster.intersectObjects(meshes, true);
1170
- var toolIntersects = raycaster.intersectObjects([toolObj], true);
1171
- if (toolIntersects.length > 0) {
1172
- var distance = Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - 0.25) * 100, 2));
1173
- if (distance <= 20) {
1174
- transflag = 2;
1175
- } else {
1176
- distance = Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - 0.75) * 100, 2));
1177
- if (distance <= 20) {
1178
- transflag = 0;
1179
- }
1180
- }
1181
- }
1182
- if (intersects.length > 0) {
1183
- var _i0 = 0,
1184
- length = intersects.length;
1185
- for (_i0 = 0; _i0 < length; _i0++) {
1186
- if (intersects[_i0].object.type !== 'BoxHelper' &&
1187
- // intersects[i].object.type === OBJTYPE_MESH &&
1188
- intersects[_i0].object.name !== 'lineText' && intersects[_i0].object.name !== 'soul' && !intersects[_i0].object.name.includes('WarningBox')) break;
1189
- }
1190
- if (intersects[_i0] !== undefined) {
1191
- if (intersects[_i0].object.name.indexOf('transUp') != -1) transflag = 1;
1192
- if (intersects[_i0].object.name.indexOf('transHole') != -1) transflag = 2;
1193
- } else {
1194
- console.log('intersects[i] is undefined in viewer3d/viewer3d.js');
1195
- }
1196
- }
1197
- if (_this2.props.state.mode == _constants.MODE_DRAWING_ITEM_3D) return;
1198
- if (isSelected) {
1199
- if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
1200
- var _i1;
1201
- for (_i1 = 0; _i1 < intersects.length; _i1++) {
1202
- if (intersects[_i1].object instanceof Three.Mesh && intersects[_i1].object.name != 'TransformBox' && intersects[_i1].object.type != 'Line' && intersects[_i1].object.name != 'lineText' && intersects[_i1].object.name != 'countertops' && intersects[_i1].object.type != 'BoxHelper' && intersects[_i1].object.name != 'floor' && intersects[_i1].object.name != 'backFace' && intersects[_i1].object.name != 'soul' && !intersects[_i1].object.name.includes('backsplash') && !intersects[_i1].object.name.includes('WarningBox')) break;
1203
- }
1204
- if (intersects[_i1] === undefined) {
1205
- if (transflag !== 0 && transflag !== 2) {
1206
- isSelected = false;
1207
- _this2.context.projectActions.unselectAll();
1208
- scene3D.remove(toolObj);
1209
- _this2.context.itemsActions.removeReplacingSupport();
1210
- // orbitController.enableRotate = true;
1211
- return;
1212
- }
1213
- }
1214
- if (selectedObject !== undefined) {
1215
- sPoint.set(Point.x, Point.y);
1216
- if (transflag == 0) {
1217
- scene3D.remove(toolObj);
1218
- var alti = 0;
1219
- if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
1220
- var _properties = allItemRect.cur.itemInfo.properties;
1221
- alti = _properties.getIn(['altitude', '_length']);
1222
- var _unit = _properties.getIn(['altitude', '_unit']) || 'in';
1223
- alti = (0, _convertUnits["default"])(alti).from(_unit).to(_this2.props.state.scene.unit);
1224
- }
1225
- getPoint({
1226
- offsetX: event.offsetX - 50,
1227
- offsetY: event.offsetY
1228
- }, alti);
1229
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1230
- if ((0, _util.isUndefined)(selectedItem)) return;
1231
- var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1232
- lastAngle = 0;
1233
- angleObj.position.set(planData.plan.position.x + Point.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : selItem.properties.get('altitude').get('length') + planData.plan.position.y, planData.plan.position.z - Point.y);
1234
- angleTexture.image = createAngleObject(0);
1235
- angleTexture.needsUpdate = true;
1236
- scene3D.add(angleObj);
1237
- _this2.setState({
1238
- angleObj: angleObj
1239
- });
1240
- var centerPos = Point;
1241
- getPoint(event, alti);
1242
- _this2.context.itemsActions.beginRotatingItem3D(selectedObject.layerID, selectedObject.itemID, Point.x, Point.y, centerPos.x, centerPos.y);
1243
- bRotate = true;
1244
- } else if (transflag == 1) {
1245
- bMoveUP = true;
1246
- } else if (transflag == 2) {
1247
- switch (true) {
1248
- case 'holeID' in selectedObject:
1249
- _this2.context.holesActions.beginDraggingHole3D(selectedObject.layerID, selectedObject.holeID, Point.x, Point.y);
1250
- break;
1251
- default:
1252
- _this2.context.itemsActions.beginDraggingItem3D(selectedObject.layerID, selectedObject.itemID, Point.x, Point.y);
1253
- break;
1254
- }
1255
- bMove = true;
1256
- scene3D.remove(toolObj);
1257
- }
1258
- if (!_constants.ARRAY_ELEVATION_VIEW_MODES.includes(mode)) cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
1259
- }
1260
- } else {
1261
- isSelected = false;
1262
- _this2.context.projectActions.unselectAll();
1263
- scene3D.remove(toolObj);
1264
- _this2.context.itemsActions.removeReplacingSupport();
1265
- // orbitController.enableRotate = true;
1266
- return;
1267
- }
1268
- }
1269
- };
1270
- this.renderer.setClearColor(new Three.Color(SharedStyle.COLORS.white)); // 3D background color
1271
- this.renderer.setSize(this.width, this.height);
1272
-
1273
- // Add the output of the renderer to the html element
1274
- var canvasWrapper = _reactDom["default"].findDOMNode(this.refs.canvasWrapper);
1275
- canvasWrapper.appendChild(this.renderer.domElement);
1276
-
1277
- //
1278
-
1279
- if (scene.getIn(['layers', scene.selectedLayer, 'selected', 'items']).size != 0) {
1280
- // if selected Object
1281
- isSelected = true;
1282
- selectedObject.layerID = scene.selectedLayer;
1283
- selectedObject.itemID = scene.getIn(['layers', scene.selectedLayer, 'selected', 'items']).toJS()[0];
1284
- setTimeout(function () {
1285
- try {
1286
- currentObject = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1287
- if ((0, _util.isUndefined)(currentObject)) return;
1288
- var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1289
- var itemPos = currentObject.position.clone();
1290
- toolObj.position.set(planData.plan.position.x + itemPos.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : planData.plan.position.y + currentObject.children[0].position.y, planData.plan.position.z + itemPos.z);
1291
- scene3D.add(toolObj);
1292
- _this2.setState({
1293
- toolObj: toolObj
1294
- });
1295
- } catch (err) {
1296
- console.log('selectedObject : ' + JSON.stringify(selectedObject) + '\nError: ' + err);
1297
- }
1298
- }, 2000);
1299
- }
1300
-
1301
- // Scene functions
1302
-
1303
- function init() {
1304
- clock = new Three.Clock();
1305
- scene3D = new Three.Scene();
1306
- scene3D.background = new Three.Color(0xc3cadc); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
1307
- // scene3D.fog = new Three.Fog(0xC3CADC, 2000, 3500);
1308
- window.scene3D = scene3D;
1309
- // Camera
1310
- if (_constants.ARRAY_ELEVATION_VIEW_MODES.includes(state.mode)) {
1311
- var layers = scene.layers;
1312
- var selectedLayer = layers.get(scene.selectedLayer);
1313
- var ceilHeight = (0, _convertUnits["default"])(selectedLayer.ceilHeight).from(scene.rulerUnit).to(scene.unit);
1314
- var vertices = selectedLayer.vertices.toJS();
1315
- var maxX = 0,
1316
- maxY = 0,
1317
- minX = 0,
1318
- minY = 0;
1319
- var lines = [];
1320
- selectedLayer.lines.toArray().forEach(function (line) {
1321
- var vertex0 = selectedLayer.vertices.get(line.vertices.get(0));
1322
- var vertex1 = selectedLayer.vertices.get(line.vertices.get(1));
1323
- var x1 = vertex0.x,
1324
- y1 = vertex0.y;
1325
- var x2 = vertex1.x,
1326
- y2 = vertex1.y;
1327
- var data = line.toJS();
1328
- data = _objectSpread(_objectSpread({}, data), {}, {
1329
- l0: {
1330
- x: x1,
1331
- y: y1
1332
- },
1333
- l1: {
1334
- x: x2,
1335
- y: y2
1336
- }
1337
- });
1338
- switch (mode) {
1339
- case _constants.MODE_FRONT_ELEVATION_VIEW:
1340
- if ((0, _geometry.almostEqual)(y1, y2) && x1 < x2) {
1341
- lines.push(data);
1342
- }
1343
- break;
1344
- case _constants.MODE_BACK_ELEVATION_VIEW:
1345
- if ((0, _geometry.almostEqual)(y1, y2) && x1 > x2) {
1346
- lines.push(data);
1347
- }
1348
- break;
1349
- case _constants.MODE_LEFT_ELEVATION_VIEW:
1350
- if ((0, _geometry.almostEqual)(x1, x2) && y1 < y2) {
1351
- lines.push(data);
1352
- }
1353
- break;
1354
- case _constants.MODE_RIGHT_ELEVATION_VIEW:
1355
- if ((0, _geometry.almostEqual)(x1, x2) && y1 > y2) {
1356
- lines.push(data);
1357
- }
1358
- break;
1359
- default:
1360
- break;
1361
- }
1362
- });
1363
- vertices.toArray().forEach(function (vertex) {
1364
- if (lines.filter(function (line) {
1365
- return line.vertices.includes(vertex.id);
1366
- }).length) {
1367
- maxX = Math.max(vertex.x, maxX);
1368
- maxY = Math.max(vertex.y, maxY);
1369
- if (minX === 0) minX = vertex.x;
1370
- if (minY === 0) minY = vertex.y;
1371
- minX = Math.min(vertex.x, minX);
1372
- minY = Math.min(vertex.y, minY);
1373
- }
1374
- });
1375
- var line_length, angle, posX, posY;
1376
- switch (state.mode) {
1377
- case _constants.MODE_FRONT_ELEVATION_VIEW:
1378
- line_length = maxX - minX;
1379
- posY = minY - 100;
1380
- posX = (minX + maxX) / 2;
1381
- angle = 0;
1382
- break;
1383
- case _constants.MODE_RIGHT_ELEVATION_VIEW:
1384
- line_length = maxY - minY;
1385
- posX = minX - 100;
1386
- posY = (minY + maxY) / 2;
1387
- angle = -Math.PI / 2;
1388
- break;
1389
- case _constants.MODE_LEFT_ELEVATION_VIEW:
1390
- line_length = maxY - minY;
1391
- posX = maxX + 100;
1392
- posY = (minY + maxY) / 2;
1393
- angle = Math.PI / 2;
1394
- break;
1395
- case _constants.MODE_BACK_ELEVATION_VIEW:
1396
- line_length = maxX - minX;
1397
- posY = maxY + 100;
1398
- posX = (minX + maxX) / 2;
1399
- angle = Math.PI;
1400
- break;
1401
- }
1402
- var scale = Math.min(self.width * 0.85 / line_length, self.height * 0.85 / ceilHeight);
1403
- // let frontRect = {width: line_length * scale, height: ceilHeight * scale};
1404
- var cameraRect = {
1405
- width: self.width / scale,
1406
- height: self.height / scale
1407
- };
1408
- camera = new Three.OrthographicCamera(-cameraRect.width / 2, cameraRect.width / 2, cameraRect.height / 2, -cameraRect.height / 2, 1, 10000);
1409
- camera.position.set(posX, ceilHeight / 2, -posY);
1410
- camera.rotation.set(0, angle, 0);
1411
- } else {
1412
- var aspectRatio = self.width / self.height;
1413
- camera = new Three.PerspectiveCamera(45, aspectRatio, 1, 300000);
1414
- camera.position.set(0, 0, 1);
1415
- }
1416
- camera.layers.enable(1);
1417
- function loadENV() {
1418
- new _RGBELoader.RGBELoader().load('/assets/brown_photostudio_02_1k.hdr', function (texture) {
1419
- texture.mapping = Three.EquirectangularReflectionMapping;
1420
- scene3D.environment = texture;
1421
- texture.dispose();
1422
- });
1423
- }
1424
-
1425
- // Camera Controls
1426
- if (!_constants.ARRAY_ELEVATION_VIEW_MODES.includes(state.mode)) {
1427
- cameraControls = new _cameraControls["default"](camera, self.renderer.domElement);
1428
- cameraControls.dollyToCursor = true;
1429
- cameraControls.infinityDolly = true;
1430
- cameraControls.minDistance = 50;
1431
- cameraControls.maxDistance = Infinity;
1432
- cameraControls.zoomSpeed = 1;
1433
- loadENV();
1434
- }
1435
- scene3D.add(planData.plan);
1436
- scene3D.add(planData.grid);
1437
- scene3D.add(camera);
1438
- if (_constants.ARRAY_ELEVATION_VIEW_MODES.includes(state.mode)) {
1439
- planData.cam.add(camera);
1440
- scene3D.add(planData.cam);
1441
- } else {
1442
- pivot = new Three.Object3D();
1443
- pivot.add(camera);
1444
- scene3D.add(pivot);
1445
- }
1446
-
1447
- // LIGHT
1448
-
1449
- var light = new Three.AmbientLight(0xbfbfbf, 0.9); // soft white light
1450
- }
1451
- function render() {
1452
- var delta = clock.getDelta(); // Get time delta for smooth updates
1453
- if (!_constants.ARRAY_ELEVATION_VIEW_MODES.includes(state.mode)) cameraControls.update(delta);
1454
- for (var _i10 = 0; _i10 < lights.length; _i10++) {
1455
- lights[_i10].light.position.set(planData.plan.position.x + lights[_i10].x, planData.plan.position.y + lights[_i10].height - 10, planData.plan.position.z - lights[_i10].y);
1456
- lights[_i10].target.position.set(planData.plan.position.x + lights[_i10].x, planData.plan.position.y, planData.plan.position.z - lights[_i10].y);
1457
- }
1458
- camera.updateMatrix();
1459
- camera.updateMatrixWorld();
1460
- for (var elemID in planData.sceneGraph.LODs) {
1461
- planData.sceneGraph.LODs[elemID].update(camera);
1462
- }
1463
- if (snapBox !== null) {
1464
- if (snapAnimI >= 15) {
1465
- if ('x' in targetPoint) snapBox.position.set(targetPoint.x, snapBox.position.y, targetPoint.z);
1466
- snapFlag = false;
1467
- t_i++;
1468
- } else {
1469
- if (snapAnimI == 0) {
1470
- targetCRotation = (targetRot / 180 * Math.PI - snapBox.rotation.y + Math.PI) * 180 / Math.PI % 360;
1471
- if (targetCRotation > 180) targetCRotation -= 360;
1472
- if (targetCRotation < -180) targetCRotation += 360;
1473
- targetCRotation = targetCRotation / 180 * Math.PI;
1474
- }
1475
- if (snapAnimI < 10) {
1476
- snapBox.rotateY(targetCRotation / 10);
1477
- } else {
1478
- snapBox.position.set(snapBox.position.clone().x - targetUVec.x / 10, snapBox.position.clone().y - targetUVec.y / 10, snapBox.position.clone().z - targetUVec.z / 10);
1479
- }
1480
- snapAnimI++;
1481
- }
1482
- }
1483
- if (t_i === 20) {
1484
- //stop snap after 5s
1485
- removeSnapBox();
1486
- }
1487
-
1488
- // hide hole if wall is not visible
1489
- var layerID = self.props.state.scene.selectedLayer;
1490
- var layer = self.props.state.scene.layers.get(layerID);
1491
- layer.holes.forEach(function (data) {
1492
- var line = planData.sceneGraph.layers[layerID].lines[data.line];
1493
- var hole = planData.sceneGraph.layers[layerID].holes[data.id];
1494
- if (line instanceof Three.Object3D && !line.isMesh) {
1495
- line = line.children[0].children[0];
1496
- // index(faces) of the line
1497
- var indexAttribute = line.geometry.getIndex();
1498
- var firstFaceIndices = [indexAttribute.getX(0), indexAttribute.getX(1), indexAttribute.getX(2)];
1499
- if (firstFaceIndices == undefined) return;
1500
- // normal vector of the line
1501
- var normalAttribute = line.geometry.attributes.normal;
1502
- var normal = new Three.Vector3().fromBufferAttribute(normalAttribute, 0).clone();
1503
- normal = normal.applyMatrix4(line.matrixWorld).sub(new Three.Vector3(0, 0, 0).applyMatrix4(line.matrixWorld)).normalize();
1504
- var vertices = layer.lines.get(data.line).vertices.toJS();
1505
- var vertex1 = layer.vertices.get(vertices[0]);
1506
- var vertex2 = layer.vertices.get(vertices[1]);
1507
- var cX = (vertex1.x + vertex2.x) / 2;
1508
- var cY = (vertex1.y + vertex2.y) / 2;
1509
- var posVec = new Three.Vector3(cX, 150, -cY);
1510
- posVec = posVec.add(planData.plan.position.clone());
1511
- var cameraLine = camera.position.clone().sub(posVec);
1512
- if (hole) {
1513
- hole.traverse(function (child) {
1514
- if (child.isMesh) {
1515
- child.material.opacity = cameraLine.dot(normal) > 0 ? 1 : 0;
1516
- child.material.transparent = cameraLine.dot(normal) > 0 ? false : true;
1517
- child.material.needsUpdate = true;
1518
- }
1519
- });
1520
- }
1521
- }
1522
- // /////////////////////////////////////
1523
- });
1524
- self.renderer.render(scene3D, camera);
1525
- self.renderingID = requestAnimationFrame(render);
1526
- if (self.state.waitForRender > 0) {
1527
- self.state.waitForRender++;
1528
- if (self.state.waitForRender > 2) {
1529
- self.setState({
1530
- isLoading: false,
1531
- waitForRender: 0
1532
- });
1533
- setTimeout(function () {
1534
- return self.props.setIsLoading3D(false);
1535
- }, 100);
1536
- console.log('257 line: false');
1537
- self.renderer.domElement.style.display = 'block';
1538
- }
1539
- }
1540
- }
1541
-
1542
- //
1543
-
1544
- window.planData = planData;
1545
- this.planData = planData;
1546
- this.camera = camera;
1547
- this.cameraControls = cameraControls;
1548
- this.scene3D = scene3D;
1549
-
1550
- //
1551
-
1552
- prepareSnap(layer);
1553
- }
1554
- }, {
1555
- key: "componentWillUnmount",
1556
- value: function componentWillUnmount() {
1557
- cancelAnimationFrame(this.renderingID);
1558
- if (!_constants.ARRAY_ELEVATION_VIEW_MODES.includes(this.props.state.mode)) {
1559
- if (this.cameraControls !== undefined) this.cameraControls.dispose();
1560
- }
1561
- (0, _threeMemoryCleaner.disposeScene)(this.scene3D);
1562
- this.scene3D.remove(this.planData.plan);
1563
- this.scene3D.remove(this.planData.grid);
1564
- this.scene3D = null;
1565
- this.planData = null;
1566
- this.camera = null;
1567
- this.cameraControls = null;
1568
- this.renderer.renderLists.dispose();
1569
- }
1570
- }, {
1571
- key: "componentWillReceiveProps",
1572
- value: function componentWillReceiveProps(nextProps) {
1573
- var _this4 = this;
1574
- var width = nextProps.width,
1575
- height = nextProps.height;
1576
- var actions = {
1577
- areaActions: this.context.areaActions,
1578
- holesActions: this.context.holesActions,
1579
- itemsActions: this.context.itemsActions,
1580
- sceneActions: this.context.sceneActions,
1581
- linesActions: this.context.linesActions,
1582
- projectActions: this.context.projectActions,
1583
- catalog: this.context.catalog
1584
- };
1585
- this.width = width;
1586
- this.height = height;
1587
- this.renderer.setSize(width, height);
1588
- var allLines;
1589
- var allLineRects;
1590
- var allItemRect;
1591
- this.camera.aspect = width / height;
1592
- this.camera.updateProjectionMatrix();
1593
- var data = nextProps.state.scene;
1594
- var layer = data.getIn(['layers', data.selectedLayer]);
1595
- var self = this;
1596
- function implementBacksplash() {
1597
- var allItems = _export.GeometryUtils.getAllItemSpecified(nextProps.state.scene, actions.catalog, _constants.BASE_CABINET_LAYOUTPOS);
1598
- var i,
1599
- items = [];
1600
- for (i = 0; i < allItems.others.length; i++) items.push(allItems.others[i]);
1601
- if (allItems.cur) items.push(allItems.cur);
1602
- for (i = 0; i < items.length; i++) {
1603
- var calcRect = _export.GeometryUtils.getCalcRectFromItem3D(items[i]);
1604
- var visible = _export.GeometryUtils.isSnappedLine(calcRect, allLineRects);
1605
- actions.itemsActions.setBacksplashVisible(items[i].itemInfo.id, visible);
1606
- (0, _sceneCreator.createBacksplash)(items[i], nextProps.state.scene.getIn(['layers', nextProps.state.scene.selectedLayer]), planData, nextProps.state.scene);
1607
- }
1608
- }
1609
- function implementWarningBox() {
1610
- var holeItems = _export.GeometryUtils.getHoleItems(layer);
1611
- var i,
1612
- items = [];
1613
- for (i = 0; i < allItemRect.others.length; i++) items.push(allItemRect.others[i]);
1614
- if (allItemRect.cur) items.push(allItemRect.cur);
1615
- for (i = 0; i < items.length; i++) (0, _sceneCreator.checkCabinetOverlap)({
1616
- x: items[i].pos.x,
1617
- y: items[i].pos.y
1618
- }, items[i], holeItems, planData);
1619
- }
1620
- var prepareSnapSpec = function prepareSnapSpec(layer) {
1621
- allLines = _export.GeometryUtils.getAllLines(layer);
1622
- allLineRects = _export.GeometryUtils.buildRectFromLines(layer, allLines);
1623
- allItemRect = _export.GeometryUtils.getAllItemSpecified(_this4.props.state.scene, actions.catalog, [_constants.WALL_CABINET_LAYOUTPOS, _constants.TALL_CABINET_LAYOUTPOS]);
1624
- };
1625
- var layer1 = this.props.state.scene.getIn(['layers', data.selectedLayer]);
1626
- if (this.state.showflag) {
1627
- prepareSnapSpec(layer);
1628
- implementBacksplash();
1629
- implementWarningBox();
1630
- this.setState({
1631
- showflag: false
1632
- });
1633
- }
1634
- if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
1635
- var changedValues = (0, _immutablediff["default"])(this.props.state.scene, nextProps.state.scene);
1636
- prepareSnapSpec(layer);
1637
- if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
1638
- self.setState({
1639
- isLoading: true,
1640
- waitForRender: 0
1641
- });
1642
- this.props.setIsLoading3D(true);
1643
- self.renderer.domElement.style.display = 'none';
1644
- }
1645
- if (nextProps.state.scene.showfg == true) {
1646
- implementBacksplash();
1647
- implementWarningBox();
1648
- } else {
1649
- (0, _sceneCreator.deleteSpecifiedMeshObjects)('TransformBox');
1650
- }
1651
- var _this$state = this.state,
1652
- toolObj = _this$state.toolObj,
1653
- angleObj = _this$state.angleObj;
1654
- var _updateScene = (0, _sceneCreator.updateScene)(this.planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj),
1655
- promise = _updateScene.promise;
1656
- promise.then(function (p1Value) {
1657
- self.setState({
1658
- waitForRender: 1
1659
- });
1660
- });
1661
- }
1662
- }
1663
- }, {
1664
- key: "render",
1665
- value: function render() {
1666
- var isLoading = this.state.isLoading;
1667
- if (isLoading) {
1668
- // document.getElementById('elevation') && (document.getElementById('elevation').style.display = 'none');
1669
- this.renderer.domElement.style.display = 'none';
1670
- return /*#__PURE__*/_react["default"].createElement("div", {
1671
- style: {
1672
- alignItems: ' center',
1673
- width: this.props.width,
1674
- height: this.props.height,
1675
- display: 'inline-flex',
1676
- justifyContent: 'center'
1677
- }
1678
- }, /*#__PURE__*/_react["default"].createElement("img", {
1679
- style: {
1680
- width: '70px',
1681
- height: '70px',
1682
- animation: 'spin 2s linear infinite'
1683
- },
1684
- src: '/assets/img/loading_large.gif',
1685
- alt: "img"
1686
- }));
1687
- } else {
1688
- this.renderer.domElement.style.pointerEvents = 'auto';
1689
- this.renderer.domElement.style.opacity = '1';
1690
- // document.getElementById('elevation') && (document.getElementById('elevation').style.display = 'block');
1691
- return /*#__PURE__*/_react["default"].createElement('div', {
1692
- ref: 'canvasWrapper'
1693
- });
1694
- }
1695
- }
1696
- }]);
1697
- }(_react["default"].Component);
1698
- Viewer3DElevationDownload.propTypes = {
1699
- state: _propTypes["default"].object.isRequired,
1700
- width: _propTypes["default"].number.isRequired,
1701
- height: _propTypes["default"].number.isRequired,
1702
- replaceCabinet: _propTypes["default"].func.isRequired
1703
- };
1704
- Viewer3DElevationDownload.contextTypes = {
1705
- areaActions: _propTypes["default"].object.isRequired,
1706
- holesActions: _propTypes["default"].object.isRequired,
1707
- itemsActions: _propTypes["default"].object.isRequired,
1708
- linesActions: _propTypes["default"].object.isRequired,
1709
- sceneActions: _propTypes["default"].object.isRequired,
1710
- projectActions: _propTypes["default"].object.isRequired,
1711
- catalog: _propTypes["default"].object
1712
- };
1713
- //# sourceMappingURL=viewer3DElevationDownload.js.map