kitchen-simulator 1.1.1-test.9 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1034) hide show
  1. package/README.md +24 -1
  2. package/es/LiteKitchenConfigurator.js +480 -0
  3. package/es/LiteRenderer.js +503 -0
  4. package/es/actions/export.js +25 -12
  5. package/es/actions/items-actions.js +11 -6
  6. package/es/actions/project-actions.js +9 -4
  7. package/es/analytics/ga4.js +1 -4
  8. package/es/assets/Window.hdr +2100 -0
  9. package/es/assets/brown_photostudio_02_1k.hdr +0 -0
  10. package/es/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  11. package/es/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  12. package/es/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  13. package/es/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  14. package/es/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  15. package/es/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  16. package/es/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  17. package/es/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  18. package/es/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  19. package/es/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  20. package/es/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  21. package/es/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  22. package/es/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  23. package/es/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  24. package/es/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  25. package/es/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  26. package/es/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  27. package/es/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  28. package/es/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  29. package/es/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  30. package/es/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  31. package/es/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  32. package/es/assets/fonts/style.css +177 -0
  33. package/es/assets/gltf/door_closet.bin +0 -0
  34. package/es/assets/gltf/door_closet.fbx +0 -0
  35. package/es/assets/gltf/door_closet.gltf +1 -0
  36. package/es/assets/gltf/door_exterior.bin +0 -0
  37. package/es/assets/gltf/door_exterior.fbx +0 -0
  38. package/es/assets/gltf/door_exterior.gltf +1 -0
  39. package/es/assets/gltf/door_interior.bin +0 -0
  40. package/es/assets/gltf/door_interior.fbx +0 -0
  41. package/es/assets/gltf/door_interior.gltf +1 -0
  42. package/es/assets/gltf/door_sliding.bin +0 -0
  43. package/es/assets/gltf/door_sliding.fbx +0 -0
  44. package/es/assets/gltf/door_sliding.gltf +1 -0
  45. package/es/assets/gltf/doorway_framed.bin +0 -0
  46. package/es/assets/gltf/doorway_framed.fbx +0 -0
  47. package/es/assets/gltf/doorway_framed.gltf +1 -0
  48. package/es/assets/gltf/window_clear.bin +0 -0
  49. package/es/assets/gltf/window_clear.fbx +0 -0
  50. package/es/assets/gltf/window_clear.gltf +1 -0
  51. package/es/assets/gltf/window_cross.bin +0 -0
  52. package/es/assets/gltf/window_cross.fbx +0 -0
  53. package/es/assets/gltf/window_cross.gltf +1 -0
  54. package/es/assets/gltf/window_double_hung.bin +0 -0
  55. package/es/assets/gltf/window_double_hung.fbx +0 -0
  56. package/es/assets/gltf/window_double_hung.gltf +1 -0
  57. package/es/assets/gltf/window_vertical.bin +0 -0
  58. package/es/assets/gltf/window_vertical.fbx +0 -0
  59. package/es/assets/gltf/window_vertical.gltf +1 -0
  60. package/es/assets/img/1.jpg +0 -0
  61. package/es/assets/img/TKC_thumbnail.png +0 -0
  62. package/es/assets/img/Toggle.png +0 -0
  63. package/es/assets/img/loading/loading.gif +0 -0
  64. package/es/assets/img/loading/loading_1.svg +11 -0
  65. package/es/assets/img/loading_large.gif +0 -0
  66. package/es/assets/img/png/door/closet.png +0 -0
  67. package/es/assets/img/png/door/doorwaysframed.png +0 -0
  68. package/es/assets/img/png/door/doorwaysframeles.png +0 -0
  69. package/es/assets/img/png/door/doorwaysframeless.png +0 -0
  70. package/es/assets/img/png/door/exterior.png +0 -0
  71. package/es/assets/img/png/door/interior.png +0 -0
  72. package/es/assets/img/png/door/sliding.png +0 -0
  73. package/es/assets/img/png/helper/outcome.png +0 -0
  74. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  75. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  76. package/es/assets/img/project_img.png +0 -0
  77. package/es/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  78. package/es/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  79. package/es/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  80. package/es/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  81. package/es/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  82. package/es/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  83. package/es/assets/img/rta/rta_logo_box_maroon.png +0 -0
  84. package/es/assets/img/rta/rta_logo_box_white.png +0 -0
  85. package/es/assets/img/rta_menu.png +0 -0
  86. package/es/assets/img/step2.jpg +0 -0
  87. package/es/assets/img/step3.jpg +0 -0
  88. package/es/assets/img/step4.jpg +0 -0
  89. package/es/assets/img/step5.jpg +0 -0
  90. package/es/assets/img/step6.jpg +0 -0
  91. package/es/assets/img/step7.jpg +0 -0
  92. package/es/assets/img/step8.jpg +0 -0
  93. package/es/assets/img/svg/2d_delete_object.svg +33 -0
  94. package/es/assets/img/svg/2d_delete_object1.svg +33 -0
  95. package/es/assets/img/svg/2d_lock_object.svg +33 -0
  96. package/es/assets/img/svg/3d_item_move.svg +106 -0
  97. package/es/assets/img/svg/3d_item_rotation.svg +76 -0
  98. package/es/assets/img/svg/3d_item_warning_edit.svg +77 -0
  99. package/es/assets/img/svg/3d_item_warning_info.svg +81 -0
  100. package/es/assets/img/svg/accessories.svg +4 -0
  101. package/es/assets/img/svg/angle_icon.svg +39 -0
  102. package/es/assets/img/svg/blank_div.svg +14 -0
  103. package/es/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  104. package/es/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  105. package/es/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  106. package/es/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  107. package/es/assets/img/svg/bottombar/arrow-down.svg +3 -0
  108. package/es/assets/img/svg/bottombar/arrow-left.svg +3 -0
  109. package/es/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  110. package/es/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  111. package/es/assets/img/svg/bottombar/arrow-right.svg +3 -0
  112. package/es/assets/img/svg/bottombar/arrow-up.svg +3 -0
  113. package/es/assets/img/svg/bottombar/collapse.svg +3 -0
  114. package/es/assets/img/svg/bottombar/elevation-back.svg +6 -0
  115. package/es/assets/img/svg/bottombar/elevation-front.svg +6 -0
  116. package/es/assets/img/svg/bottombar/elevation-left.svg +6 -0
  117. package/es/assets/img/svg/bottombar/elevation-right.svg +7 -0
  118. package/es/assets/img/svg/bottombar/elevation.svg +6 -0
  119. package/es/assets/img/svg/bottombar/expand.svg +3 -0
  120. package/es/assets/img/svg/bottombar/help.svg +72 -0
  121. package/es/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  122. package/es/assets/img/svg/bottombar/pan_1.svg +57 -0
  123. package/es/assets/img/svg/bottombar/pan_2.svg +27 -0
  124. package/es/assets/img/svg/bottombar/pan_3.svg +27 -0
  125. package/es/assets/img/svg/bottombar/pan_4.svg +27 -0
  126. package/es/assets/img/svg/bottombar/pan_5.svg +27 -0
  127. package/es/assets/img/svg/bottombar/settings.svg +23 -0
  128. package/es/assets/img/svg/bottombar/spin-down.svg +76 -0
  129. package/es/assets/img/svg/bottombar/spin-left.svg +75 -0
  130. package/es/assets/img/svg/bottombar/spin-right.svg +75 -0
  131. package/es/assets/img/svg/bottombar/spin-up.svg +76 -0
  132. package/es/assets/img/svg/bottombar/spin_1.svg +48 -0
  133. package/es/assets/img/svg/bottombar/spin_2.svg +31 -0
  134. package/es/assets/img/svg/bottombar/spin_3.svg +31 -0
  135. package/es/assets/img/svg/bottombar/spin_4.svg +31 -0
  136. package/es/assets/img/svg/bottombar/spin_5.svg +31 -0
  137. package/es/assets/img/svg/bottombar/zoomin.svg +29 -0
  138. package/es/assets/img/svg/bottombar/zoomout.svg +26 -0
  139. package/es/assets/img/svg/check.svg +10 -0
  140. package/es/assets/img/svg/close.svg +11 -0
  141. package/es/assets/img/svg/color/Black.svg +3 -0
  142. package/es/assets/img/svg/color/Blue.svg +3 -0
  143. package/es/assets/img/svg/color/Brown.svg +9 -0
  144. package/es/assets/img/svg/color/Cream.svg +3 -0
  145. package/es/assets/img/svg/color/Dark.svg +9 -0
  146. package/es/assets/img/svg/color/Gray.svg +3 -0
  147. package/es/assets/img/svg/color/Green.svg +3 -0
  148. package/es/assets/img/svg/color/Light.svg +9 -0
  149. package/es/assets/img/svg/color/Medium.svg +9 -0
  150. package/es/assets/img/svg/color/Unfinished.svg +9 -0
  151. package/es/assets/img/svg/color/White.svg +3 -0
  152. package/es/assets/img/svg/color/White.svg.bak +3 -0
  153. package/es/assets/img/svg/color/stone2.jpg +0 -0
  154. package/es/assets/img/svg/color/wood2.jpg +0 -0
  155. package/es/assets/img/svg/copy.svg +11 -0
  156. package/es/assets/img/svg/delete.svg +3 -0
  157. package/es/assets/img/svg/detail.svg +77 -0
  158. package/es/assets/img/svg/disclaimer/background.svg +758 -0
  159. package/es/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  160. package/es/assets/img/svg/door/Closet.svg +11 -0
  161. package/es/assets/img/svg/door/Exterior.svg +5 -0
  162. package/es/assets/img/svg/door/Framed_dorway.svg +5 -0
  163. package/es/assets/img/svg/door/Frameless_dorway.svg +5 -0
  164. package/es/assets/img/svg/door/Interior.svg +7 -0
  165. package/es/assets/img/svg/door/Sliding.svg +5 -0
  166. package/es/assets/img/svg/doors_closet.svg +47 -0
  167. package/es/assets/img/svg/doors_exterior.svg +25 -0
  168. package/es/assets/img/svg/doors_interior.svg +29 -0
  169. package/es/assets/img/svg/doors_patio.svg +26 -0
  170. package/es/assets/img/svg/duplicate.svg +11 -0
  171. package/es/assets/img/svg/duplicate_object_left.svg +32 -0
  172. package/es/assets/img/svg/duplicate_object_right.svg +32 -0
  173. package/es/assets/img/svg/filtersActive.svg +19 -0
  174. package/es/assets/img/svg/firstsetting/L.svg +3 -0
  175. package/es/assets/img/svg/firstsetting/L2.svg +3 -0
  176. package/es/assets/img/svg/firstsetting/Open.svg +3 -0
  177. package/es/assets/img/svg/firstsetting/Square.svg +3 -0
  178. package/es/assets/img/svg/firstsetting/bar-active.svg +9 -0
  179. package/es/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  180. package/es/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  181. package/es/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  182. package/es/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  183. package/es/assets/img/svg/firstsetting/check-active.svg +3 -0
  184. package/es/assets/img/svg/firstsetting/check-normal.svg +3 -0
  185. package/es/assets/img/svg/firstsetting/pencil.svg +11 -0
  186. package/es/assets/img/svg/green_checkmark.svg +27 -0
  187. package/es/assets/img/svg/headerbar/assist.svg +3 -0
  188. package/es/assets/img/svg/headerbar/cart.svg +3 -0
  189. package/es/assets/img/svg/headerbar/check.svg +10 -0
  190. package/es/assets/img/svg/headerbar/consult_designer.svg +45 -0
  191. package/es/assets/img/svg/headerbar/edit_name.svg +26 -0
  192. package/es/assets/img/svg/headerbar/file-dollar.svg +13 -0
  193. package/es/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  194. package/es/assets/img/svg/headerbar/plus.svg +11 -0
  195. package/es/assets/img/svg/headerbar/review_quote.svg +44 -0
  196. package/es/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  197. package/es/assets/img/svg/headerbar/save.svg +3 -0
  198. package/es/assets/img/svg/headerbar/setting.svg +75 -0
  199. package/es/assets/img/svg/help/check.svg +10 -0
  200. package/es/assets/img/svg/help/search.svg +76 -0
  201. package/es/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  202. package/es/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  203. package/es/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  204. package/es/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  205. package/es/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  206. package/es/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  207. package/es/assets/img/svg/invert.svg +127 -0
  208. package/es/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  209. package/es/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  210. package/es/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  211. package/es/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  212. package/es/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  213. package/es/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  214. package/es/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  215. package/es/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  216. package/es/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  217. package/es/assets/img/svg/lefttoolbar/door.svg +12 -0
  218. package/es/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  219. package/es/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  220. package/es/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  221. package/es/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  222. package/es/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  223. package/es/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  224. package/es/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  225. package/es/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  226. package/es/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  227. package/es/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  228. package/es/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  229. package/es/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  230. package/es/assets/img/svg/lefttoolbar/search.svg +76 -0
  231. package/es/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  232. package/es/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  233. package/es/assets/img/svg/lefttoolbar/window.svg +12 -0
  234. package/es/assets/img/svg/logo.svg +11 -0
  235. package/es/assets/img/svg/logo_with_text.svg +25 -0
  236. package/es/assets/img/svg/menubar/login.svg +84 -0
  237. package/es/assets/img/svg/menubar/my_projects.svg +85 -0
  238. package/es/assets/img/svg/menubar/new_project.svg +110 -0
  239. package/es/assets/img/svg/menubar/save_project.svg +84 -0
  240. package/es/assets/img/svg/options.svg +3 -0
  241. package/es/assets/img/svg/positioning.svg +3 -0
  242. package/es/assets/img/svg/rotate.png +0 -0
  243. package/es/assets/img/svg/rotate.svg +17 -0
  244. package/es/assets/img/svg/rotate_object_clockwise.svg +26 -0
  245. package/es/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  246. package/es/assets/img/svg/toggleFilters.svg +19 -0
  247. package/es/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  248. package/es/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  249. package/es/assets/img/svg/toolbar/add_button.svg +36 -0
  250. package/es/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  251. package/es/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  252. package/es/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  253. package/es/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  254. package/es/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  255. package/es/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  256. package/es/assets/img/svg/toolbar/apply_button.svg +38 -0
  257. package/es/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  258. package/es/assets/img/svg/toolbar/backsplash.svg +8 -0
  259. package/es/assets/img/svg/toolbar/cancel_button.svg +37 -0
  260. package/es/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  261. package/es/assets/img/svg/toolbar/countertop.svg +7 -0
  262. package/es/assets/img/svg/toolbar/dcm.png +0 -0
  263. package/es/assets/img/svg/toolbar/dcm_off.svg +12 -0
  264. package/es/assets/img/svg/toolbar/dcm_on.svg +474 -0
  265. package/es/assets/img/svg/toolbar/delete_button.svg +37 -0
  266. package/es/assets/img/svg/toolbar/download.svg +77 -0
  267. package/es/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  268. package/es/assets/img/svg/toolbar/edit_button.svg +75 -0
  269. package/es/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  270. package/es/assets/img/svg/toolbar/fbm.png +0 -0
  271. package/es/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  272. package/es/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  273. package/es/assets/img/svg/toolbar/floorstyle.svg +9 -0
  274. package/es/assets/img/svg/toolbar/fmb.png +0 -0
  275. package/es/assets/img/svg/toolbar/fmb_off.svg +12 -0
  276. package/es/assets/img/svg/toolbar/fmb_on.svg +489 -0
  277. package/es/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  278. package/es/assets/img/svg/toolbar/get_started_button.svg +41 -0
  279. package/es/assets/img/svg/toolbar/handles.svg +5 -0
  280. package/es/assets/img/svg/toolbar/lighting.svg +7 -0
  281. package/es/assets/img/svg/toolbar/lrm.png +0 -0
  282. package/es/assets/img/svg/toolbar/lrm_off.svg +12 -0
  283. package/es/assets/img/svg/toolbar/lrm_on.svg +470 -0
  284. package/es/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  285. package/es/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  286. package/es/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  287. package/es/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  288. package/es/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  289. package/es/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  290. package/es/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  291. package/es/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  292. package/es/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  293. package/es/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  294. package/es/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  295. package/es/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  296. package/es/assets/img/svg/toolbar/redo_button.svg +75 -0
  297. package/es/assets/img/svg/toolbar/redo_button1.svg +75 -0
  298. package/es/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  299. package/es/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  300. package/es/assets/img/svg/toolbar/save_project_button.svg +44 -0
  301. package/es/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  302. package/es/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  303. package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  304. package/es/assets/img/svg/toolbar/style_change_button.svg +47 -0
  305. package/es/assets/img/svg/toolbar/take_picture.svg +75 -0
  306. package/es/assets/img/svg/toolbar/undo_button.svg +76 -0
  307. package/es/assets/img/svg/toolbar/undo_button1.svg +76 -0
  308. package/es/assets/img/svg/toolbar/use_button.svg +37 -0
  309. package/es/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  310. package/es/assets/img/svg/topbar/edit_active.svg +10 -0
  311. package/es/assets/img/svg/topbar/edit_inactive.svg +10 -0
  312. package/es/assets/img/svg/topbar/redo_active.svg +42 -0
  313. package/es/assets/img/svg/topbar/redo_inactive.svg +23 -0
  314. package/es/assets/img/svg/topbar/select_all_active.svg +50 -0
  315. package/es/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  316. package/es/assets/img/svg/topbar/take_picture_active.svg +51 -0
  317. package/es/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  318. package/es/assets/img/svg/topbar/undo_active.svg +42 -0
  319. package/es/assets/img/svg/topbar/undo_inactive.svg +23 -0
  320. package/es/assets/img/svg/warning_info_2d.svg +81 -0
  321. package/es/assets/img/svg/window/Clear.svg +3 -0
  322. package/es/assets/img/svg/window/Cross.svg +5 -0
  323. package/es/assets/img/svg/window/Double_hung.svg +4 -0
  324. package/es/assets/img/svg/window/Vertical.svg +4 -0
  325. package/es/assets/img/svg/windows_clear.svg +23 -0
  326. package/es/assets/img/svg/windows_cross.svg +28 -0
  327. package/es/assets/img/svg/windows_double_hung.svg +24 -0
  328. package/es/assets/img/svg/windows_vertical.svg +24 -0
  329. package/es/assets/img/svg/wizardstep/Custom.svg +3 -0
  330. package/es/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  331. package/es/assets/img/svg/wizardstep/L.svg +3 -0
  332. package/es/assets/img/svg/wizardstep/L2.svg +3 -0
  333. package/es/assets/img/svg/wizardstep/Open.svg +3 -0
  334. package/es/assets/img/svg/wizardstep/Square.svg +3 -0
  335. package/es/assets/img/svg/wizardstep/bar-active.svg +9 -0
  336. package/es/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  337. package/es/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  338. package/es/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  339. package/es/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  340. package/es/assets/img/svg/wizardstep/check-active.svg +3 -0
  341. package/es/assets/img/svg/wizardstep/check-normal.svg +3 -0
  342. package/es/assets/img/svg/wizardstep/detail_view.svg +87 -0
  343. package/es/assets/img/svg/wizardstep/pencil.svg +11 -0
  344. package/es/assets/img/svg/wizardstep/tile_view.svg +95 -0
  345. package/es/assets/img/texture/glass.jpg +0 -0
  346. package/es/assets/img/texture/steel.jpg +0 -0
  347. package/es/assets/img/texture/white1px.jpg +0 -0
  348. package/es/assets/img/texture/wood.jpg +0 -0
  349. package/es/assets/model/DCM.bin +0 -0
  350. package/es/assets/model/DCM.fbx +0 -0
  351. package/es/assets/model/DCM.gltf +1 -0
  352. package/es/assets/model/FBM.bin +0 -0
  353. package/es/assets/model/FBM.fbx +0 -0
  354. package/es/assets/model/FBM.gltf +1 -0
  355. package/es/assets/model/LRM.bin +0 -0
  356. package/es/assets/model/LRM.fbx +0 -0
  357. package/es/assets/model/LRM.gltf +1 -0
  358. package/es/assets/rtastore_logo.png +0 -0
  359. package/es/catalog/areas/area/planner-element.js +12 -7
  360. package/es/catalog/back.png +0 -0
  361. package/es/catalog/catalog.js +4 -16
  362. package/es/catalog/doors.png +0 -0
  363. package/es/catalog/doorways.png +0 -0
  364. package/es/catalog/export.js +0 -0
  365. package/es/catalog/factories/area-factory.js +1 -4
  366. package/es/catalog/factories/wall-factory-3d.js +3 -3
  367. package/es/catalog/factories/wall-factory.js +9 -10
  368. package/es/catalog/lines/wall/planner-element.js +20 -11
  369. package/es/catalog/molding/molding-dcm/planner-element.js +0 -2
  370. package/es/catalog/molding/molding-fbm/planner-element.js +0 -2
  371. package/es/catalog/molding/molding-lrm/planner-element.js +0 -2
  372. package/es/catalog/properties/property-checkbox.js +2 -5
  373. package/es/catalog/properties/property-enum.js +2 -7
  374. package/es/catalog/properties/property-lenght-measure.js +4 -5
  375. package/es/catalog/properties/property-length-measure.js +6 -7
  376. package/es/catalog/properties/property-length-measure_hole.js +4 -5
  377. package/es/catalog/utils/FuseUtils.js +3 -6
  378. package/es/catalog/utils/exporter.js +7 -6
  379. package/es/catalog/utils/item-loader.js +115 -42
  380. package/es/catalog/utils/mtl-loader.js +2 -2
  381. package/es/catalog/utils/obj-loader.js +2 -2
  382. package/es/catalog/windows.png +0 -0
  383. package/es/class/FuseUtils.js +3 -6
  384. package/es/class/area.js +3 -7
  385. package/es/class/group.js +3 -12
  386. package/es/class/guide.js +2 -6
  387. package/es/class/hole.js +2 -6
  388. package/es/class/item.js +124 -164
  389. package/es/class/layer.js +2 -6
  390. package/es/class/line.js +115 -74
  391. package/es/class/project.js +34 -32
  392. package/es/class/vertex.js +4 -8
  393. package/es/components/content.js +30 -5
  394. package/es/components/export.js +3 -5
  395. package/es/components/style/button.js +7 -14
  396. package/es/components/style/cancel-button.js +2 -3
  397. package/es/components/style/content-container.js +1 -4
  398. package/es/components/style/content-title.js +3 -7
  399. package/es/components/style/delete-button.js +2 -3
  400. package/es/components/style/form-block.js +3 -7
  401. package/es/components/style/form-color-input.js +2 -3
  402. package/es/components/style/form-label.js +3 -7
  403. package/es/components/style/form-number-input.js +6 -12
  404. package/es/components/style/form-number-input_2.js +6 -12
  405. package/es/components/style/form-select.js +3 -4
  406. package/es/components/style/form-slider.js +24 -9
  407. package/es/components/style/form-submit-button.js +2 -3
  408. package/es/components/style/form-text-input.js +8 -15
  409. package/es/components/viewer2d/area.js +4 -4
  410. package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -1
  411. package/es/components/viewer2d/grids/grid-streak.js +1 -2
  412. package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -1
  413. package/es/components/viewer2d/grids/grids.js +1 -6
  414. package/es/components/viewer2d/item.js +25 -91
  415. package/es/components/viewer2d/layer.js +1 -1
  416. package/es/components/viewer2d/line.js +336 -257
  417. package/es/components/viewer2d/ruler.js +17 -38
  418. package/es/components/viewer2d/rulerDist.js +19 -33
  419. package/es/components/viewer2d/rulerX.js +6 -12
  420. package/es/components/viewer2d/rulerY.js +6 -12
  421. package/es/components/viewer2d/scene.js +13 -25
  422. package/es/components/viewer2d/state.js +1 -6
  423. package/es/components/viewer2d/utils.js +27 -2
  424. package/es/components/viewer2d/viewer2d.js +155 -120
  425. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +6 -13
  426. package/es/components/viewer3d/front3D.js +1 -6
  427. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  428. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  429. package/es/components/viewer3d/libs/orbit-controls.js +3 -4
  430. package/es/components/viewer3d/libs/pointer-lock-controls.js +6 -7
  431. package/es/components/viewer3d/ruler-utils/itemRect.js +1 -1
  432. package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
  433. package/es/components/viewer3d/ruler-utils/ruler3D.js +1 -4
  434. package/es/components/viewer3d/ruler-utils/scene3D.js +1 -3
  435. package/es/components/viewer3d/scene-creator.js +27 -18
  436. package/es/components/viewer3d/viewer3d-first-person.js +5 -11
  437. package/es/components/viewer3d/viewer3d.js +379 -254
  438. package/es/constants.js +55 -3
  439. package/es/devLiteRenderer.js +316 -0
  440. package/es/index.js +56 -15
  441. package/es/models.js +16 -20
  442. package/es/plugins/console-debugger.js +1 -4
  443. package/es/plugins/export.js +1 -3
  444. package/es/reducers/items-reducer.js +8 -4
  445. package/es/reducers/project-reducer.js +4 -2
  446. package/es/reducers/viewer2d-reducer.js +2 -2
  447. package/es/reducers/viewer3d-reducer.js +2 -2
  448. package/es/shared-style.js +4 -4
  449. package/es/translator/translator.js +2 -6
  450. package/es/utils/convert-units-lite.js +29 -0
  451. package/es/utils/geometry.js +68 -42
  452. package/es/utils/get-edges-of-subgraphs.js +1 -1
  453. package/es/utils/graph-cycles.js +1 -1
  454. package/es/utils/graph.js +3 -7
  455. package/es/utils/helper.js +4 -6
  456. package/es/utils/id-broker.js +4 -8
  457. package/es/utils/isolate-event-handler.js +683 -0
  458. package/es/utils/molding.js +36 -42
  459. package/es/utils/name-generator.js +2 -6
  460. package/es/utils/objects-utils.js +1 -1
  461. package/es/utils/process-black-list.js +1 -4
  462. package/es/utils/snap-scene.js +1 -6
  463. package/es/utils/snap.js +6 -12
  464. package/es/utils/threeCSG.es6.js +2 -6
  465. package/es/version.js +1 -2
  466. package/lib/@history.js +3 -2
  467. package/lib/AppContext.js +3 -2
  468. package/lib/LiteKitchenConfigurator.js +490 -0
  469. package/lib/LiteRenderer.js +513 -0
  470. package/lib/actions/export.js +35 -39
  471. package/lib/actions/items-actions.js +11 -5
  472. package/lib/actions/project-actions.js +9 -3
  473. package/lib/analytics/ga4.js +3 -6
  474. package/lib/analytics/posthog.js +1 -1
  475. package/lib/assets/Window.hdr +2100 -0
  476. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  477. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  478. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  479. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  480. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  481. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  482. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  483. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  484. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  485. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  486. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  487. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  488. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  489. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  490. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  491. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  492. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  493. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  494. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  495. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  496. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  497. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  498. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  499. package/lib/assets/fonts/style.css +177 -0
  500. package/lib/assets/gltf/door_closet.bin +0 -0
  501. package/lib/assets/gltf/door_closet.fbx +0 -0
  502. package/lib/assets/gltf/door_closet.gltf +1 -0
  503. package/lib/assets/gltf/door_exterior.bin +0 -0
  504. package/lib/assets/gltf/door_exterior.fbx +0 -0
  505. package/lib/assets/gltf/door_exterior.gltf +1 -0
  506. package/lib/assets/gltf/door_interior.bin +0 -0
  507. package/lib/assets/gltf/door_interior.fbx +0 -0
  508. package/lib/assets/gltf/door_interior.gltf +1 -0
  509. package/lib/assets/gltf/door_sliding.bin +0 -0
  510. package/lib/assets/gltf/door_sliding.fbx +0 -0
  511. package/lib/assets/gltf/door_sliding.gltf +1 -0
  512. package/lib/assets/gltf/doorway_framed.bin +0 -0
  513. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  514. package/lib/assets/gltf/doorway_framed.gltf +1 -0
  515. package/lib/assets/gltf/window_clear.bin +0 -0
  516. package/lib/assets/gltf/window_clear.fbx +0 -0
  517. package/lib/assets/gltf/window_clear.gltf +1 -0
  518. package/lib/assets/gltf/window_cross.bin +0 -0
  519. package/lib/assets/gltf/window_cross.fbx +0 -0
  520. package/lib/assets/gltf/window_cross.gltf +1 -0
  521. package/lib/assets/gltf/window_double_hung.bin +0 -0
  522. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  523. package/lib/assets/gltf/window_double_hung.gltf +1 -0
  524. package/lib/assets/gltf/window_vertical.bin +0 -0
  525. package/lib/assets/gltf/window_vertical.fbx +0 -0
  526. package/lib/assets/gltf/window_vertical.gltf +1 -0
  527. package/lib/assets/img/1.jpg +0 -0
  528. package/lib/assets/img/TKC_thumbnail.png +0 -0
  529. package/lib/assets/img/Toggle.png +0 -0
  530. package/lib/assets/img/loading/loading.gif +0 -0
  531. package/lib/assets/img/loading/loading_1.svg +11 -0
  532. package/lib/assets/img/loading_large.gif +0 -0
  533. package/lib/assets/img/png/door/closet.png +0 -0
  534. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  535. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  536. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  537. package/lib/assets/img/png/door/exterior.png +0 -0
  538. package/lib/assets/img/png/door/interior.png +0 -0
  539. package/lib/assets/img/png/door/sliding.png +0 -0
  540. package/lib/assets/img/png/helper/outcome.png +0 -0
  541. package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
  542. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  543. package/lib/assets/img/project_img.png +0 -0
  544. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  545. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  546. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  547. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  548. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  549. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  550. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  551. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  552. package/lib/assets/img/rta_menu.png +0 -0
  553. package/lib/assets/img/step2.jpg +0 -0
  554. package/lib/assets/img/step3.jpg +0 -0
  555. package/lib/assets/img/step4.jpg +0 -0
  556. package/lib/assets/img/step5.jpg +0 -0
  557. package/lib/assets/img/step6.jpg +0 -0
  558. package/lib/assets/img/step7.jpg +0 -0
  559. package/lib/assets/img/step8.jpg +0 -0
  560. package/lib/assets/img/svg/2d_delete_object.svg +33 -0
  561. package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
  562. package/lib/assets/img/svg/2d_lock_object.svg +33 -0
  563. package/lib/assets/img/svg/3d_item_move.svg +106 -0
  564. package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
  565. package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
  566. package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
  567. package/lib/assets/img/svg/accessories.svg +4 -0
  568. package/lib/assets/img/svg/angle_icon.svg +39 -0
  569. package/lib/assets/img/svg/blank_div.svg +14 -0
  570. package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  571. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  572. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  573. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  574. package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
  575. package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
  576. package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  577. package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  578. package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
  579. package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
  580. package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
  581. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
  582. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
  583. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
  584. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
  585. package/lib/assets/img/svg/bottombar/elevation.svg +6 -0
  586. package/lib/assets/img/svg/bottombar/expand.svg +3 -0
  587. package/lib/assets/img/svg/bottombar/help.svg +72 -0
  588. package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  589. package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
  590. package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
  591. package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
  592. package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
  593. package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
  594. package/lib/assets/img/svg/bottombar/settings.svg +23 -0
  595. package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
  596. package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
  597. package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
  598. package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
  599. package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
  600. package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
  601. package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
  602. package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
  603. package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
  604. package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
  605. package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
  606. package/lib/assets/img/svg/check.svg +10 -0
  607. package/lib/assets/img/svg/close.svg +11 -0
  608. package/lib/assets/img/svg/color/Black.svg +3 -0
  609. package/lib/assets/img/svg/color/Blue.svg +3 -0
  610. package/lib/assets/img/svg/color/Brown.svg +9 -0
  611. package/lib/assets/img/svg/color/Cream.svg +3 -0
  612. package/lib/assets/img/svg/color/Dark.svg +9 -0
  613. package/lib/assets/img/svg/color/Gray.svg +3 -0
  614. package/lib/assets/img/svg/color/Green.svg +3 -0
  615. package/lib/assets/img/svg/color/Light.svg +9 -0
  616. package/lib/assets/img/svg/color/Medium.svg +9 -0
  617. package/lib/assets/img/svg/color/Unfinished.svg +9 -0
  618. package/lib/assets/img/svg/color/White.svg +3 -0
  619. package/lib/assets/img/svg/color/White.svg.bak +3 -0
  620. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  621. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  622. package/lib/assets/img/svg/copy.svg +11 -0
  623. package/lib/assets/img/svg/delete.svg +3 -0
  624. package/lib/assets/img/svg/detail.svg +77 -0
  625. package/lib/assets/img/svg/disclaimer/background.svg +758 -0
  626. package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
  627. package/lib/assets/img/svg/door/Closet.svg +11 -0
  628. package/lib/assets/img/svg/door/Exterior.svg +5 -0
  629. package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
  630. package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
  631. package/lib/assets/img/svg/door/Interior.svg +7 -0
  632. package/lib/assets/img/svg/door/Sliding.svg +5 -0
  633. package/lib/assets/img/svg/doors_closet.svg +47 -0
  634. package/lib/assets/img/svg/doors_exterior.svg +25 -0
  635. package/lib/assets/img/svg/doors_interior.svg +29 -0
  636. package/lib/assets/img/svg/doors_patio.svg +26 -0
  637. package/lib/assets/img/svg/duplicate.svg +11 -0
  638. package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
  639. package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
  640. package/lib/assets/img/svg/filtersActive.svg +19 -0
  641. package/lib/assets/img/svg/firstsetting/L.svg +3 -0
  642. package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
  643. package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
  644. package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
  645. package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
  646. package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  647. package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  648. package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  649. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  650. package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
  651. package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
  652. package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
  653. package/lib/assets/img/svg/green_checkmark.svg +27 -0
  654. package/lib/assets/img/svg/headerbar/assist.svg +3 -0
  655. package/lib/assets/img/svg/headerbar/cart.svg +3 -0
  656. package/lib/assets/img/svg/headerbar/check.svg +10 -0
  657. package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
  658. package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
  659. package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
  660. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  661. package/lib/assets/img/svg/headerbar/plus.svg +11 -0
  662. package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
  663. package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  664. package/lib/assets/img/svg/headerbar/save.svg +3 -0
  665. package/lib/assets/img/svg/headerbar/setting.svg +75 -0
  666. package/lib/assets/img/svg/help/check.svg +10 -0
  667. package/lib/assets/img/svg/help/search.svg +76 -0
  668. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  669. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  670. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  671. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  672. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  673. package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  674. package/lib/assets/img/svg/invert.svg +127 -0
  675. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  676. package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  677. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  678. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  679. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  680. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  681. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  682. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  683. package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  684. package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
  685. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  686. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  687. package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  688. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  689. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  690. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  691. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  692. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  693. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  694. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  695. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  696. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  697. package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
  698. package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  699. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  700. package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
  701. package/lib/assets/img/svg/logo.svg +11 -0
  702. package/lib/assets/img/svg/logo_with_text.svg +25 -0
  703. package/lib/assets/img/svg/menubar/login.svg +84 -0
  704. package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
  705. package/lib/assets/img/svg/menubar/new_project.svg +110 -0
  706. package/lib/assets/img/svg/menubar/save_project.svg +84 -0
  707. package/lib/assets/img/svg/options.svg +3 -0
  708. package/lib/assets/img/svg/positioning.svg +3 -0
  709. package/lib/assets/img/svg/rotate.png +0 -0
  710. package/lib/assets/img/svg/rotate.svg +17 -0
  711. package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
  712. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  713. package/lib/assets/img/svg/toggleFilters.svg +19 -0
  714. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  715. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  716. package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
  717. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  718. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  719. package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  720. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  721. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  722. package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  723. package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
  724. package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  725. package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
  726. package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
  727. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  728. package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
  729. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  730. package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
  731. package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
  732. package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
  733. package/lib/assets/img/svg/toolbar/download.svg +77 -0
  734. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  735. package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
  736. package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  737. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  738. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  739. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  740. package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
  741. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  742. package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
  743. package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
  744. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  745. package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
  746. package/lib/assets/img/svg/toolbar/handles.svg +5 -0
  747. package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
  748. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  749. package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
  750. package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
  751. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  752. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  753. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  754. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  755. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  756. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  757. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  758. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  759. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  760. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  761. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  762. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  763. package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
  764. package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
  765. package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  766. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  767. package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
  768. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  769. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  770. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  771. package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
  772. package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
  773. package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
  774. package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
  775. package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
  776. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  777. package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
  778. package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
  779. package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
  780. package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
  781. package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
  782. package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  783. package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
  784. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  785. package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
  786. package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
  787. package/lib/assets/img/svg/warning_info_2d.svg +81 -0
  788. package/lib/assets/img/svg/window/Clear.svg +3 -0
  789. package/lib/assets/img/svg/window/Cross.svg +5 -0
  790. package/lib/assets/img/svg/window/Double_hung.svg +4 -0
  791. package/lib/assets/img/svg/window/Vertical.svg +4 -0
  792. package/lib/assets/img/svg/windows_clear.svg +23 -0
  793. package/lib/assets/img/svg/windows_cross.svg +28 -0
  794. package/lib/assets/img/svg/windows_double_hung.svg +24 -0
  795. package/lib/assets/img/svg/windows_vertical.svg +24 -0
  796. package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
  797. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  798. package/lib/assets/img/svg/wizardstep/L.svg +3 -0
  799. package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
  800. package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
  801. package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
  802. package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
  803. package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  804. package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  805. package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  806. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  807. package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
  808. package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
  809. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
  810. package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
  811. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
  812. package/lib/assets/img/texture/glass.jpg +0 -0
  813. package/lib/assets/img/texture/steel.jpg +0 -0
  814. package/lib/assets/img/texture/white1px.jpg +0 -0
  815. package/lib/assets/img/texture/wood.jpg +0 -0
  816. package/lib/assets/model/DCM.bin +0 -0
  817. package/lib/assets/model/DCM.fbx +0 -0
  818. package/lib/assets/model/DCM.gltf +1 -0
  819. package/lib/assets/model/FBM.bin +0 -0
  820. package/lib/assets/model/FBM.fbx +0 -0
  821. package/lib/assets/model/FBM.gltf +1 -0
  822. package/lib/assets/model/LRM.bin +0 -0
  823. package/lib/assets/model/LRM.fbx +0 -0
  824. package/lib/assets/model/LRM.gltf +1 -0
  825. package/lib/assets/rtastore_logo.png +0 -0
  826. package/lib/catalog/areas/area/planner-element.js +14 -7
  827. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  828. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  829. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  830. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  831. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  832. package/lib/catalog/back.png +0 -0
  833. package/lib/catalog/catalog.js +10 -20
  834. package/lib/catalog/doors.png +0 -0
  835. package/lib/catalog/doorways.png +0 -0
  836. package/lib/catalog/envMap/nx.hdr +0 -0
  837. package/lib/catalog/envMap/ny.hdr +0 -0
  838. package/lib/catalog/envMap/nz.hdr +0 -0
  839. package/lib/catalog/envMap/px.hdr +0 -0
  840. package/lib/catalog/envMap/py.hdr +0 -0
  841. package/lib/catalog/envMap/pz.hdr +0 -0
  842. package/lib/catalog/export.js +1 -0
  843. package/lib/catalog/factories/area-factory-3d.js +1 -1
  844. package/lib/catalog/factories/area-factory.js +6 -7
  845. package/lib/catalog/factories/export.js +1 -1
  846. package/lib/catalog/factories/wall-factory-3d.js +6 -6
  847. package/lib/catalog/factories/wall-factory.js +12 -11
  848. package/lib/catalog/holes/door-closet/planner-element.js +4 -3
  849. package/lib/catalog/holes/door-double/door_double.png +0 -0
  850. package/lib/catalog/holes/door-double/planner-element.js +4 -3
  851. package/lib/catalog/holes/door-exterior/planner-element.js +4 -3
  852. package/lib/catalog/holes/door-interior/planner-element.js +4 -3
  853. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  854. package/lib/catalog/holes/door-panic/planner-element.js +4 -3
  855. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  856. package/lib/catalog/holes/door-panic-double/planner-element.js +4 -3
  857. package/lib/catalog/holes/door-sliding/planner-element.js +4 -3
  858. package/lib/catalog/holes/doorway-framed/planner-element.js +4 -3
  859. package/lib/catalog/holes/doorway-frameless/planner-element.js +4 -3
  860. package/lib/catalog/holes/export.js +2 -2
  861. package/lib/catalog/holes/gate/gate.jpg +0 -0
  862. package/lib/catalog/holes/window-clear/planner-element.js +4 -3
  863. package/lib/catalog/holes/window-clear/texture.png +0 -0
  864. package/lib/catalog/holes/window-cross/planner-element.js +4 -3
  865. package/lib/catalog/holes/window-cross/texture.png +0 -0
  866. package/lib/catalog/holes/window-double-hung/planner-element.js +4 -3
  867. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  868. package/lib/catalog/holes/window-vertical/planner-element.js +4 -3
  869. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  870. package/lib/catalog/lines/wall/planner-element.js +22 -11
  871. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  872. package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  873. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  874. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  875. package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
  876. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  877. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  878. package/lib/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  879. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  880. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  881. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  882. package/lib/catalog/lines/wall/wall.png +0 -0
  883. package/lib/catalog/molding/molding-dcm/planner-element.js +2 -6
  884. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  885. package/lib/catalog/molding/molding-fbm/planner-element.js +2 -6
  886. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  887. package/lib/catalog/molding/molding-lrm/planner-element.js +2 -6
  888. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  889. package/lib/catalog/properties/export.js +1 -1
  890. package/lib/catalog/properties/property-checkbox.js +12 -14
  891. package/lib/catalog/properties/property-color.js +3 -2
  892. package/lib/catalog/properties/property-enum.js +8 -12
  893. package/lib/catalog/properties/property-hidden.js +3 -2
  894. package/lib/catalog/properties/property-lenght-measure.js +11 -11
  895. package/lib/catalog/properties/property-length-measure.js +15 -15
  896. package/lib/catalog/properties/property-length-measure_hole.js +10 -10
  897. package/lib/catalog/properties/property-number.js +3 -2
  898. package/lib/catalog/properties/property-read-only.js +3 -2
  899. package/lib/catalog/properties/property-string.js +3 -2
  900. package/lib/catalog/properties/property-toggle.js +3 -2
  901. package/lib/catalog/properties/shared-property-style.js +2 -1
  902. package/lib/catalog/utils/FuseUtils.js +10 -11
  903. package/lib/catalog/utils/exporter.js +15 -13
  904. package/lib/catalog/utils/geom-utils.js +1 -1
  905. package/lib/catalog/utils/item-loader.js +140 -65
  906. package/lib/catalog/utils/mtl-loader.js +9 -2
  907. package/lib/catalog/utils/obj-loader.js +10 -2
  908. package/lib/catalog/windows.png +0 -0
  909. package/lib/class/FuseUtils.js +10 -11
  910. package/lib/class/area.js +9 -11
  911. package/lib/class/export.js +1 -1
  912. package/lib/class/group.js +13 -20
  913. package/lib/class/guide.js +9 -12
  914. package/lib/class/hole.js +7 -9
  915. package/lib/class/item.js +134 -173
  916. package/lib/class/layer.js +7 -9
  917. package/lib/class/line.js +126 -82
  918. package/lib/class/project.js +40 -35
  919. package/lib/class/vertex.js +10 -12
  920. package/lib/components/content.js +35 -8
  921. package/lib/components/export.js +6 -32
  922. package/lib/components/style/button.js +17 -22
  923. package/lib/components/style/cancel-button.js +7 -7
  924. package/lib/components/style/content-container.js +5 -7
  925. package/lib/components/style/content-title.js +10 -12
  926. package/lib/components/style/delete-button.js +8 -8
  927. package/lib/components/style/export.js +1 -1
  928. package/lib/components/style/form-block.js +9 -12
  929. package/lib/components/style/form-color-input.js +7 -7
  930. package/lib/components/style/form-label.js +9 -12
  931. package/lib/components/style/form-number-input.js +15 -19
  932. package/lib/components/style/form-number-input_2.js +15 -19
  933. package/lib/components/style/form-select.js +10 -10
  934. package/lib/components/style/form-slider.js +28 -12
  935. package/lib/components/style/form-submit-button.js +8 -8
  936. package/lib/components/style/form-text-input.js +19 -24
  937. package/lib/components/viewer2d/area.js +8 -7
  938. package/lib/components/viewer2d/export.js +1 -1
  939. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +3 -3
  940. package/lib/components/viewer2d/grids/grid-streak.js +4 -4
  941. package/lib/components/viewer2d/grids/grid-vertical-streak.js +3 -3
  942. package/lib/components/viewer2d/grids/grids.js +6 -10
  943. package/lib/components/viewer2d/group.js +4 -3
  944. package/lib/components/viewer2d/item.js +34 -98
  945. package/lib/components/viewer2d/layer.js +4 -3
  946. package/lib/components/viewer2d/line.js +338 -258
  947. package/lib/components/viewer2d/ruler.js +21 -41
  948. package/lib/components/viewer2d/rulerDist.js +23 -36
  949. package/lib/components/viewer2d/rulerX.js +15 -19
  950. package/lib/components/viewer2d/rulerY.js +15 -19
  951. package/lib/components/viewer2d/scene.js +23 -33
  952. package/lib/components/viewer2d/snap.js +4 -3
  953. package/lib/components/viewer2d/state.js +7 -11
  954. package/lib/components/viewer2d/utils.js +29 -2
  955. package/lib/components/viewer2d/vertex.js +4 -3
  956. package/lib/components/viewer2d/viewer2d.js +178 -139
  957. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
  958. package/lib/components/viewer3d/dcm.js +2 -1
  959. package/lib/components/viewer3d/fbm.js +2 -1
  960. package/lib/components/viewer3d/front3D.js +6 -10
  961. package/lib/components/viewer3d/grid-creator.js +4 -3
  962. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +3 -2
  963. package/lib/components/viewer3d/grids/grid-streak.js +3 -2
  964. package/lib/components/viewer3d/grids/grid-vertical-streak.js +3 -2
  965. package/lib/components/viewer3d/libs/mtl-loader.js +9 -2
  966. package/lib/components/viewer3d/libs/obj-loader.js +9 -2
  967. package/lib/components/viewer3d/libs/orbit-controls.js +11 -5
  968. package/lib/components/viewer3d/libs/pointer-lock-controls.js +13 -7
  969. package/lib/components/viewer3d/lrm.js +2 -1
  970. package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
  971. package/lib/components/viewer3d/ruler-utils/itemRect.js +10 -9
  972. package/lib/components/viewer3d/ruler-utils/layer3D.js +35 -34
  973. package/lib/components/viewer3d/ruler-utils/ruler3D.js +5 -7
  974. package/lib/components/viewer3d/ruler-utils/scene3D.js +3 -5
  975. package/lib/components/viewer3d/ruler-utils/state3D.js +3 -2
  976. package/lib/components/viewer3d/scene-creator.js +62 -52
  977. package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
  978. package/lib/components/viewer3d/viewer3d-first-person.js +13 -17
  979. package/lib/components/viewer3d/viewer3d.js +394 -266
  980. package/lib/constants.js +59 -7
  981. package/lib/devLiteRenderer.js +320 -0
  982. package/lib/index.js +59 -89
  983. package/lib/models.js +64 -68
  984. package/lib/plugins/console-debugger.js +5 -7
  985. package/lib/plugins/export.js +1 -9
  986. package/lib/plugins/keyboard.js +2 -1
  987. package/lib/reducers/areas-reducer.js +2 -1
  988. package/lib/reducers/export.js +1 -1
  989. package/lib/reducers/groups-reducer.js +2 -1
  990. package/lib/reducers/holes-reducer.js +2 -1
  991. package/lib/reducers/items-reducer.js +9 -4
  992. package/lib/reducers/lines-reducer.js +2 -1
  993. package/lib/reducers/project-reducer.js +5 -2
  994. package/lib/reducers/scene-reducer.js +2 -1
  995. package/lib/reducers/user-reducer.js +2 -1
  996. package/lib/reducers/vertices-reducer.js +2 -1
  997. package/lib/reducers/viewer2d-reducer.js +5 -5
  998. package/lib/reducers/viewer3d-reducer.js +5 -5
  999. package/lib/shared-style.js +4 -4
  1000. package/lib/styles/export.js +1 -1
  1001. package/lib/styles/tabs.css +40 -0
  1002. package/lib/translator/en.js +2 -1
  1003. package/lib/translator/it.js +2 -1
  1004. package/lib/translator/ru.js +2 -1
  1005. package/lib/translator/translator.js +7 -10
  1006. package/lib/utils/convert-units-lite.js +35 -0
  1007. package/lib/utils/export.js +2 -2
  1008. package/lib/utils/geometry.js +83 -54
  1009. package/lib/utils/get-edges-of-subgraphs.js +6 -1
  1010. package/lib/utils/graph-cycles.js +7 -8
  1011. package/lib/utils/graph-inner-cycles.js +1 -1
  1012. package/lib/utils/graph.js +13 -11
  1013. package/lib/utils/helper.js +15 -16
  1014. package/lib/utils/history.js +1 -1
  1015. package/lib/utils/id-broker.js +7 -10
  1016. package/lib/utils/isolate-event-handler.js +691 -0
  1017. package/lib/utils/molding.js +66 -71
  1018. package/lib/utils/name-generator.js +7 -9
  1019. package/lib/utils/objects-utils.js +5 -3
  1020. package/lib/utils/process-black-list.js +3 -5
  1021. package/lib/utils/react-if.js +3 -2
  1022. package/lib/utils/snap-scene.js +3 -7
  1023. package/lib/utils/snap.js +22 -26
  1024. package/lib/utils/threeCSG.es6.js +16 -15
  1025. package/lib/version.js +1 -2
  1026. package/package.json +53 -60
  1027. package/es/KitchenConfigurator.js +0 -652
  1028. package/es/KitchenConfiguratorApp.js +0 -495
  1029. package/es/components/disclaimer/disclaimer.js +0 -117
  1030. package/es/plugins/autosave.js +0 -33
  1031. package/lib/KitchenConfigurator.js +0 -660
  1032. package/lib/KitchenConfiguratorApp.js +0 -502
  1033. package/lib/components/disclaimer/disclaimer.js +0 -125
  1034. package/lib/plugins/autosave.js +0 -39
