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,10 +1,18 @@
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); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+ var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
8
16
  var _react = _interopRequireDefault(require("react"));
9
17
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
18
  var _reactDom = _interopRequireDefault(require("react-dom"));
@@ -16,7 +24,7 @@ var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
16
24
  var _constants = require("../../constants");
17
25
  var _util = require("util");
18
26
  var _geometry = require("../../utils/geometry");
19
- var _convertUnits = _interopRequireDefault(require("convert-units"));
27
+ var _convertUnitsLite = require("../../utils/convert-units-lite");
20
28
  var _export = require("../../utils/export");
21
29
  var _helper = require("../../utils/helper");
22
30
  var _RGBELoader = require("three/examples/jsm/loaders/RGBELoader");
@@ -24,30 +32,17 @@ var _cameraControls = _interopRequireDefault(require("camera-controls"));
24
32
  var _utils = require("../viewer2d/utils");
25
33
  var _objectsUtils = require("../../utils/objects-utils");
26
34
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
27
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
28
- function _readOnlyError(r) { throw new TypeError('"' + r + '" is read-only'); }
29
35
  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; }
30
- 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; }
31
- 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; }
32
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
33
- 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); } }
34
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
35
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
36
- 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); }
37
- function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
38
- 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); }
39
- function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
36
+ 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) { (0, _defineProperty2["default"])(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; }
37
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
40
38
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
41
- function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
42
- 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); }
43
- function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
44
39
  _cameraControls["default"].install({
45
40
  THREE: Three
46
41
  });
