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

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