@@ -1,44 +1,37 @@
1
1
  'use strict';
2
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 _readOnlyError(r) { throw new TypeError('"' + r + '" is read-only'); }
3
+ import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
6
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
7
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
8
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
10
  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; }
6
11
  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; }
7
- 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; }
8
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
9
- 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); } }
10
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
- 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); }
13
12
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
14
- 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); }
15
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
16
13
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
17
- function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
18
- 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); }
19
- function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
20
14
  import React from 'react';
21
15
  import PropTypes from 'prop-types';
22
16
  import ReactDOM from 'react-dom';
23
17
  import * as Three from 'three';
24
- import { parseData, updateScene, visibleTransformBox, getDistances, fVLine, deleteSpecifiedMeshObjects, createBacksplash, checkCabinetOverlap } from "./scene-creator";
25
- import { disposeScene } from "./three-memory-cleaner";
26
- import { disposeObject } from "./three-memory-cleaner";
18
+ import { checkCabinetOverlap, createBacksplash, deleteSpecifiedMeshObjects, fVLine, getDistances, parseData, updateScene, visibleTransformBox } from "./scene-creator";
19
+ import { disposeObject, disposeScene } from "./three-memory-cleaner";
27
20
  import diff from 'immutablediff';
28
21
  import * as SharedStyle from "../../shared-style";