47
42
  var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component) {
48
43
  function Scene3DViewer(props) {
49
44
  var _this;
50
- _classCallCheck(this, Scene3DViewer);
45
+ (0, _classCallCheck2["default"])(this, Scene3DViewer);
51
46
  _this = _callSuper(this, Scene3DViewer, [props]);
52
47
  _this.state = {
53
48
  isLoading: false,
@@ -109,8 +104,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
109
104
  _this.renderer.domElement.style.display = 'none';
110
105
  return _this;
111
106
  }
112
- _inherits(Scene3DViewer, _React$Component);
113
- return _createClass(Scene3DViewer, [{
107
+ (0, _inherits2["default"])(Scene3DViewer, _React$Component);
108
+ return (0, _createClass2["default"])(Scene3DViewer, [{
114
109
  key: "componentDidMount",
115
110
  value: function componentDidMount(nextProps) {
116
111
  var _this2 = this;
@@ -283,18 +278,18 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
283
278
  lines.push(data);
284
279
  });
285
280
  var _loop3 = function _loop3() {
286
- var data = lines[_i17];
281
+ var data = lines[_i15];
287
282
  var realVec = [];
288
283
  data.vertices.forEach(function (vec) {
289
284
  realVec.push(vec);
290
285
  });
291
286
  if (aVertices.includes(realVec[0]) && aVertices.includes(realVec[1])) {
292
- height = (0, _convertUnits["default"])(layer.ceilHeight).from(layer.unit).to(_constants.UNIT_CENTIMETER);
287
+ height = (0, _convertUnitsLite.convert)(layer.ceilHeight).from(layer.unit).to(_constants.UNIT_CENTIMETER);
293
288
  // height = data.properties.getIn(['height', 'length']);
294
289
  return 1; // break
295
290
  }
296
291
  };
297
- for (var _i17 = 0; _i17 < lines.length; _i17++) {
292
+ for (var _i15 = 0; _i15 < lines.length; _i15++) {
298
293
  if (_loop3()) break;
299
294
  }
300
295
  var vertices = [];
@@ -304,11 +299,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
304
299
  });
305
300
  vertices.push(vertices[0]);
306
301
  var fLen = vertices.length - 1;
307
- for (var _i18 = 0; _i18 < fLen; _i18++) {
308
- var sX = vertices[_i18].x;
309
- var sY = vertices[_i18].y;
310
- var eX = vertices[_i18 + 1].x;
311
- var eY = vertices[_i18 + 1].y;
302
+ for (var _i16 = 0; _i16 < fLen; _i16++) {
303
+ var sX = vertices[_i16].x;
304
+ var sY = vertices[_i16].y;
305
+ var eX = vertices[_i16 + 1].x;
306
+ var eY = vertices[_i16 + 1].y;
312
307
  var len = Math.sqrt((eX - sX) * (eX - sX) + (eY - sY) * (eY - sY));
313
308
  for (var cLen = 200; cLen < len; cLen += 200) {
314
309
  var cX = sX + (eX - sX) * cLen / len;
@@ -385,6 +380,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
385
380
  var allRect;
386
381
  var allArea;
387
382
 
383
+ // FLAG FOR initial phase of drawing an item
384
+ var isInitialPhase = true;
385
+
388
386
  // end snap function variable///////////////////////
389
387
  var backsplashVisible = false;
390
388
  var holeItems = _export.GeometryUtils.getHoleItems(layer);
@@ -834,7 +832,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
834
832
  var tRot = layer.getIn(['items', target.userData.itemId]) ? layer.getIn(['items', target.userData.itemId]).rotation : 0;
835
833
  var item = layer.getIn(['items', source.userData.itemId]);
836
834
  var layoutType = item.layoutpos;
837
- var altitudeLength = (0, _convertUnits["default"])(item.properties.getIn(['altitude', '_length'])).from('in').to('cm');
835
+ var altitudeLength = (0, _convertUnitsLite.convert)(item.properties.getIn(['altitude', '_length'])).from('in').to('cm');
838
836
  var sBounding = source.children[0].userData;
839
837
  var tBounding = target.children[0].userData;
840
838
  var tPos = target.position.clone();
@@ -935,7 +933,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
935
933
  return;
936
934
  } else {
937
935
  var _layoutType = _item3.layoutpos;
938
- var _altitudeLength = (0, _convertUnits["default"])(_item3.properties.getIn(['altitude', '_length'])).from('in').to('cm');
936
+ var _altitudeLength = (0, _convertUnitsLite.convert)(_item3.properties.getIn(['altitude', '_length'])).from('in').to('cm');
939
937
  var _sBounding = source.children[0].userData;
940
938
  var _width = _sBounding.max.x - _sBounding.min.x;
941
939
  var _height = _sBounding.max.y - _sBounding.min.y;
@@ -1200,7 +1198,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1200
1198
  var properties = allItemRect.cur.itemInfo.properties;
1201
1199
  altitude = properties.getIn(['altitude', '_length']);
1202
1200
  var unit = properties.getIn(['altitude', '_unit']) || 'in';
1203
- altitude = (0, _convertUnits["default"])(altitude).from(unit).to(_this2.props.state.scene.unit);
1201
+ altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
1204
1202
  }
1205
1203
  getPoint(event, altitude);
1206
1204
  var state = _this2.props.state;
@@ -1283,7 +1281,18 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1283
1281
  }
1284
1282
  }
1285
1283
  if (selectedObject !== undefined) {
1286
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1284
+ // get selected object from planData.sceneGraph
1285
+ var selectedItem = null;
1286
+ switch (true) {
1287
+ case 'itemID' in selectedObject:
1288
+ selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1289
+ break;
1290
+ case 'holeID' in selectedObject:
1291
+ selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
1292
+ break;
1293
+ default:
1294
+ break;
1295
+ }
1287
1296
  sPoint.set(Point.x, Point.y);
1288
1297
  if (transflag == 0) {
1289
1298
  scene3D.remove(toolObj);
@@ -1292,7 +1301,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1292
1301
  var _properties = allItemRect.cur.itemInfo.properties;
1293
1302
  alti = _properties.getIn(['altitude', '_length']);
1294
1303
  var _unit = _properties.getIn(['altitude', '_unit']) || 'in';
1295
- alti = (0, _convertUnits["default"])(alti).from(_unit).to(_this2.props.state.scene.unit);
1304
+ alti = (0, _convertUnitsLite.convert)(alti).from(_unit).to(_this2.props.state.scene.unit);
1296
1305
  }
1297
1306
  getPoint({
1298
1307
  offsetX: event.offsetX - 50,
@@ -1349,21 +1358,21 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1349
1358
  }
1350
1359
  };
1351
1360
  this.mouseUpEvent = function (event) {
1352
- var _selObj$object, _selObj$object2;
1361
+ var internalType = ''; // internalEvent type - select/drag/draw
1362
+ var selectedElement; // internalEvent data
1353
1363
  firstMove = 0;
1354
1364
  var altitude = 0;
1355
1365
  if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
1356
1366
  var properties = allItemRect.cur.itemInfo.properties;
1357
1367
  altitude = properties.getIn(['altitude', '_length']);
1358
1368
  var unit = properties.getIn(['altitude', '_unit']) || 'in';
1359
- altitude = (0, _convertUnits["default"])(altitude).from(unit).to(_this2.props.state.scene.unit);
1369
+ altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
1360
1370
  }
1361
1371
  scene3D.remove(angleObj);
1362
1372
  scene3D.remove(toolObj);
1363
1373
  if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
1364
1374
  _this2.props.setToolbar('');
1365
1375
  }
1366
- getPoint(event, altitude);
1367
1376
  if (_this2.props.state.mode == _constants.MODE_DRAWING_ITEM_3D) {
1368
1377
  if (Point.x > _this2.props.state.scene.width) Point.x = _this2.props.state.width;
1369
1378
  if (Point.y > _this2.props.state.scene.height) Point.y = _this2.props.state.height;
@@ -1373,9 +1382,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1373
1382
  actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
1374
1383
  } else {
1375
1384
  removeSnapBox();
1376
- var polygon = lineRect(layer);
1385
+ var polygon = _export.GeometryUtils.getPoylgonPoints(layer);
1377
1386
  // if cursor is outside of room
1378
- if (!_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
1387
+ if (polygon.length > 0 && !_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
1379
1388
  actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
1380
1389
  } else {
1381
1390
  actions.itemsActions.updateDraggingItemChanged(targetPoint.x, -targetPoint.z, selectedObject.layerID, selectedObject.itemID);
@@ -1384,14 +1393,24 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1384
1393
  }
1385
1394
  }
1386
1395
  bMove = false;
1396
+ isInitialPhase = true;
1387
1397
  return;
1388
1398
  }
1399
+ switch (_this2.props.state.mode) {
1400
+ case _constants.MODE_DRAGGING_ITEM_3D:
1401
+ internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
1402
+ break;
1403
+ case _constants.MODE_ROTATING_ITEM_3D:
1404
+ internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
1405
+ break;
1406
+ }
1389
1407
  if (_this2.props.state.mode == _constants.MODE_DRAGGING_ITEM_3D) {
1390
1408
  _this2.context.itemsActions.endDraggingItem3D();
1391
1409
  }
1392
1410
  if (_this2.props.state.mode == _constants.MODE_ROTATING_ITEM_3D) {
1393
1411
  _this2.context.itemsActions.endRotatingItem3D(sPoint.x, sPoint.y);
1394
1412
  }
1413
+ getPoint(event, altitude);
1395
1414
  if (_this2.props.state.mode == _constants.MODE_DRAWING_HOLE_3D) {
1396
1415
  gridPlanOrigin = gridPlane.position;
1397
1416
  gridMatrix.copy(gridPlane.matrixWorld).invert();
@@ -1466,56 +1485,62 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1466
1485
  currentObject = currentObject.parent;
1467
1486
  }
1468
1487
  isSelected = true;
1469
- setTimeout(function () {
1470
- (0, _sceneCreator.getDistances)(layer);
1471
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1472
- if ((0, _util.isUndefined)(selectedItem)) return;
1473
- var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1474
- var itemPos = selectedItem.position.clone();
1475
- if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
1476
- toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1477
- } else {
1478
- 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);
1479
- }
1480
- scene3D.add(toolObj);
1481
- _this2.setState({
1482
- toolObj: toolObj
1483
- });
1484
- // showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
1485
- var pointArray = [],
1486
- cnt = 0;
1487
- pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
1488
- pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
1489
- pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
1490
- pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
1491
- pointArray.forEach(function (pointElement, index) {
1492
- if (pointElement[0] == undefined) pointArray[index][0] = 0;
1493
- });
1494
- pointArray.forEach(function (pointElement) {
1495
- if (pointElement[0] == 0) cnt++;
1496
- });
1497
- if (cnt == 4 || cnt == 3) {
1498
- pointArray[0][0] = 100;
1499
- pointArray[1][0] = 100;
1500
- }
1501
- actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
1488
+ (0, _sceneCreator.getDistances)(layer);
1489
+ var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1490
+ if ((0, _util.isUndefined)(selectedItem)) return;
1491
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1492
+ var itemPos = selectedItem.position.clone();
1493
+ if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
1494
+ toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1495
+ } else {
1496
+ 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);
1497
+ }
1498
+ scene3D.add(toolObj);
1499
+ _this2.setState({
1500
+ toolObj: toolObj
1501
+ });
1502
+ // showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
1503
+ var pointArray = [],
1504
+ cnt = 0;
1505
+ pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
1506
+ pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
1507
+ pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
1508
+ pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
1509
+ pointArray.forEach(function (pointElement, index) {
1510
+ if (pointElement[0] == undefined) pointArray[index][0] = 0;
1502
1511
  });
1512
+ pointArray.forEach(function (pointElement) {
1513
+ if (pointElement[0] == 0) cnt++;
1514
+ });
1515
+ if (cnt == 4 || cnt == 3) {
1516
+ pointArray[0][0] = 100;
1517
+ pointArray[1][0] = 100;
1518
+ }
1519
+ actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
1520
+ internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
1503
1521
  } else {
1504
1522
  if (selectedObject) {
1523
+ var elementID = null;
1524
+ var elementPrototype = null;
1505
1525
  switch (true) {
1506
1526
  case 'holeID' in selectedObject:
1507
- if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
1508
- actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1509
- }
1510
- break;
1511
1527
  case 'lineID' in selectedObject:
1512
- if (selObj !== null && selObj !== void 0 && (_selObj$object2 = selObj.object) !== null && _selObj$object2 !== void 0 && _selObj$object2.name.includes('transHole')) {
1528
+ if (_this2.props.state.mode === _constants.MODE_DRAGGING_HOLE_3D) {
1513
1529
  actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1530
+ internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
1531
+ elementID = selectedObject.holeID;
1532
+ elementPrototype = 'holeID';
1514
1533
  }
1515
1534
  break;
1535
+ case 'areaID' in selectedObject:
1536
+ internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
1537
+ elementID = selectedObject.areaID;
1538
+ elementPrototype = 'areas';
1539
+ break;
1516
1540
  default:
1517
1541
  break;
1518
1542
  }
1543
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
1519
1544
  }
1520
1545
  isSelected = false;
1521
1546
  }
@@ -1545,19 +1570,19 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1545
1570
  var _properties2 = allItemRect.cur.itemInfo.properties;
1546
1571
  alti = _properties2.getIn(['altitude', '_length']);
1547
1572
  var _unit2 = _properties2.getIn(['altitude', '_unit']) || 'in';
1548
- alti = (0, _convertUnits["default"])(alti).from(_unit2).to(_this2.props.state.scene.unit);
1573
+ alti = (0, _convertUnitsLite.convert)(alti).from(_unit2).to(_this2.props.state.scene.unit);
1549
1574
  }
1550
1575
  getPoint(event, alti);
1551
1576
  if (bRotate) {
1552
1577
  var _intersects$_i;
1553
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1554
- if ((0, _util.isUndefined)(selectedItem)) return;
1555
- var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1556
- var itemPos = selectedItem.position.clone();
1557
- 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) {
1578
+ var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1579
+ if ((0, _util.isUndefined)(_selectedItem)) return;
1580
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1581
+ var _itemPos = _selectedItem.position.clone();
1582
+ 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) {
1558
1583
  toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1559
1584
  } else {
1560
- 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);
1585
+ 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);
1561
1586
  }
