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