29
- import { MODE_DRAWING_ITEM_3D, MODE_IDLE_3D, MODE_3D_VIEW, UNIT_CENTIMETER, MODE_DRAWING_HOLE_3D, SECONDARY_PURPLE_COLOR, MODE_ELEVATION_VIEW, MODE_DRAGGING_ITEM_3D, MODE_ROTATING_ITEM_3D, WALL_CABINET_LAYOUTPOS, BASE_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS } from "../../constants";
22
+ import { BASE_CABINET_LAYOUTPOS, MODE_3D_VIEW, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_HOLE_3D, MODE_DRAWING_ITEM_3D, MODE_ELEVATION_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, SECONDARY_PURPLE_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, WALL_CABINET_LAYOUTPOS, INTERNAL_EVENT_SELECT_ELEMENT, INTERNAL_EVENT_DRAG_ELEMENT, INTERNAL_EVENT_DRAW_ELEMENT, INTERNAL_EVENT_ROTATE_ELEMENT, MODE_ROTATING_ITEM, MODE_DRAGGING_HOLE_3D } from "../../constants";
30
23
  import { isUndefined } from 'util';
31
24
  import { verticesDistance } from "../../utils/geometry";
32
- import convert from 'convert-units';
25
+ import { convert } from "../../utils/convert-units-lite";
33
26
  import { GeometryUtils } from "../../utils/export";