1562
1587
  scene3D.add(toolObj);
1563
1588
  _this2.setState({
@@ -1568,14 +1593,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1568
1593
  }
1569
1594
  if (bMove) {
1570
1595
  bMove = false;
1571
- var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1572
- if ((0, _util.isUndefined)(_selectedItem)) return;
1573
- var _selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1574
- var _itemPos = _selectedItem.position.clone();
1575
- if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
1596
+ var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1597
+ if ((0, _util.isUndefined)(_selectedItem2)) return;
1598
+ selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1599
+ var _itemPos2 = _selectedItem2.position.clone();
1600
+ if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
1576
1601
  toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1577
1602
  } else {
1578
- 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);
1603
+ 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);
1579
1604
  }
1580
1605
  scene3D.add(toolObj);
1581
1606
  _this2.setState({
@@ -1609,6 +1634,171 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1609
1634
  selectedObj = allItemRect.cur;
1610
1635
  }
1611
1636
  }
1637
+ if (!(0, _helper.isEmpty)(internalType)) {
1638
+ var _this2$props$onIntern, _this2$props;
1639
+ (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1640
+ type: internalType,
1641
+ value: selectedElement.toJS()
1642
+ });
1643
+ }
1644
+ };
1645
+ this.mouseEnterEvent = function (event) {
1646
+ if (_this2.props.state.mode !== _constants.MODE_DRAWING_ITEM_3D) return;
1647
+ // if not initial moment of drawing an item
1648
+ if (!isInitialPhase) return;
1649
+ var bNormalFlow = true;
1650
+ _this2.getSelectedObject();
1651
+ var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
1652
+ var mX = Point.x - sPoint.x;
1653
+ var mY = Point.y - sPoint.y;
1654
+ var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1655
+ (0, _sceneCreator.deleteSpecifiedMeshObjects)('TransformBox');
1656
+ (0, _sceneCreator.deleteSpecifiedMeshObjects)('WarningBox' + selectedObject.itemID);
1657
+ var item = layer.getIn(['items', selectedObject.itemID]);
1658
+ if (!item3D || !item) return;
1659
+ if (item.counterTop.uri == '') item.counterTop.uri = layer.counterTop.uri;
1660
+ var sRot = item.rotation;
1661
+ var originPos = item3D.position.clone();
1662
+ var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
1663
+ var sBounding = item3D.children[0].userData;
1664
+ var swidth = sBounding.max.x - sBounding.min.x;
1665
+ var sdepth = sBounding.max.z - sBounding.min.z;
1666
+ var sVertices = _this2.getRectPoints(swidth, sdepth, tPos.clone(), sRot % 360 / 180 * Math.PI);
1667
+ prepareSnap(layer);
1668
+
1669
+ // calc altitude
1670
+ var altitude = 0;
1671
+ if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
1672
+ var properties = allItemRect.cur.itemInfo.properties;
1673
+ altitude = properties.getIn(['altitude', '_length']);
1674
+ var unit = properties.getIn(['altitude', '_unit']) || 'in';
1675
+ altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
1676
+ }
1677
+ // We need to set cam position since when MODE_DRAWING_ITEM_3D mouse down event
1678
+ // is not emited so cam position is not valid
1679
+ gridPlanOrigin = gridPlane.position;
1680
+ gridMatrix.copy(gridPlane.matrixWorld).invert();
1681
+ camPos = camera.position;
1682
+
1683
+ // calc cursor position
1684
+ getPoint(event, altitude);
1685
+ var polygon = _export.GeometryUtils.getPoylgonPoints(layer);
1686
+
1687
+ // if no wall (no area)
1688
+ if (!polygon.length) {
1689
+ // place the item at cursor position
1690
+ actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
1691
+ return;
1692
+ }
1693
+
1694
+ // calc snap
1695
+ var _GeometryUtils$calcCr = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygon),
1696
+ cx = _GeometryUtils$calcCr.cx,
1697
+ cy = _GeometryUtils$calcCr.cy,
1698
+ crot = _GeometryUtils$calcCr.crot,
1699
+ rotRad = _GeometryUtils$calcCr.rotRad;
1700
+ var finalPosition = {
1701
+ x: cx,
1702
+ y: cy,
1703
+ rot: crot,
1704
+ rotRad: rotRad
1705
+ };
1706
+
1707
+ // calc current item rect
1708
+ var itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1709
+ pos: {
1710
+ x: Point.x,
1711
+ y: Point.y
1712
+ }
1713
+ });
1714
+
1715
+ // if cursor position is inside the room
1716
+ if (_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
1717
+ // if cursor position is available to place the item
1718
+ if (_export.GeometryUtils.validRect(itemRect, allRect)) {
1719
+ actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
1720
+ sPoint.set(Point.x, Point.y);
1721
+ bNormalFlow = false;
1722
+ }
1723
+ } else {
1724
+ // if cursor is outside the room and there is no snap candidate,
1725
+ // then place the item at any free position inside the room.
1726
+ if (!_export.GeometryUtils.ContainsPoint(polygon, cx, cy)) {
1727
+ var points = [];
1728
+ var point = [];
1729
+
1730
+ // rebuild variable to be passed to getCentriodOfPolygon
1731
+ // polygon: [ x0, y0, x1, y1, ... ] ==> points: [[x0, y0], [x1, y1], ...]
1732
+ polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
1733
+ point.push(value);
1734
+ if (index % 2) {
1735
+ points.push(point);
1736
+ point = [];
1737
+ }
1738
+ });
1739
+
1740
+ // calc center position of the room
1741
+ var centerPos = _export.GeometryUtils.getCentroidOfPolygon(points);
1742
+ var itemRect1 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1743
+ pos: {
1744
+ x: centerPos.x,
1745
+ y: centerPos.y
1746
+ }
1747
+ });
1748
+ var itemRect2 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1749
+ pos: {
1750
+ x: centerPos.x,
1751
+ y: centerPos.y
1752
+ },
1753
+ rotRad: allItemRect.cur.rotRad + Math.PI / 2
1754
+ });
1755
+
1756
+ // find a free position in the room
1757
+ if (_export.GeometryUtils.validRect(itemRect1, allRect)) {
1758
+ actions.itemsActions.updateDraggingItemChanged(centerPos.x, centerPos.y, selectedObject.layerID, selectedObject.itemID);
1759
+ sPoint.set(centerPos.x, centerPos.y);
1760
+ bNormalFlow = false;
1761
+ } else if (_export.GeometryUtils.validRect(itemRect2, allRect)) {
1762
+ finalPosition = {
1763
+ x: centerPos.x,
1764
+ y: centerPos.y,
1765
+ rotRad: itemRect2.rotRad,
1766
+ rot: itemRect2.rotRad / Math.PI * 180
1767
+ };
1768
+ sPoint.set(centerPos.x, centerPos.y);
1769
+ }
1770
+ }
1771
+ }
1772
+ var nPos = new Three.Vector2(cx, cy);
1773
+ if (!_this2.collisionHoleCheck(item3D, nPos, item.rotation, {
1774
+ userData: {
1775
+ itemId: null
1776
+ }
1777
+ }, item, _this2.context.catalog)) {
1778
+ _this2.collisionSlide(item3D, originPos, layer, sVertices, tPos, item);
1779
+ }
1780
+ itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
1781
+ pos: {
1782
+ x: finalPosition.x,
1783
+ y: finalPosition.y
1784
+ },
1785
+ rotRad: finalPosition.rotRad
1786
+ });
1787
+
1788
+ // if the room is fullfilled with items or can't calc snap correctly
1789
+ if (!_export.GeometryUtils.validRect(itemRect, allRect)) {
1790
+ // then place the item at cursor position
1791
+ actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
1792
+ sPoint.set(Point.x, Point.y);
1793
+ bNormalFlow = false;
1794
+ }
1795
+ if (bNormalFlow) {
1796
+ actions.itemsActions.updateDraggingItemChanged(finalPosition.x, finalPosition.y, selectedObject.layerID, selectedObject.itemID);
1797
+ actions.itemsActions.updateRotatingItemChanged(finalPosition.rot, selectedObject.layerID, selectedObject.itemID);
1798
+ sPoint.set(finalPosition.x, finalPosition.y);
1799
+ }
1800
+ isInitialPhase = false;
1801
+ _this2.handleAfterMovingItem();
1612
1802
  };