34
27
  import { handleCamRect, isElevationView, isEmpty } from "../../utils/helper";
35
28
  import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader';
36
29
  import CameraControls from 'camera-controls';
30
+ import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
31
+ import { getAllMeshes, vectorIntersectWithMesh } from "../../utils/objects-utils";
37
32
  CameraControls.install({
38
33
  THREE: Three
39
34
  });
40
- import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
41
- import { getAllMeshes, vectorIntersectWithMesh } from "../../utils/objects-utils";
42
35
  var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
43
36
  function Scene3DViewer(props) {
44
37
  var _this;
@@ -278,7 +271,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
278
271
  lines.push(data);
279
272
  });
280
273
  var _loop3 = function _loop3() {
281
- var data = lines[_i17];
274
+ var data = lines[_i15];
282
275
  var realVec = [];
283
276
  data.vertices.forEach(function (vec) {
284
277
  realVec.push(vec);
@@ -289,7 +282,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
289
282
  return 1; // break
290
283
  }
291
284
  };
292
- for (var _i17 = 0; _i17 < lines.length; _i17++) {
285
+ for (var _i15 = 0; _i15 < lines.length; _i15++) {
293
286
  if (_loop3()) break;
294
287
  }
295
288
  var vertices = [];
@@ -299,11 +292,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
299
292
  });