1613
1803
  this.mouseMoveEvent = function (event) {
1614
1804
  event.preventDefault();
@@ -1618,7 +1808,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1618
1808
  var properties = allItemRect.cur.itemInfo.properties;
1619
1809
  altitude = properties.getIn(['altitude', '_length']);
1620
1810
  var unit = properties.getIn(['altitude', '_unit']) || 'in';
1621
- altitude = (0, _convertUnits["default"])(altitude).from(unit).to(_this2.props.state.scene.unit);
1811
+ altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
1622
1812
  }
1623
1813
  if (_this2.props.state.mode === _constants.MODE_DRAWING_HOLE_3D) {
1624
1814
  gridPlanOrigin = gridPlane.position;
@@ -1650,49 +1840,22 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1650
1840
  camPos = camera.position;
1651
1841
  getPoint(event, altitude);
1652
1842
  if (Point.x > _this2.props.state.scene.width || Point.x < 0 || Point.y > _this2.props.state.scene.height || Point.y < 0) return;
1653
- var _layerID = _this2.props.state.scene.selectedLayer;
1654
- selectedObject = {
1655
- layerID: _layerID
1656
- };
1657
- var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
1658
- var polygon = lineRect(_layer);
1659
- var isCursorInArea = _export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y);
1843
+ _this2.getSelectedObject();
1660
1844
  var _drawingSupport = _this2.props.state.drawingSupport;