300
293
  vertices.push(vertices[0]);
301
294
  var fLen = vertices.length - 1;
302
- for (var _i18 = 0; _i18 < fLen; _i18++) {
303
- var sX = vertices[_i18].x;
304
- var sY = vertices[_i18].y;
305
- var eX = vertices[_i18 + 1].x;
306
- var eY = vertices[_i18 + 1].y;
295
+ for (var _i16 = 0; _i16 < fLen; _i16++) {
296
+ var sX = vertices[_i16].x;
297
+ var sY = vertices[_i16].y;
298
+ var eX = vertices[_i16 + 1].x;
299
+ var eY = vertices[_i16 + 1].y;
307
300
  var len = Math.sqrt((eX - sX) * (eX - sX) + (eY - sY) * (eY - sY));
308
301
  for (var cLen = 200; cLen < len; cLen += 200) {
309
302
  var cX = sX + (eX - sX) * cLen / len;
@@ -380,6 +373,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
380
373
  var allRect;
381
374
  var allArea;
382
375
 
376
+ // FLAG FOR initial phase of drawing an item
377
+ var isInitialPhase = true;
378
+
383
379
  // end snap function variable///////////////////////
384
380
  var backsplashVisible = false;
385
381
  var holeItems = GeometryUtils.getHoleItems(layer);
@@ -1278,7 +1274,18 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1278
1274
  }
1279
1275
  }
1280
1276
  if (selectedObject !== undefined) {
1281
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1277
+ // get selected object from planData.sceneGraph
1278
+ var selectedItem = null;
1279
+ switch (true) {
1280
+ case 'itemID' in selectedObject:
1281
+ selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1282
+ break;
1283
+ case 'holeID' in selectedObject:
1284
+ selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
1285
+ break;
1286
+ default:
1287
+ break;
1288
+ }
1282
1289
  sPoint.set(Point.x, Point.y);
1283
1290
  if (transflag == 0) {
1284
1291
  scene3D.remove(toolObj);
@@ -1344,7 +1351,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1344
1351
  }
1345
1352
  };
1346
1353
  this.mouseUpEvent = function (event) {
1347
- var _selObj$object, _selObj$object2;
1354
+ var internalType = ''; // internalEvent type - select/drag/draw
1355
+ var selectedElement; // internalEvent data
1348
1356
  firstMove = 0;
1349
1357
  var altitude = 0;
1350
1358
  if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
@@ -1358,7 +1366,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1358
1366
  if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
1359
1367
  _this2.props.setToolbar('');
1360
1368
  }
1361
- getPoint(event, altitude);
1362
1369
  if (_this2.props.state.mode == MODE_DRAWING_ITEM_3D) {
1363
1370
  if (Point.x > _this2.props.state.scene.width) Point.x = _this2.props.state.width;
1364
1371
  if (Point.y > _this2.props.state.scene.height) Point.y = _this2.props.state.height;
@@ -1368,9 +1375,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1368
1375
  actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
1369
1376
  } else {
1370
1377
  removeSnapBox();
1371
- var polygon = lineRect(layer);
1378
+ var polygon = GeometryUtils.getPoylgonPoints(layer);
1372
1379
  // if cursor is outside of room
1373
- if (!GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
1380
+ if (polygon.length > 0 && !GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
1374
1381
  actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
1375
1382
  } else {
1376
1383
  actions.itemsActions.updateDraggingItemChanged(targetPoint.x, -targetPoint.z, selectedObject.layerID, selectedObject.itemID);
@@ -1379,14 +1386,24 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1379
1386
  }
1380
1387
  }
1381
1388
  bMove = false;
1389
+ isInitialPhase = true;
1382
1390
  return;
1383
1391
  }
1392
+ switch (_this2.props.state.mode) {
1393
+ case MODE_DRAGGING_ITEM_3D:
1394
+ internalType = INTERNAL_EVENT_DRAG_ELEMENT;
1395
+ break;
1396
+ case MODE_ROTATING_ITEM_3D:
1397
+ internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
1398
+ break;
1399
+ }
1384
1400
  if (_this2.props.state.mode == MODE_DRAGGING_ITEM_3D) {
1385
1401
  _this2.context.itemsActions.endDraggingItem3D();
1386
1402
  }
1387
1403
  if (_this2.props.state.mode == MODE_ROTATING_ITEM_3D) {
1388
1404
  _this2.context.itemsActions.endRotatingItem3D(sPoint.x, sPoint.y);
1389
1405
  }
1406
+ getPoint(event, altitude);
1390
1407
  if (_this2.props.state.mode == MODE_DRAWING_HOLE_3D) {
1391
1408
  gridPlanOrigin = gridPlane.position;
1392
1409
  gridMatrix.copy(gridPlane.matrixWorld).invert();
@@ -1461,56 +1478,62 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1461
1478
  currentObject = currentObject.parent;
1462
1479
  }
1463
1480
  isSelected = true;
1464
- setTimeout(function () {
1465
- getDistances(layer);
1466
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1467
- if (isUndefined(selectedItem)) return;
1468
- var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1469
- var itemPos = selectedItem.position.clone();
1470
- if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
1471
- toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1472
- } else {
1473
- 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 + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
1474
- }
1475
- scene3D.add(toolObj);
1476
- _this2.setState({
1477
- toolObj: toolObj
1478
- });
1479
- // showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
1480
- var pointArray = [],
1481
- cnt = 0;
1482
- pointArray.push([fVLine[0].userData.distance, 90]);
1483
- pointArray.push([fVLine[1].userData.distance, -90]);
1484
- pointArray.push([fVLine[2].userData.distance, 180]);
1485
- pointArray.push([fVLine[3].userData.distance, 0]);
1486
- pointArray.forEach(function (pointElement, index) {
1487
- if (pointElement[0] == undefined) pointArray[index][0] = 0;
1488
- });
1489
- pointArray.forEach(function (pointElement) {
1490
- if (pointElement[0] == 0) cnt++;
1491
- });
1492
- if (cnt == 4 || cnt == 3) {
1493
- pointArray[0][0] = 100;
1494
- pointArray[1][0] = 100;
1495
- }
1496
- actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
1481
+ getDistances(layer);
1482
+ var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1483
+ if (isUndefined(selectedItem)) return;
1484
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1485
+ var itemPos = selectedItem.position.clone();
1486
+ if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
1487
+ toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1488
+ } else {
1489
+ toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
1490
+ }
1491
+ scene3D.add(toolObj);
1492
+ _this2.setState({
1493
+ toolObj: toolObj
1497
1494
  });
1495
+ // showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
1496
+ var pointArray = [],
1497
+ cnt = 0;
1498
+ pointArray.push([fVLine[0].userData.distance, 90]);
1499
+ pointArray.push([fVLine[1].userData.distance, -90]);
1500
+ pointArray.push([fVLine[2].userData.distance, 180]);
1501
+ pointArray.push([fVLine[3].userData.distance, 0]);
1502
+ pointArray.forEach(function (pointElement, index) {
1503
+ if (pointElement[0] == undefined) pointArray[index][0] = 0;
1504
+ });
1505
+ pointArray.forEach(function (pointElement) {
1506
+ if (pointElement[0] == 0) cnt++;
1507
+ });
1508
+ if (cnt == 4 || cnt == 3) {
1509
+ pointArray[0][0] = 100;
1510
+ pointArray[1][0] = 100;
1511
+ }
1512
+ actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
1513
+ internalType = internalType ? internalType : INTERNAL_EVENT_SELECT_ELEMENT;
1498
1514
  } else {
1499
1515
  if (selectedObject) {
1516
+ var elementID = null;
1517
+ var elementPrototype = null;
1500
1518
  switch (true) {
1501
1519
  case 'holeID' in selectedObject:
1502
- if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
1503
- actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1504
- }
1505
- break;
1506
1520
  case 'lineID' in selectedObject:
1507
- if (selObj !== null && selObj !== void 0 && (_selObj$object2 = selObj.object) !== null && _selObj$object2 !== void 0 && _selObj$object2.name.includes('transHole')) {
1521
+ if (_this2.props.state.mode === MODE_DRAGGING_HOLE_3D) {
1508
1522
  actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1523
+ internalType = INTERNAL_EVENT_SELECT_ELEMENT;
1524
+ elementID = selectedObject.holeID;
1525
+ elementPrototype = 'holeID';
1509
1526
  }
1510
1527
  break;
1528
+ case 'areaID' in selectedObject:
1529
+ internalType = INTERNAL_EVENT_SELECT_ELEMENT;
1530
+ elementID = selectedObject.areaID;
1531
+ elementPrototype = 'areas';
1532
+ break;
1511
1533
  default:
1512
1534
  break;
1513
1535
  }
1536
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
1514
1537
  }
1515
1538
  isSelected = false;
1516
1539
  }
@@ -1545,14 +1568,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1545
1568
  getPoint(event, alti);
1546
1569
  if (bRotate) {
1547
1570
  var _intersects$_i;
1548
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1549
- if (isUndefined(selectedItem)) return;
1550
- var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1551
- var itemPos = selectedItem.position.clone();
1552
- if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) === selectedItem.userData.itemId) {
1571
+ var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1572
+ if (isUndefined(_selectedItem)) return;
1573
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1574
+ var _itemPos = _selectedItem.position.clone();
1575
+ if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) === _selectedItem.userData.itemId) {
1553
1576
  toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1554
1577
  } else {
1555
- 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 + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
1578
+ toolObj.position.set(planData.plan.position.x + _itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
1556
1579
  }
1557
1580
  scene3D.add(toolObj);
1558
1581
  _this2.setState({
@@ -1563,14 +1586,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1563
1586
  }
1564
1587
  if (bMove) {
1565
1588
  bMove = false;
1566
- var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1567
- if (isUndefined(_selectedItem)) return;
1568
- var _selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1569
- var _itemPos = _selectedItem.position.clone();
1570
- if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
1589
+ var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1590
+ if (isUndefined(_selectedItem2)) return;
1591
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1592
+ var _itemPos2 = _selectedItem2.position.clone();
1593
+ if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
1571
1594
  toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1572
1595
  } else {
1573
- 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 + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
1596
+ toolObj.position.set(planData.plan.position.x + _itemPos2.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem2.children[0].position.y, planData.plan.position.z + _itemPos2.z);
1574
1597
  }
1575
1598
  scene3D.add(toolObj);
1576
1599
  _this2.setState({
@@ -1604,6 +1627,171 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1604
1627
  selectedObj = allItemRect.cur;
1605
1628
  }
1606
1629
  }
1630
+ if (!isEmpty(internalType)) {
1631
+ var _this2$props$onIntern, _this2$props;
1632
+ (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1633
+ type: internalType,
1634
+ value: selectedElement.toJS()
1635
+ });
1636
+ }
1637
+ };
1638
+ this.mouseEnterEvent = function (event) {
1639
+ if (_this2.props.state.mode !== MODE_DRAWING_ITEM_3D) return;
1640
+ // if not initial moment of drawing an item
1641
+ if (!isInitialPhase) return;
1642
+ var bNormalFlow = true;
1643
+ _this2.getSelectedObject();
1644
+ var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
1645
+ var mX = Point.x - sPoint.x;
1646
+ var mY = Point.y - sPoint.y;
1647
+ var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1648
+ deleteSpecifiedMeshObjects('TransformBox');
1649
+ deleteSpecifiedMeshObjects('WarningBox' + selectedObject.itemID);
1650
+ var item = layer.getIn(['items', selectedObject.itemID]);
1651
+ if (!item3D || !item) return;
1652
+ if (item.counterTop.uri == '') item.counterTop.uri = layer.counterTop.uri;
1653
+ var sRot = item.rotation;
1654
+ var originPos = item3D.position.clone();
1655
+ var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
1656
+ var sBounding = item3D.children[0].userData;
1657
+ var swidth = sBounding.max.x - sBounding.min.x;
1658
+ var sdepth = sBounding.max.z - sBounding.min.z;
1659
+ var sVertices = _this2.getRectPoints(swidth, sdepth, tPos.clone(), sRot % 360 / 180 * Math.PI);
1660
+ prepareSnap(layer);
1661
+
1662
+ // calc altitude
1663
+ var altitude = 0;
1664
+ if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
1665
+ var properties = allItemRect.cur.itemInfo.properties;
1666
+ altitude = properties.getIn(['altitude', '_length']);
1667
+ var unit = properties.getIn(['altitude', '_unit']) || 'in';
1668
+ altitude = convert(altitude).from(unit).to(_this2.props.state.scene.unit);
1669
+ }
1670
+ // We need to set cam position since when MODE_DRAWING_ITEM_3D mouse down event
1671
+ // is not emited so cam position is not valid
1672
+ gridPlanOrigin = gridPlane.position;
1673
+ gridMatrix.copy(gridPlane.matrixWorld).invert();
1674
+ camPos = camera.position;
1675
+
1676
+ // calc cursor position
1677
+ getPoint(event, altitude);
1678
+ var polygon = GeometryUtils.getPoylgonPoints(layer);
1679
+
1680
+ // if no wall (no area)
1681
+ if (!polygon.length) {
1682
+ // place the item at cursor position
1683
+ actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
1684
+ return;
1685
+ }
1686
+
1687
+ // calc snap
1688
+ var _GeometryUtils$calcCr = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygon),
1689
+ cx = _GeometryUtils$calcCr.cx,
1690
+ cy = _GeometryUtils$calcCr.cy,
1691
+ crot = _GeometryUtils$calcCr.crot,
1692
+ rotRad = _GeometryUtils$calcCr.rotRad;
1693
+ var finalPosition = {
1694
+ x: cx,
1695
+ y: cy,
1696
+ rot: crot,
1697
+ rotRad: rotRad
1698
+ };
1699
+
1700
+ // calc current item rect
1701
+ var itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1702
+ pos: {
1703
+ x: Point.x,
1704
+ y: Point.y
1705
+ }
1706
+ });
1707
+
1708
+ // if cursor position is inside the room
1709
+ if (GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
1710
+ // if cursor position is available to place the item
1711
+ if (GeometryUtils.validRect(itemRect, allRect)) {
1712
+ actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
1713
+ sPoint.set(Point.x, Point.y);
1714
+ bNormalFlow = false;
1715
+ }
1716
+ } else {
1717
+ // if cursor is outside the room and there is no snap candidate,
1718
+ // then place the item at any free position inside the room.
1719
+ if (!GeometryUtils.ContainsPoint(polygon, cx, cy)) {
1720
+ var points = [];
1721
+ var point = [];
1722
+
1723
+ // rebuild variable to be passed to getCentriodOfPolygon
1724
+ // polygon: [ x0, y0, x1, y1, ... ] ==> points: [[x0, y0], [x1, y1], ...]
1725
+ polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
1726
+ point.push(value);
1727
+ if (index % 2) {
1728
+ points.push(point);
1729
+ point = [];
1730
+ }
1731
+ });
1732
+
1733
+ // calc center position of the room
1734
+ var centerPos = GeometryUtils.getCentroidOfPolygon(points);
1735
+ var itemRect1 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1736
+ pos: {
1737
+ x: centerPos.x,
1738
+ y: centerPos.y
1739
+ }
1740
+ });
1741
+ var itemRect2 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1742
+ pos: {
1743
+ x: centerPos.x,
1744
+ y: centerPos.y
1745
+ },
1746
+ rotRad: allItemRect.cur.rotRad + Math.PI / 2
1747
+ });
1748
+
1749
+ // find a free position in the room
1750
+ if (GeometryUtils.validRect(itemRect1, allRect)) {
1751
+ actions.itemsActions.updateDraggingItemChanged(centerPos.x, centerPos.y, selectedObject.layerID, selectedObject.itemID);
1752
+ sPoint.set(centerPos.x, centerPos.y);
1753
+ bNormalFlow = false;
1754
+ } else if (GeometryUtils.validRect(itemRect2, allRect)) {
1755
+ finalPosition = {
1756
+ x: centerPos.x,
1757
+ y: centerPos.y,
1758
+ rotRad: itemRect2.rotRad,
1759
+ rot: itemRect2.rotRad / Math.PI * 180
1760
+ };
1761
+ sPoint.set(centerPos.x, centerPos.y);
1762
+ }
1763
+ }
1764
+ }
1765
+ var nPos = new Three.Vector2(cx, cy);
1766
+ if (!_this2.collisionHoleCheck(item3D, nPos, item.rotation, {
1767
+ userData: {
1768
+ itemId: null
1769
+ }
1770
+ }, item, _this2.context.catalog)) {
1771
+ _this2.collisionSlide(item3D, originPos, layer, sVertices, tPos, item);
1772
+ }
1773
+ itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1774
+ pos: {
1775
+ x: finalPosition.x,
1776
+ y: finalPosition.y
1777
+ },
1778
+ rotRad: finalPosition.rotRad
1779
+ });
1780
+
1781
+ // if the room is fullfilled with items or can't calc snap correctly
1782
+ if (!GeometryUtils.validRect(itemRect, allRect)) {
1783
+ // then place the item at cursor position
1784
+ actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
1785
+ sPoint.set(Point.x, Point.y);
1786
+ bNormalFlow = false;
1787
+ }
1788
+ if (bNormalFlow) {
1789
+ actions.itemsActions.updateDraggingItemChanged(finalPosition.x, finalPosition.y, selectedObject.layerID, selectedObject.itemID);
1790
+ actions.itemsActions.updateRotatingItemChanged(finalPosition.rot, selectedObject.layerID, selectedObject.itemID);
1791
+ sPoint.set(finalPosition.x, finalPosition.y);
1792
+ }
1793
+ isInitialPhase = false;
1794
+ _this2.handleAfterMovingItem();
1607
1795
  };