1661
1845
  if (!_drawingSupport.has('currentID')) {
1662
- var initialX = Point.x,
1663
- initialY = Point.y;
1664
-
1665
- // if cursor is outside the room area,
1666
- // place the item at center of room area.
1667
- if (!isCursorInArea && polygon.length > 0) {
1668
- // rebuild polygon variable to be suitable for getCentroid() function
1669
- var points = [];
1670
- var point = [];
1671
- polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
1672
- point.push(value);
1673
- if (index % 2 === 1) {
1674
- points.push(point);
1675
- point = [];
1676
- }
1677
- });
1678
- var centroid = _export.GeometryUtils.getCentroidOfPolygon(points);
1679
- initialX = centroid[0];
1680
- initialY = centroid[1];
1681
- }
1682
- _this2.context.itemsActions.updateDrawingItem(_this2.props.state.scene.selectedLayer, initialX, initialY);
1683
- sPoint.set(initialX, initialY);
1846
+ _this2.context.itemsActions.updateDrawingItem(selectedObject.layerID, Point.x, Point.y);
1847
+ sPoint.set(Point.x, Point.y);
1684
1848
  } else {
1685
- var itemID = _this2.props.state.drawingSupport.get('currentID');
1686
- selectedObject.itemID = itemID;
1687
1849
  var mX = Point.x - sPoint.x;
1688
1850
  var mY = Point.y - sPoint.y;
1851
+ var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
1689
1852
  var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1690
1853
  (0, _sceneCreator.deleteSpecifiedMeshObjects)('TransformBox');
1691
- (0, _sceneCreator.deleteSpecifiedMeshObjects)('WarningBox' + itemID);
1692
- var item = _layer.items.getIn([selectedObject.itemID]);
1854
+ (0, _sceneCreator.deleteSpecifiedMeshObjects)('WarningBox' + selectedObject.itemID);
1855
+ var item = _layer.getIn(['items', selectedObject.itemID]);
1856
+ if (!item3D || !item) return;
1693
1857
  if (item.counterTop.uri == '') item.counterTop.uri = _layer.counterTop.uri;
1694
1858
  var sRot = item.rotation;
1695
- if (!item3D) return;
1696
1859
  var originPos = item3D.position.clone();
1697
1860
  var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
1698
1861
  var sBounding = item3D.children[0].userData;
@@ -1711,78 +1874,28 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1711
1874
  }
1712
1875
  }, item, _this2.context.catalog)) {
1713
1876
  _this2.collisionSlide(item3D, originPos, _layer, sVertices, tPos, item);
1714
- //return;
1715
1877
  }
1716
- if (polygon.length > 0) {
1717
- var PolygonSect = _export.GeometryUtils.ContainsPoint(polygon, _nx, _ny);
1878
+ var polygonPoint = _export.GeometryUtils.getPoylgonPoints(_layer);
1879
+ if (polygonPoint.length > 0) {
1880
+ var PolygonSect = _export.GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
1718
1881
  if (!PolygonSect) {
1719
- var _GeometryUtils$calcCr = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygon),
1720
- cx = _GeometryUtils$calcCr.cx,
1721
- cy = _GeometryUtils$calcCr.cy,
1722
- crot = _GeometryUtils$calcCr.crot;
1882
+ var _GeometryUtils$calcCr2 = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygonPoint),
1883
+ cx = _GeometryUtils$calcCr2.cx,
1884
+ cy = _GeometryUtils$calcCr2.cy,
1885
+ crot = _GeometryUtils$calcCr2.crot;
1723
1886
  _nx = cx;
1724
1887
  _ny = cy;
1725
1888
  rot = crot;
1726
1889
  }
1727
1890
  }