1608
1796
  this.mouseMoveEvent = function (event) {
1609
1797
  event.preventDefault();
@@ -1645,49 +1833,22 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1645
1833
  camPos = camera.position;
1646
1834
  getPoint(event, altitude);
1647
1835
  if (Point.x > _this2.props.state.scene.width || Point.x < 0 || Point.y > _this2.props.state.scene.height || Point.y < 0) return;
1648
- var _layerID = _this2.props.state.scene.selectedLayer;
1649
- selectedObject = {
1650
- layerID: _layerID
1651
- };
1652
- var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
1653
- var polygon = lineRect(_layer);
1654
- var isCursorInArea = GeometryUtils.ContainsPoint(polygon, Point.x, Point.y);
1836
+ _this2.getSelectedObject();
1655
1837
  var _drawingSupport = _this2.props.state.drawingSupport;
1656
1838
  if (!_drawingSupport.has('currentID')) {
1657
- var initialX = Point.x,
1658
- initialY = Point.y;
1659
-
1660
- // if cursor is outside the room area,
1661
- // place the item at center of room area.
1662
- if (!isCursorInArea && polygon.length > 0) {
1663
- // rebuild polygon variable to be suitable for getCentroid() function
1664
- var points = [];
1665
- var point = [];
1666
- polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
1667
- point.push(value);
1668
- if (index % 2 === 1) {
1669
- points.push(point);
1670
- point = [];
1671
- }
1672
- });
1673
- var centroid = GeometryUtils.getCentroidOfPolygon(points);
1674
- initialX = centroid[0];
1675
- initialY = centroid[1];
1676
- }
1677
- _this2.context.itemsActions.updateDrawingItem(_this2.props.state.scene.selectedLayer, initialX, initialY);
1678
- sPoint.set(initialX, initialY);
1839
+ _this2.context.itemsActions.updateDrawingItem(selectedObject.layerID, Point.x, Point.y);
1840
+ sPoint.set(Point.x, Point.y);
1679
1841
  } else {
1680
- var itemID = _this2.props.state.drawingSupport.get('currentID');
1681
- selectedObject.itemID = itemID;
1682
1842
  var mX = Point.x - sPoint.x;
1683
1843
  var mY = Point.y - sPoint.y;
1844
+ var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
1684
1845
  var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1685
1846
  deleteSpecifiedMeshObjects('TransformBox');
1686
- deleteSpecifiedMeshObjects('WarningBox' + itemID);
1687
- var item = _layer.items.getIn([selectedObject.itemID]);
1847
+ deleteSpecifiedMeshObjects('WarningBox' + selectedObject.itemID);
1848
+ var item = _layer.getIn(['items', selectedObject.itemID]);
1849
+ if (!item3D || !item) return;
1688
1850
  if (item.counterTop.uri == '') item.counterTop.uri = _layer.counterTop.uri;
1689
1851
  var sRot = item.rotation;
1690
- if (!item3D) return;
1691
1852
  var originPos = item3D.position.clone();
1692
1853
  var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
1693
1854
  var sBounding = item3D.children[0].userData;
@@ -1706,78 +1867,28 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1706
1867
  }
1707
1868
  }, item, _this2.context.catalog)) {
1708
1869
  _this2.collisionSlide(item3D, originPos, _layer, sVertices, tPos, item);
1709
- //return;
1710
1870
  }
1711
- if (polygon.length > 0) {
1712
- var PolygonSect = GeometryUtils.ContainsPoint(polygon, _nx, _ny);
1871
+ var polygonPoint = GeometryUtils.getPoylgonPoints(_layer);
1872
+ if (polygonPoint.length > 0) {
1873
+ var PolygonSect = GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
1713
1874
  if (!PolygonSect) {
1714
- var _GeometryUtils$calcCr = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygon),
1715
- cx = _GeometryUtils$calcCr.cx,
1716
- cy = _GeometryUtils$calcCr.cy,
1717
- crot = _GeometryUtils$calcCr.crot;
1875
+ var _GeometryUtils$calcCr2 = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygonPoint),
1876
+ cx = _GeometryUtils$calcCr2.cx,
1877
+ cy = _GeometryUtils$calcCr2.cy,
1878
+ crot = _GeometryUtils$calcCr2.crot;
1718
1879
  _nx = cx;
1719
1880
  _ny = cy;
1720
1881
  rot = crot;
1721
1882
  }
1722
1883
  }
1723
- if (polygon.length > 0) {
1724
- var isSnapInArea = GeometryUtils.ContainsPoint(polygon, _nx, _ny);
1725
- if (!isSnapInArea) return;
1884
+ if (polygonPoint.length > 0) {
1885
+ var isSect = GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
1886
+ if (!isSect) return;
1726
1887
  }
1727
1888
  actions.itemsActions.updateDraggingItemChanged(_nx, _ny, selectedObject.layerID, selectedObject.itemID);
1728
1889
  actions.itemsActions.updateRotatingItemChanged(rot, selectedObject.layerID, selectedObject.itemID);
1729
1890
  sPoint.set(_nx, _ny);
1730
- getDistances(_layer);
1731
- var pointArray = [],
1732
- cnt = 0;
1733
- pointArray.push([fVLine[0].userData.distance, 90]);
1734
- pointArray.push([fVLine[1].userData.distance, -90]);
1735
- pointArray.push([fVLine[2].userData.distance, 180]);
1736
- pointArray.push([fVLine[3].userData.distance, 0]);
1737
- pointArray.forEach(function (pointElement, index) {
1738
- if (pointElement[0] == undefined) pointArray[index][0] = 0;
1739
- });
1740
- pointArray.forEach(function (pointElement) {
1741
- if (pointElement[0] == 0) cnt++;
1742
- });
1743
- if (cnt == 4 || cnt == 3) {
1744
- pointArray[0][0] = 100;
1745
- pointArray[1][0] = 100;
1746
- }
1747
- actions.itemsActions.storeDistArray(_layer.id, item.id, pointArray);
1748
- var minDis = fVLine[0].userData.distance;
1749
- var snapObj = fVLine[0];
1750
- var iPos = item3D.position.clone();
1751
- var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
1752
- if (snapDis >= 100 && snapObj != null) {
1753
- removeSnapBox();
1754
- backsplashVisible = false;
1755
- //console.log('1 snap no');
1756
- }
1757
- for (var _i11 = 1; _i11 < fVLine.length; _i11++) {
1758
- if (minDis > fVLine[_i11].userData.distance) {
1759
- minDis = fVLine[_i11].userData.distance;
1760
- snapObj = fVLine[_i11];
1761
- }
1762
- }
1763
- if (snapBox == null) {
1764
- snapFlag = false;
1765
- }
1766
- actions.sceneActions.updateMovingState(false);
1767
- if (minDis < snapDelta && !snapFlag) {
1768
- _this2.snap(snapObj, _layer);
1769
- snapFlag = true;
1770
- //console.log('1 snap Yes')
1771
- getDistances(_layer, true);
1772
- var _i12 = 0;
1773
- for (_i12 = 0; _i12 < fVLine.length; _i12++) {
1774
- if (fVLine[_i12].userData.distance < snapDelta) {
1775
- break;
1776
- }
1777
- }
1778
- if (_i12 === fVLine.length) backsplashVisible = false;else backsplashVisible = true;
1779
- }
1780
- actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
1891
+ _this2.handleAfterMovingItem();
1781
1892
  }
1782
1893
  }
1783
1894
  if (bRotate) {
@@ -1845,78 +1956,28 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1845
1956
  _this2.collisionSlide(_item3D2, _originPos, _layer3, _sVertices, _tPos4, _item5);
1846
1957
  //return;
1847
1958
  }
1848
- var polygonPoint = lineRect(_layer3);
1849
- if (polygonPoint.length > 0) {
1850
- var _PolygonSect = GeometryUtils.ContainsPoint(polygonPoint, _nx3, _ny3);
1959
+ var _polygonPoint = GeometryUtils.getPoylgonPoints(_layer3);
1960
+ if (_polygonPoint.length > 0) {
1961
+ var _PolygonSect = GeometryUtils.ContainsPoint(_polygonPoint, _nx3, _ny3);
1851
1962
  if (!_PolygonSect) {
1852
- var _GeometryUtils$calcCr2 = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygonPoint),
1853
- _cx3 = _GeometryUtils$calcCr2.cx,
1854
- _cy = _GeometryUtils$calcCr2.cy,
1855
- _crot = _GeometryUtils$calcCr2.crot;
1963
+ var _GeometryUtils$calcCr3 = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, _polygonPoint),
1964
+ _cx3 = _GeometryUtils$calcCr3.cx,
1965
+ _cy = _GeometryUtils$calcCr3.cy,
1966
+ _crot = _GeometryUtils$calcCr3.crot;
1856
1967
  _nx3 = _cx3;
1857
1968
  _ny3 = _cy;
1858
1969
  _rot = _crot;
1859
1970
  }
1860
1971
  }