1728
- if (polygon.length > 0) {
1729
- var isSnapInArea = _export.GeometryUtils.ContainsPoint(polygon, _nx, _ny);
1730
- if (!isSnapInArea) return;
1891
+ if (polygonPoint.length > 0) {
1892
+ var isSect = _export.GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
1893
+ if (!isSect) return;
1731
1894
  }
1732
1895
  actions.itemsActions.updateDraggingItemChanged(_nx, _ny, selectedObject.layerID, selectedObject.itemID);
1733
1896
  actions.itemsActions.updateRotatingItemChanged(rot, selectedObject.layerID, selectedObject.itemID);
1734
1897
  sPoint.set(_nx, _ny);
1735
- (0, _sceneCreator.getDistances)(_layer);
1736
- var pointArray = [],
1737
- cnt = 0;
1738
- pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
1739
- pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
1740
- pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
1741
- pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
1742
- pointArray.forEach(function (pointElement, index) {
1743
- if (pointElement[0] == undefined) pointArray[index][0] = 0;
1744
- });
1745
- pointArray.forEach(function (pointElement) {
1746
- if (pointElement[0] == 0) cnt++;
1747
- });
1748
- if (cnt == 4 || cnt == 3) {
1749
- pointArray[0][0] = 100;
1750
- pointArray[1][0] = 100;
1751
- }
1752
- actions.itemsActions.storeDistArray(_layer.id, item.id, pointArray);
1753
- var minDis = _sceneCreator.fVLine[0].userData.distance;
1754
- var snapObj = _sceneCreator.fVLine[0];
1755
- var iPos = item3D.position.clone();
1756
- var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
1757
- if (snapDis >= 100 && snapObj != null) {
1758
- removeSnapBox();
1759
- backsplashVisible = false;
1760
- //console.log('1 snap no');
1761
- }
1762
- for (var _i11 = 1; _i11 < _sceneCreator.fVLine.length; _i11++) {
1763
- if (minDis > _sceneCreator.fVLine[_i11].userData.distance) {
1764
- minDis = _sceneCreator.fVLine[_i11].userData.distance;
1765
- snapObj = _sceneCreator.fVLine[_i11];
1766
- }
1767
- }
1768
- if (snapBox == null) {
1769
- snapFlag = false;
1770
- }
1771
- actions.sceneActions.updateMovingState(false);
1772
- if (minDis < snapDelta && !snapFlag) {
1773
- _this2.snap(snapObj, _layer);
1774
- snapFlag = true;
1775
- //console.log('1 snap Yes')
1776
- (0, _sceneCreator.getDistances)(_layer, true);
1777
- var _i12 = 0;
1778
- for (_i12 = 0; _i12 < _sceneCreator.fVLine.length; _i12++) {
1779
- if (_sceneCreator.fVLine[_i12].userData.distance < snapDelta) {
1780
- break;
1781
- }
1782
- }
1783
- if (_i12 === _sceneCreator.fVLine.length) backsplashVisible = false;else backsplashVisible = true;
1784
- }
1785
- actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
1898
+ _this2.handleAfterMovingItem();
1786
1899
  }
1787
1900
  }
1788
1901
  if (bRotate) {
@@ -1850,78 +1963,28 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1850
1963
  _this2.collisionSlide(_item3D2, _originPos, _layer3, _sVertices, _tPos4, _item5);
1851
1964
  //return;
1852
1965
  }
1853
- var polygonPoint = lineRect(_layer3);
1854
- if (polygonPoint.length > 0) {
1855
- var _PolygonSect = _export.GeometryUtils.ContainsPoint(polygonPoint, _nx3, _ny3);
1966
+ var _polygonPoint = _export.GeometryUtils.getPoylgonPoints(_layer3);
1967
+ if (_polygonPoint.length > 0) {
1968
+ var _PolygonSect = _export.GeometryUtils.ContainsPoint(_polygonPoint, _nx3, _ny3);
1856
1969
  if (!_PolygonSect) {
1857
- var _GeometryUtils$calcCr2 = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygonPoint),
1858
- _cx3 = _GeometryUtils$calcCr2.cx,
1859
- _cy = _GeometryUtils$calcCr2.cy,
1860
- _crot = _GeometryUtils$calcCr2.crot;
1970
+ var _GeometryUtils$calcCr3 = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, _polygonPoint),
1971
+ _cx3 = _GeometryUtils$calcCr3.cx,
1972
+ _cy = _GeometryUtils$calcCr3.cy,
1973
+ _crot = _GeometryUtils$calcCr3.crot;
1861
1974
  _nx3 = _cx3;
1862
1975
  _ny3 = _cy;
1863
1976
  _rot = _crot;
1864
1977
  }
1865
1978
  }
1866
- var _polygon = lineRect(_layer3);
1867
- if (_polygon.length > 0) {
1868
- var Sect = _export.GeometryUtils.ContainsPoint(_polygon, _nx3, _ny3);
1979
+ var polygon = _export.GeometryUtils.getPoylgonPoints(_layer3);
1980
+ if (polygon.length > 0) {
1981
+ var Sect = _export.GeometryUtils.ContainsPoint(polygon, _nx3, _ny3);
1869
1982
  if (!Sect) return;
1870
1983
  }
1871
1984
  actions.itemsActions.updateDraggingItemChanged(_nx3, _ny3, selectedObject.layerID, selectedObject.itemID);
1872
1985
  actions.itemsActions.updateRotatingItemChanged(_rot, selectedObject.layerID, selectedObject.itemID);
1873
1986
  sPoint.set(_nx3, _ny3);
1874
- (0, _sceneCreator.getDistances)(_layer3);
1875
- var _pointArray = [],
1876
- _cnt = 0;
1877
- _pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
1878
- _pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
1879
- _pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
1880
- _pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
1881
- _pointArray.forEach(function (pointElement, index) {
1882
- if (pointElement[0] == undefined) _pointArray[index][0] = 0;
1883
- });
1884
- _pointArray.forEach(function (pointElement) {
1885
- if (pointElement[0] == 0) _cnt++;
1886
- });
1887
- if (_cnt == 4 || _cnt == 3) {
1888
- _pointArray[0][0] = 100;
1889
- _pointArray[1][0] = 100;
1890
- }
1891
- actions.itemsActions.storeDistArray(_layer3.id, _item5.id, _pointArray);
1892
- var _minDis = _sceneCreator.fVLine[0].userData.distance;
1893
- var _snapObj = _sceneCreator.fVLine[0];
1894
- var _iPos = _item3D2.position.clone();
1895
- var _snapDis = Math.sqrt((_iPos.x - targetPoint.x) * (_iPos.x - targetPoint.x) + (_iPos.z - targetPoint.z) * (_iPos.z - targetPoint.z));
1896
- if (_snapDis >= 100 && _snapObj != null) {
1897
- removeSnapBox();
1898
- backsplashVisible = false;
1899
- //console.log('1 snap no');
1900
- }
1901
- for (var _i13 = 1; _i13 < _sceneCreator.fVLine.length; _i13++) {
1902
- if (_minDis > _sceneCreator.fVLine[_i13].userData.distance) {
1903
- _minDis = _sceneCreator.fVLine[_i13].userData.distance;
1904
- _snapObj = _sceneCreator.fVLine[_i13];
1905
- }
1906
- }
1907
- if (snapBox == null) {
1908
- snapFlag = false;
1909
- }
1910
- actions.sceneActions.updateMovingState(false);
1911
- if (_minDis < snapDelta && !snapFlag) {
1912
- _this2.snap(_snapObj, _layer3);
1913
- snapFlag = true;
1914
- //console.log('1 snap Yes')
1915
- (0, _sceneCreator.getDistances)(_layer3, true);
1916
- var _i14 = 0;
1917
- for (_i14 = 0; _i14 < _sceneCreator.fVLine.length; _i14++) {
1918
- if (_sceneCreator.fVLine[_i14].userData.distance < snapDelta) {
1919
- break;
1920
- }
1921
- }
1922
- if (_i14 === _sceneCreator.fVLine.length) backsplashVisible = false;else backsplashVisible = true;
1923
- }
1924
- actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
1987
+ _this2.handleAfterMovingItem();
1925
1988
  }