1861
- var _polygon = lineRect(_layer3);
1862
- if (_polygon.length > 0) {
1863
- var Sect = GeometryUtils.ContainsPoint(_polygon, _nx3, _ny3);
1972
+ var polygon = GeometryUtils.getPoylgonPoints(_layer3);
1973
+ if (polygon.length > 0) {
1974
+ var Sect = GeometryUtils.ContainsPoint(polygon, _nx3, _ny3);
1864
1975
  if (!Sect) return;
1865
1976
  }
1866
1977
  actions.itemsActions.updateDraggingItemChanged(_nx3, _ny3, selectedObject.layerID, selectedObject.itemID);
1867
1978
  actions.itemsActions.updateRotatingItemChanged(_rot, selectedObject.layerID, selectedObject.itemID);
1868
1979
  sPoint.set(_nx3, _ny3);
1869
- getDistances(_layer3);
1870
- var _pointArray = [],
1871
- _cnt = 0;
1872
- _pointArray.push([fVLine[0].userData.distance, 90]);
1873
- _pointArray.push([fVLine[1].userData.distance, -90]);
1874
- _pointArray.push([fVLine[2].userData.distance, 180]);
1875
- _pointArray.push([fVLine[3].userData.distance, 0]);
1876
- _pointArray.forEach(function (pointElement, index) {
1877
- if (pointElement[0] == undefined) _pointArray[index][0] = 0;
1878
- });
1879
- _pointArray.forEach(function (pointElement) {
1880
- if (pointElement[0] == 0) _cnt++;
1881
- });
1882
- if (_cnt == 4 || _cnt == 3) {
1883
- _pointArray[0][0] = 100;
1884
- _pointArray[1][0] = 100;
1885
- }
1886
- actions.itemsActions.storeDistArray(_layer3.id, _item5.id, _pointArray);
1887
- var _minDis = fVLine[0].userData.distance;
1888
- var _snapObj = fVLine[0];
1889
- var _iPos = _item3D2.position.clone();
1890
- var _snapDis = Math.sqrt((_iPos.x - targetPoint.x) * (_iPos.x - targetPoint.x) + (_iPos.z - targetPoint.z) * (_iPos.z - targetPoint.z));
1891
- if (_snapDis >= 100 && _snapObj != null) {
1892
- removeSnapBox();
1893
- backsplashVisible = false;
1894
- //console.log('1 snap no');
1895
- }
1896
- for (var _i13 = 1; _i13 < fVLine.length; _i13++) {
1897
- if (_minDis > fVLine[_i13].userData.distance) {
1898
- _minDis = fVLine[_i13].userData.distance;
1899
- _snapObj = fVLine[_i13];
1900
- }
1901
- }
1902
- if (snapBox == null) {
1903
- snapFlag = false;
1904
- }
1905
- actions.sceneActions.updateMovingState(false);
1906
- if (_minDis < snapDelta && !snapFlag) {
1907
- _this2.snap(_snapObj, _layer3);
1908
- snapFlag = true;
1909
- //console.log('1 snap Yes')
1910
- getDistances(_layer3, true);
1911
- var _i14 = 0;
1912
- for (_i14 = 0; _i14 < fVLine.length; _i14++) {
1913
- if (fVLine[_i14].userData.distance < snapDelta) {
1914
- break;
1915
- }
1916
- }
1917
- if (_i14 === fVLine.length) backsplashVisible = false;else backsplashVisible = true;
1918
- }
1919
- actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
1980
+ _this2.handleAfterMovingItem();
1920
1981
  }
1921
1982
  }
1922
1983
  if (!bMove && !bRotate && !bMoveUP) {
@@ -1929,13 +1990,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1929
1990
  rayDirection = rayDirection.normalize();
1930
1991
  var meshes = getAllMeshes(toIntersect);
1931
1992
  var intersects = raycaster.intersectObjects(meshes, true);
1932
- var _i15;
1993
+ var _i11;
1933
1994
  if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
1934
- for (_i15 = 0; _i15 < intersects.length; _i15++) {
1935
- if (intersects[_i15].object.name === 'warningObj') break;
1995
+ for (_i11 = 0; _i11 < intersects.length; _i11++) {
1996
+ if (intersects[_i11].object.name === 'warningObj') break;
1936
1997
  }
1937
- if (intersects[_i15] !== undefined) {
1938
- var distance = Math.sqrt(Math.pow((intersects[_i15].uv.x - 0.5) * 50, 2) + Math.pow((intersects[_i15].uv.y - 0.75) * 100, 2));
1998
+ if (intersects[_i11] !== undefined) {
1999
+ var distance = Math.sqrt(Math.pow((intersects[_i11].uv.x - 0.5) * 50, 2) + Math.pow((intersects[_i11].uv.y - 0.75) * 100, 2));
1939
2000
  if (distance <= 20) {
1940
2001
  var infoPos = {
1941
2002
  x: 0,
@@ -1951,15 +2012,72 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1951
2012
  } else {
1952
2013
  infoPos.x = event.offsetX;
1953
2014
  }
1954
- document.getElementById('warning_box_2d').style.display = 'flex';
1955
- document.getElementById('warning_box_2d').style.top = "".concat(infoPos.y, "px");
1956
- document.getElementById('warning_box_2d').style.left = "".concat(infoPos.x, "px");
1957
- return;
2015
+ if (!isEmpty(document.getElementById('warning_box_2d'))) {
2016
+ document.getElementById('warning_box_2d').style.display = 'flex';
2017
+ document.getElementById('warning_box_2d').style.top = "".concat(infoPos.y, "px");
2018
+ document.getElementById('warning_box_2d').style.left = "".concat(infoPos.x, "px");
2019
+ return;
2020
+ }
1958
2021
  }
1959
2022
  }
1960
2023
  }
1961
2024
  }
1962
- document.getElementById('warning_box_2d').style.display = 'none';
2025
+ if (!isEmpty(document.getElementById('warning_box_2d'))) document.getElementById('warning_box_2d').style.display = 'none';
2026
+ };
2027
+
2028
+ // handle snapBox, distArray, backsplash
2029
+ this.handleAfterMovingItem = function () {
2030
+ var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
2031
+ var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
2032
+ getDistances(layer);
2033
+ var pointArray = [],
2034
+ cnt = 0;
2035
+ pointArray.push([fVLine[0].userData.distance, 90]);
2036
+ pointArray.push([fVLine[1].userData.distance, -90]);
2037
+ pointArray.push([fVLine[2].userData.distance, 180]);
2038
+ pointArray.push([fVLine[3].userData.distance, 0]);
2039
+ pointArray.forEach(function (pointElement, index) {
2040
+ if (pointElement[0] == undefined) pointArray[index][0] = 0;
2041
+ });
2042
+ pointArray.forEach(function (pointElement) {
2043
+ if (pointElement[0] == 0) cnt++;
2044
+ });
2045
+ if (cnt == 4 || cnt == 3) {
2046
+ pointArray[0][0] = 100;
2047
+ pointArray[1][0] = 100;
2048
+ }
2049
+ actions.itemsActions.storeDistArray(selectedObject.layerID, selectedObject.itemID, pointArray);
2050
+ var minDis = fVLine[0].userData.distance;
2051
+ var snapObj = fVLine[0];
2052
+ var iPos = item3D.position.clone();
2053
+ var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
2054
+ if (snapDis >= 100 && snapObj != null) {
2055
+ removeSnapBox();
2056
+ backsplashVisible = false;
2057
+ }
2058
+ for (var _i12 = 1; _i12 < fVLine.length; _i12++) {
2059
+ if (minDis > fVLine[_i12].userData.distance) {
2060
+ minDis = fVLine[_i12].userData.distance;
2061
+ snapObj = fVLine[_i12];
2062
+ }
2063
+ }
2064
+ if (snapBox == null) {
2065
+ snapFlag = false;
2066
+ }
2067
+ actions.sceneActions.updateMovingState(false);
2068
+ if (minDis < snapDelta && !snapFlag) {
2069
+ _this2.snap(snapObj, layer);
2070
+ snapFlag = true;
2071
+ getDistances(layer, true);
2072
+ var _i13 = 0;
2073
+ for (_i13 = 0; _i13 < fVLine.length; _i13++) {
2074
+ if (fVLine[_i13].userData.distance < snapDelta) {
2075
+ break;
2076
+ }
2077
+ }
2078
+ if (_i13 === fVLine.length) backsplashVisible = false;else backsplashVisible = true;
2079
+ }
2080
+ actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
1963
2081
  };
1964
2082
  this.onkeydown = function (event) {
1965
2083
  if (_this2.props.keyDownEnable && !isElevationView(state.mode)) {
@@ -2016,6 +2134,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2016
2134
  this.handleKeyDown = function (event) {
2017
2135
  _this2.onkeydown(event);
2018
2136
  };
2137
+ this.getSelectedObject = function () {
2138
+ var layerID = _this2.props.state.scene.selectedLayer;
2139
+ var itemID = _this2.props.state.drawingSupport.get('currentID');
2140
+ selectedObject = {
2141
+ layerID: layerID,
2142
+ itemID: itemID
2143
+ };
2144
+ };
2019
2145
 
2020
2146
  // Renderer & Event listener
2021
2147
 
@@ -2024,6 +2150,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2024
2150
  if (!this.props.downloadFlag) {
2025
2151
  this.renderer.domElement.addEventListener('mousedown', this.mouseDownEvent);
2026
2152
  this.renderer.domElement.addEventListener('mouseup', this.mouseUpEvent);
2153
+ this.renderer.domElement.addEventListener('mouseenter', this.mouseEnterEvent);
2027
2154
  this.renderer.domElement.addEventListener('mousemove', this.mouseMoveEvent);
2028
2155
  window.addEventListener('keydown', this.onkeydown);
2029
2156
  window.SPKeyDown = this.handleKeyDown;
@@ -2065,7 +2192,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2065
2192
  scene3D = new Three.Scene();
2066
2193
  if (isElevationView(state.mode)) scene3D.background = new Three.Color(0xffffff);
2067
2194
  // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2068
- else scene3D.background = new Three.Color(0xc3cadc); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2195
+ else scene3D.background = new Three.Color(0xffffff); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2069
2196
  // scene3D.fog = new Three.Fog(0xC3CADC, 2000, 3500);
2070
2197
  window.scene3D = scene3D;
2071
2198
  // Camera
@@ -2164,9 +2291,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2164
2291
  function render() {
2165
2292
  var delta = clock.getDelta(); // Get time delta for smooth updates
2166
2293
  if (!isElevationView(state.mode)) cameraControls.update(delta);
2167
- for (var _i16 = 0; _i16 < lights.length; _i16++) {
2168
- lights[_i16].light.position.set(planData.plan.position.x + lights[_i16].x, planData.plan.position.y + lights[_i16].height - 10, planData.plan.position.z - lights[_i16].y);
2169
- lights[_i16].target.position.set(planData.plan.position.x + lights[_i16].x, planData.plan.position.y, planData.plan.position.z - lights[_i16].y);
2294
+ for (var _i14 = 0; _i14 < lights.length; _i14++) {
2295
+ lights[_i14].light.position.set(planData.plan.position.x + lights[_i14].x, planData.plan.position.y + lights[_i14].height - 10, planData.plan.position.z - lights[_i14].y);
2296
+ lights[_i14].target.position.set(planData.plan.position.x + lights[_i14].x, planData.plan.position.y, planData.plan.position.z - lights[_i14].y);
2170
2297
  }
2171
2298
  camera.updateMatrix();
2172
2299
  camera.updateMatrixWorld();
@@ -2465,7 +2592,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2465
2592
  }));
2466
2593
  } else {
2467
2594
  document.getElementById('front') && (document.getElementById('front').style.display = 'none');
2468
- document.getElementById('error').style.display = 'none';
2469
2595
  this.renderer.domElement.style.display = 'none';
2470
2596
  return /*#__PURE__*/React.createElement("div", {
2471
2597
  style: {
@@ -2500,7 +2626,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
2500
2626
  alt: "img"
2501
2627
  }));
2502
2628
  } else {
2503
- !this.props.downloadFlag && (document.getElementById('error').style.display = 'block');
2504
2629
  this.renderer.domElement.style.pointerEvents = 'auto';
2505
2630
  this.renderer.domElement.style.opacity = '1';
2506
2631
  !this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');