1926
1989
  }
1927
1990
  if (!bMove && !bRotate && !bMoveUP) {
@@ -1934,13 +1997,13 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1934
1997
  rayDirection = rayDirection.normalize();
1935
1998
  var meshes = (0, _objectsUtils.getAllMeshes)(toIntersect);
1936
1999
  var intersects = raycaster.intersectObjects(meshes, true);
1937
- var _i15;
2000
+ var _i11;
1938
2001
  if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
1939
- for (_i15 = 0; _i15 < intersects.length; _i15++) {
1940
- if (intersects[_i15].object.name === 'warningObj') break;
2002
+ for (_i11 = 0; _i11 < intersects.length; _i11++) {
2003
+ if (intersects[_i11].object.name === 'warningObj') break;
1941
2004
  }
1942
- if (intersects[_i15] !== undefined) {
1943
- var distance = Math.sqrt(Math.pow((intersects[_i15].uv.x - 0.5) * 50, 2) + Math.pow((intersects[_i15].uv.y - 0.75) * 100, 2));
2005
+ if (intersects[_i11] !== undefined) {
2006
+ var distance = Math.sqrt(Math.pow((intersects[_i11].uv.x - 0.5) * 50, 2) + Math.pow((intersects[_i11].uv.y - 0.75) * 100, 2));
1944
2007
  if (distance <= 20) {
1945
2008
  var infoPos = {
1946
2009
  x: 0,
@@ -1956,15 +2019,72 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1956
2019
  } else {
1957
2020
  infoPos.x = event.offsetX;
1958
2021
  }
1959
- document.getElementById('warning_box_2d').style.display = 'flex';
1960
- document.getElementById('warning_box_2d').style.top = "".concat(infoPos.y, "px");
1961
- document.getElementById('warning_box_2d').style.left = "".concat(infoPos.x, "px");
1962
- return;
2022
+ if (!(0, _helper.isEmpty)(document.getElementById('warning_box_2d'))) {
2023
+ document.getElementById('warning_box_2d').style.display = 'flex';
2024
+ document.getElementById('warning_box_2d').style.top = "".concat(infoPos.y, "px");
2025
+ document.getElementById('warning_box_2d').style.left = "".concat(infoPos.x, "px");
2026
+ return;
2027
+ }
1963
2028
  }
1964
2029
  }
1965
2030
  }
1966
2031
  }
1967
- document.getElementById('warning_box_2d').style.display = 'none';
2032
+ if (!(0, _helper.isEmpty)(document.getElementById('warning_box_2d'))) document.getElementById('warning_box_2d').style.display = 'none';
2033
+ };
2034
+
2035
+ // handle snapBox, distArray, backsplash
2036
+ this.handleAfterMovingItem = function () {
2037
+ var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
2038
+ var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
2039
+ (0, _sceneCreator.getDistances)(layer);
2040
+ var pointArray = [],
2041
+ cnt = 0;
2042
+ pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
2043
+ pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
2044
+ pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
2045
+ pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
2046
+ pointArray.forEach(function (pointElement, index) {
2047
+ if (pointElement[0] == undefined) pointArray[index][0] = 0;
2048
+ });
2049
+ pointArray.forEach(function (pointElement) {
2050
+ if (pointElement[0] == 0) cnt++;
2051
+ });
2052
+ if (cnt == 4 || cnt == 3) {
2053
+ pointArray[0][0] = 100;
2054
+ pointArray[1][0] = 100;
2055
+ }
2056
+ actions.itemsActions.storeDistArray(selectedObject.layerID, selectedObject.itemID, pointArray);
2057
+ var minDis = _sceneCreator.fVLine[0].userData.distance;
2058
+ var snapObj = _sceneCreator.fVLine[0];
2059
+ var iPos = item3D.position.clone();
2060
+ var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
2061
+ if (snapDis >= 100 && snapObj != null) {
2062
+ removeSnapBox();
2063
+ backsplashVisible = false;
2064
+ }
2065
+ for (var _i12 = 1; _i12 < _sceneCreator.fVLine.length; _i12++) {
2066
+ if (minDis > _sceneCreator.fVLine[_i12].userData.distance) {
2067
+ minDis = _sceneCreator.fVLine[_i12].userData.distance;
2068
+ snapObj = _sceneCreator.fVLine[_i12];
2069
+ }
2070
+ }
2071
+ if (snapBox == null) {
2072
+ snapFlag = false;
2073
+ }
2074
+ actions.sceneActions.updateMovingState(false);
2075
+ if (minDis < snapDelta && !snapFlag) {
2076
+ _this2.snap(snapObj, layer);
2077
+ snapFlag = true;
2078
+ (0, _sceneCreator.getDistances)(layer, true);
2079
+ var _i13 = 0;
2080
+ for (_i13 = 0; _i13 < _sceneCreator.fVLine.length; _i13++) {
2081
+ if (_sceneCreator.fVLine[_i13].userData.distance < snapDelta) {
2082
+ break;
2083
+ }
2084
+ }
2085
+ if (_i13 === _sceneCreator.fVLine.length) backsplashVisible = false;else backsplashVisible = true;
2086
+ }
2087
+ actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
1968
2088
  };
1969
2089
  this.onkeydown = function (event) {
1970
2090
  if (_this2.props.keyDownEnable && !(0, _helper.isElevationView)(state.mode)) {
@@ -2021,6 +2141,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2021
2141
  this.handleKeyDown = function (event) {
2022
2142
  _this2.onkeydown(event);
2023
2143
  };
2144
+ this.getSelectedObject = function () {
2145
+ var layerID = _this2.props.state.scene.selectedLayer;
2146
+ var itemID = _this2.props.state.drawingSupport.get('currentID');
2147
+ selectedObject = {
2148
+ layerID: layerID,
2149
+ itemID: itemID
2150
+ };
2151
+ };
2024
2152
 
2025
2153
  // Renderer & Event listener
2026
2154
 
@@ -2029,6 +2157,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2029
2157
  if (!this.props.downloadFlag) {
2030
2158
  this.renderer.domElement.addEventListener('mousedown', this.mouseDownEvent);
2031
2159
  this.renderer.domElement.addEventListener('mouseup', this.mouseUpEvent);
2160
+ this.renderer.domElement.addEventListener('mouseenter', this.mouseEnterEvent);
2032
2161
  this.renderer.domElement.addEventListener('mousemove', this.mouseMoveEvent);
2033
2162
  window.addEventListener('keydown', this.onkeydown);
2034
2163
  window.SPKeyDown = this.handleKeyDown;
@@ -2070,7 +2199,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2070
2199
  scene3D = new Three.Scene();
2071
2200
  if ((0, _helper.isElevationView)(state.mode)) scene3D.background = new Three.Color(0xffffff);
2072
2201
  // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2073
- else scene3D.background = new Three.Color(0xc3cadc); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2202
+ else scene3D.background = new Three.Color(0xffffff); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2074
2203
  // scene3D.fog = new Three.Fog(0xC3CADC, 2000, 3500);
2075
2204
  window.scene3D = scene3D;
2076
2205
  // Camera
@@ -2078,7 +2207,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2078
2207
  // In elevation view, set Orthographic camera's position, angle and rotation about selected line
2079
2208
  var layers = scene.layers;
2080
2209
  var selectedLayer = layers.get(scene.selectedLayer);
2081
- var ceilHeight = (0, _convertUnits["default"])(selectedLayer.ceilHeight).from(selectedLayer.unit).to(scene.unit);
2210
+ var ceilHeight = (0, _convertUnitsLite.convert)(selectedLayer.ceilHeight).from(selectedLayer.unit).to(scene.unit);
2082
2211
  var lines = [];
2083
2212
  var selectedLine = selectedLayer.lines.get(selectedLayer.selected.lines.toJS()[0]);
2084
2213
  var vertex0 = selectedLayer.vertices.get(selectedLine.vertices.get(0));
@@ -2169,9 +2298,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2169
2298
  function render() {
2170
2299
  var delta = clock.getDelta(); // Get time delta for smooth updates
2171
2300
  if (!(0, _helper.isElevationView)(state.mode)) cameraControls.update(delta);
2172
- for (var _i16 = 0; _i16 < lights.length; _i16++) {
2173
- 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);
2174
- lights[_i16].target.position.set(planData.plan.position.x + lights[_i16].x, planData.plan.position.y, planData.plan.position.z - lights[_i16].y);
2301
+ for (var _i14 = 0; _i14 < lights.length; _i14++) {
2302
+ 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);
2303
+ lights[_i14].target.position.set(planData.plan.position.x + lights[_i14].x, planData.plan.position.y, planData.plan.position.z - lights[_i14].y);
2175
2304
  }
2176
2305
  camera.updateMatrix();
2177
2306
  camera.updateMatrixWorld();
@@ -2215,7 +2344,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2215
2344
  var indexAttribute = line.geometry.getIndex();
2216
2345
  var firstFaceIndices = undefined;
2217
2346
  if (indexAttribute && indexAttribute.length > 0) {
2218
- [indexAttribute.getX(0), indexAttribute.getX(1), indexAttribute.getX(2)], _readOnlyError("firstFaceIndices");
2347
+ [indexAttribute.getX(0), indexAttribute.getX(1), indexAttribute.getX(2)], (0, _readOnlyError2["default"])("firstFaceIndices");
2219
2348
  }
2220
2349
  if (firstFaceIndices == undefined) return;
2221
2350
  // normal vector of the line
@@ -2312,7 +2441,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2312
2441
  var width = nextProps.width,
2313
2442
  height = nextProps.height;
2314
2443
  var selectedLayer = nextProps.state.getIn(['scene', 'layers', nextProps.state.scene.selectedLayer]);
2315
- var ceilHeight = (0, _convertUnits["default"])(selectedLayer.ceilHeight).from(selectedLayer.unit).to(nextProps.state.scene.unit);
2444
+ var ceilHeight = (0, _convertUnitsLite.convert)(selectedLayer.ceilHeight).from(selectedLayer.unit).to(nextProps.state.scene.unit);
2316
2445
  var actions = {
2317
2446
  areaActions: this.context.areaActions,
2318
2447
  holesActions: this.context.holesActions,
@@ -2470,7 +2599,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2470
2599
  }));
2471
2600
  } else {
2472
2601
  document.getElementById('front') && (document.getElementById('front').style.display = 'none');
2473
- document.getElementById('error').style.display = 'none';
2474
2602
  this.renderer.domElement.style.display = 'none';
2475
2603
  return /*#__PURE__*/_react["default"].createElement("div", {
2476
2604
  style: {
@@ -2505,7 +2633,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2505
2633
  alt: "img"
2506
2634
  }));
2507
2635
  } else {
2508
- !this.props.downloadFlag && (document.getElementById('error').style.display = 'block');
2509
2636
  this.renderer.domElement.style.pointerEvents = 'auto';
2510
2637
  this.renderer.domElement.style.opacity = '1';
2511
2638
  !this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
@@ -2530,4 +2657,5 @@ Scene3DViewer.contextTypes = {
2530
2657
  sceneActions: _propTypes["default"].object.isRequired,
2531
2658
  projectActions: _propTypes["default"].object.isRequired,
2532
2659
  catalog: _propTypes["default"].object
2533
- };
2660
+ };
2661
+ module.exports = exports.default;