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.
- package/README.md +24 -1
- package/es/LiteKitchenConfigurator.js +480 -0
- package/es/LiteRenderer.js +503 -0
- package/es/actions/export.js +25 -12
- package/es/actions/items-actions.js +11 -6
- package/es/actions/project-actions.js +9 -4
- package/es/analytics/ga4.js +1 -4
- package/es/assets/Window.hdr +2100 -0
- package/es/assets/brown_photostudio_02_1k.hdr +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
- package/es/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
- package/es/assets/fonts/style.css +177 -0
- package/es/assets/gltf/door_closet.bin +0 -0
- package/es/assets/gltf/door_closet.fbx +0 -0
- package/es/assets/gltf/door_closet.gltf +1 -0
- package/es/assets/gltf/door_exterior.bin +0 -0
- package/es/assets/gltf/door_exterior.fbx +0 -0
- package/es/assets/gltf/door_exterior.gltf +1 -0
- package/es/assets/gltf/door_interior.bin +0 -0
- package/es/assets/gltf/door_interior.fbx +0 -0
- package/es/assets/gltf/door_interior.gltf +1 -0
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/gltf/door_sliding.fbx +0 -0
- package/es/assets/gltf/door_sliding.gltf +1 -0
- package/es/assets/gltf/doorway_framed.bin +0 -0
- package/es/assets/gltf/doorway_framed.fbx +0 -0
- package/es/assets/gltf/doorway_framed.gltf +1 -0
- package/es/assets/gltf/window_clear.bin +0 -0
- package/es/assets/gltf/window_clear.fbx +0 -0
- package/es/assets/gltf/window_clear.gltf +1 -0
- package/es/assets/gltf/window_cross.bin +0 -0
- package/es/assets/gltf/window_cross.fbx +0 -0
- package/es/assets/gltf/window_cross.gltf +1 -0
- package/es/assets/gltf/window_double_hung.bin +0 -0
- package/es/assets/gltf/window_double_hung.fbx +0 -0
- package/es/assets/gltf/window_double_hung.gltf +1 -0
- package/es/assets/gltf/window_vertical.bin +0 -0
- package/es/assets/gltf/window_vertical.fbx +0 -0
- package/es/assets/gltf/window_vertical.gltf +1 -0
- package/es/assets/img/1.jpg +0 -0
- package/es/assets/img/TKC_thumbnail.png +0 -0
- package/es/assets/img/Toggle.png +0 -0
- package/es/assets/img/loading/loading.gif +0 -0
- package/es/assets/img/loading/loading_1.svg +11 -0
- package/es/assets/img/loading_large.gif +0 -0
- package/es/assets/img/png/door/closet.png +0 -0
- package/es/assets/img/png/door/doorwaysframed.png +0 -0
- package/es/assets/img/png/door/doorwaysframeles.png +0 -0
- package/es/assets/img/png/door/doorwaysframeless.png +0 -0
- package/es/assets/img/png/door/exterior.png +0 -0
- package/es/assets/img/png/door/interior.png +0 -0
- package/es/assets/img/png/door/sliding.png +0 -0
- package/es/assets/img/png/helper/outcome.png +0 -0
- package/es/assets/img/png/helper/video_preview_3d.png +0 -0
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/assets/img/project_img.png +0 -0
- package/es/assets/img/rta/rta_logo_box_blue.jpg +0 -0
- package/es/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
- package/es/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
- package/es/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
- package/es/assets/img/rta/rta_logo_box_lightblue.png +0 -0
- package/es/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
- package/es/assets/img/rta/rta_logo_box_maroon.png +0 -0
- package/es/assets/img/rta/rta_logo_box_white.png +0 -0
- package/es/assets/img/rta_menu.png +0 -0
- package/es/assets/img/step2.jpg +0 -0
- package/es/assets/img/step3.jpg +0 -0
- package/es/assets/img/step4.jpg +0 -0
- package/es/assets/img/step5.jpg +0 -0
- package/es/assets/img/step6.jpg +0 -0
- package/es/assets/img/step7.jpg +0 -0
- package/es/assets/img/step8.jpg +0 -0
- package/es/assets/img/svg/2d_delete_object.svg +33 -0
- package/es/assets/img/svg/2d_delete_object1.svg +33 -0
- package/es/assets/img/svg/2d_lock_object.svg +33 -0
- package/es/assets/img/svg/3d_item_move.svg +106 -0
- package/es/assets/img/svg/3d_item_rotation.svg +76 -0
- package/es/assets/img/svg/3d_item_warning_edit.svg +77 -0
- package/es/assets/img/svg/3d_item_warning_info.svg +81 -0
- package/es/assets/img/svg/accessories.svg +4 -0
- package/es/assets/img/svg/angle_icon.svg +39 -0
- package/es/assets/img/svg/blank_div.svg +14 -0
- package/es/assets/img/svg/bottombar/2d3d_button.svg +3 -0
- package/es/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
- package/es/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
- package/es/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
- package/es/assets/img/svg/bottombar/arrow-down.svg +3 -0
- package/es/assets/img/svg/bottombar/arrow-left.svg +3 -0
- package/es/assets/img/svg/bottombar/arrow-minus.svg +3 -0
- package/es/assets/img/svg/bottombar/arrow-plus.svg +11 -0
- package/es/assets/img/svg/bottombar/arrow-right.svg +3 -0
- package/es/assets/img/svg/bottombar/arrow-up.svg +3 -0
- package/es/assets/img/svg/bottombar/collapse.svg +3 -0
- package/es/assets/img/svg/bottombar/elevation-back.svg +6 -0
- package/es/assets/img/svg/bottombar/elevation-front.svg +6 -0
- package/es/assets/img/svg/bottombar/elevation-left.svg +6 -0
- package/es/assets/img/svg/bottombar/elevation-right.svg +7 -0
- package/es/assets/img/svg/bottombar/elevation.svg +6 -0
- package/es/assets/img/svg/bottombar/expand.svg +3 -0
- package/es/assets/img/svg/bottombar/help.svg +72 -0
- package/es/assets/img/svg/bottombar/incm_toggle.svg +39 -0
- package/es/assets/img/svg/bottombar/pan_1.svg +57 -0
- package/es/assets/img/svg/bottombar/pan_2.svg +27 -0
- package/es/assets/img/svg/bottombar/pan_3.svg +27 -0
- package/es/assets/img/svg/bottombar/pan_4.svg +27 -0
- package/es/assets/img/svg/bottombar/pan_5.svg +27 -0
- package/es/assets/img/svg/bottombar/settings.svg +23 -0
- package/es/assets/img/svg/bottombar/spin-down.svg +76 -0
- package/es/assets/img/svg/bottombar/spin-left.svg +75 -0
- package/es/assets/img/svg/bottombar/spin-right.svg +75 -0
- package/es/assets/img/svg/bottombar/spin-up.svg +76 -0
- package/es/assets/img/svg/bottombar/spin_1.svg +48 -0
- package/es/assets/img/svg/bottombar/spin_2.svg +31 -0
- package/es/assets/img/svg/bottombar/spin_3.svg +31 -0
- package/es/assets/img/svg/bottombar/spin_4.svg +31 -0
- package/es/assets/img/svg/bottombar/spin_5.svg +31 -0
- package/es/assets/img/svg/bottombar/zoomin.svg +29 -0
- package/es/assets/img/svg/bottombar/zoomout.svg +26 -0
- package/es/assets/img/svg/check.svg +10 -0
- package/es/assets/img/svg/close.svg +11 -0
- package/es/assets/img/svg/color/Black.svg +3 -0
- package/es/assets/img/svg/color/Blue.svg +3 -0
- package/es/assets/img/svg/color/Brown.svg +9 -0
- package/es/assets/img/svg/color/Cream.svg +3 -0
- package/es/assets/img/svg/color/Dark.svg +9 -0
- package/es/assets/img/svg/color/Gray.svg +3 -0
- package/es/assets/img/svg/color/Green.svg +3 -0
- package/es/assets/img/svg/color/Light.svg +9 -0
- package/es/assets/img/svg/color/Medium.svg +9 -0
- package/es/assets/img/svg/color/Unfinished.svg +9 -0
- package/es/assets/img/svg/color/White.svg +3 -0
- package/es/assets/img/svg/color/White.svg.bak +3 -0
- package/es/assets/img/svg/color/stone2.jpg +0 -0
- package/es/assets/img/svg/color/wood2.jpg +0 -0
- package/es/assets/img/svg/copy.svg +11 -0
- package/es/assets/img/svg/delete.svg +3 -0
- package/es/assets/img/svg/detail.svg +77 -0
- package/es/assets/img/svg/disclaimer/background.svg +758 -0
- package/es/assets/img/svg/disclaimer/logo-dots.svg +11 -0
- package/es/assets/img/svg/door/Closet.svg +11 -0
- package/es/assets/img/svg/door/Exterior.svg +5 -0
- package/es/assets/img/svg/door/Framed_dorway.svg +5 -0
- package/es/assets/img/svg/door/Frameless_dorway.svg +5 -0
- package/es/assets/img/svg/door/Interior.svg +7 -0
- package/es/assets/img/svg/door/Sliding.svg +5 -0
- package/es/assets/img/svg/doors_closet.svg +47 -0
- package/es/assets/img/svg/doors_exterior.svg +25 -0
- package/es/assets/img/svg/doors_interior.svg +29 -0
- package/es/assets/img/svg/doors_patio.svg +26 -0
- package/es/assets/img/svg/duplicate.svg +11 -0
- package/es/assets/img/svg/duplicate_object_left.svg +32 -0
- package/es/assets/img/svg/duplicate_object_right.svg +32 -0
- package/es/assets/img/svg/filtersActive.svg +19 -0
- package/es/assets/img/svg/firstsetting/L.svg +3 -0
- package/es/assets/img/svg/firstsetting/L2.svg +3 -0
- package/es/assets/img/svg/firstsetting/Open.svg +3 -0
- package/es/assets/img/svg/firstsetting/Square.svg +3 -0
- package/es/assets/img/svg/firstsetting/bar-active.svg +9 -0
- package/es/assets/img/svg/firstsetting/bar-normal.svg +3 -0
- package/es/assets/img/svg/firstsetting/bullet-current.svg +3 -0
- package/es/assets/img/svg/firstsetting/bullet-done.svg +3 -0
- package/es/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
- package/es/assets/img/svg/firstsetting/check-active.svg +3 -0
- package/es/assets/img/svg/firstsetting/check-normal.svg +3 -0
- package/es/assets/img/svg/firstsetting/pencil.svg +11 -0
- package/es/assets/img/svg/green_checkmark.svg +27 -0
- package/es/assets/img/svg/headerbar/assist.svg +3 -0
- package/es/assets/img/svg/headerbar/cart.svg +3 -0
- package/es/assets/img/svg/headerbar/check.svg +10 -0
- package/es/assets/img/svg/headerbar/consult_designer.svg +45 -0
- package/es/assets/img/svg/headerbar/edit_name.svg +26 -0
- package/es/assets/img/svg/headerbar/file-dollar.svg +13 -0
- package/es/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
- package/es/assets/img/svg/headerbar/plus.svg +11 -0
- package/es/assets/img/svg/headerbar/review_quote.svg +44 -0
- package/es/assets/img/svg/headerbar/ruler-measure.svg +11 -0
- package/es/assets/img/svg/headerbar/save.svg +3 -0
- package/es/assets/img/svg/headerbar/setting.svg +75 -0
- package/es/assets/img/svg/help/check.svg +10 -0
- package/es/assets/img/svg/help/search.svg +76 -0
- package/es/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
- package/es/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
- package/es/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
- package/es/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
- package/es/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
- package/es/assets/img/svg/intro/3-retrieve-project.svg +18 -0
- package/es/assets/img/svg/invert.svg +127 -0
- package/es/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
- package/es/assets/img/svg/lefttoolbar/appliance.svg +13 -0
- package/es/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
- package/es/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
- package/es/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
- package/es/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
- package/es/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
- package/es/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
- package/es/assets/img/svg/lefttoolbar/door-style.svg +20 -0
- package/es/assets/img/svg/lefttoolbar/door.svg +12 -0
- package/es/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
- package/es/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
- package/es/assets/img/svg/lefttoolbar/finishing.svg +13 -0
- package/es/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
- package/es/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
- package/es/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
- package/es/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
- package/es/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
- package/es/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
- package/es/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
- package/es/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
- package/es/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
- package/es/assets/img/svg/lefttoolbar/search.svg +76 -0
- package/es/assets/img/svg/lefttoolbar/view_more.svg +86 -0
- package/es/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
- package/es/assets/img/svg/lefttoolbar/window.svg +12 -0
- package/es/assets/img/svg/logo.svg +11 -0
- package/es/assets/img/svg/logo_with_text.svg +25 -0
- package/es/assets/img/svg/menubar/login.svg +84 -0
- package/es/assets/img/svg/menubar/my_projects.svg +85 -0
- package/es/assets/img/svg/menubar/new_project.svg +110 -0
- package/es/assets/img/svg/menubar/save_project.svg +84 -0
- package/es/assets/img/svg/options.svg +3 -0
- package/es/assets/img/svg/positioning.svg +3 -0
- package/es/assets/img/svg/rotate.png +0 -0
- package/es/assets/img/svg/rotate.svg +17 -0
- package/es/assets/img/svg/rotate_object_clockwise.svg +26 -0
- package/es/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
- package/es/assets/img/svg/toggleFilters.svg +19 -0
- package/es/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
- package/es/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
- package/es/assets/img/svg/toolbar/add_button.svg +36 -0
- package/es/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
- package/es/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
- package/es/assets/img/svg/toolbar/add_items_doors.svg +25 -0
- package/es/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
- package/es/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
- package/es/assets/img/svg/toolbar/add_items_windows.svg +28 -0
- package/es/assets/img/svg/toolbar/apply_button.svg +38 -0
- package/es/assets/img/svg/toolbar/arrow-plus.svg +11 -0
- package/es/assets/img/svg/toolbar/backsplash.svg +8 -0
- package/es/assets/img/svg/toolbar/cancel_button.svg +37 -0
- package/es/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
- package/es/assets/img/svg/toolbar/countertop.svg +7 -0
- package/es/assets/img/svg/toolbar/dcm.png +0 -0
- package/es/assets/img/svg/toolbar/dcm_off.svg +12 -0
- package/es/assets/img/svg/toolbar/dcm_on.svg +474 -0
- package/es/assets/img/svg/toolbar/delete_button.svg +37 -0
- package/es/assets/img/svg/toolbar/download.svg +77 -0
- package/es/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
- package/es/assets/img/svg/toolbar/edit_button.svg +75 -0
- package/es/assets/img/svg/toolbar/email_quote_button.svg +44 -0
- package/es/assets/img/svg/toolbar/fbm.png +0 -0
- package/es/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
- package/es/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
- package/es/assets/img/svg/toolbar/floorstyle.svg +9 -0
- package/es/assets/img/svg/toolbar/fmb.png +0 -0
- package/es/assets/img/svg/toolbar/fmb_off.svg +12 -0
- package/es/assets/img/svg/toolbar/fmb_on.svg +489 -0
- package/es/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
- package/es/assets/img/svg/toolbar/get_started_button.svg +41 -0
- package/es/assets/img/svg/toolbar/handles.svg +5 -0
- package/es/assets/img/svg/toolbar/lighting.svg +7 -0
- package/es/assets/img/svg/toolbar/lrm.png +0 -0
- package/es/assets/img/svg/toolbar/lrm_off.svg +12 -0
- package/es/assets/img/svg/toolbar/lrm_on.svg +470 -0
- package/es/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
- package/es/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
- package/es/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
- package/es/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
- package/es/assets/img/svg/toolbar/redo_button.svg +75 -0
- package/es/assets/img/svg/toolbar/redo_button1.svg +75 -0
- package/es/assets/img/svg/toolbar/review_quote_active.svg +14 -0
- package/es/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
- package/es/assets/img/svg/toolbar/save_project_button.svg +44 -0
- package/es/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
- package/es/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
- package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -0
- package/es/assets/img/svg/toolbar/style_change_button.svg +47 -0
- package/es/assets/img/svg/toolbar/take_picture.svg +75 -0
- package/es/assets/img/svg/toolbar/undo_button.svg +76 -0
- package/es/assets/img/svg/toolbar/undo_button1.svg +76 -0
- package/es/assets/img/svg/toolbar/use_button.svg +37 -0
- package/es/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
- package/es/assets/img/svg/topbar/edit_active.svg +10 -0
- package/es/assets/img/svg/topbar/edit_inactive.svg +10 -0
- package/es/assets/img/svg/topbar/redo_active.svg +42 -0
- package/es/assets/img/svg/topbar/redo_inactive.svg +23 -0
- package/es/assets/img/svg/topbar/select_all_active.svg +50 -0
- package/es/assets/img/svg/topbar/select_all_inactive.svg +32 -0
- package/es/assets/img/svg/topbar/take_picture_active.svg +51 -0
- package/es/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
- package/es/assets/img/svg/topbar/undo_active.svg +42 -0
- package/es/assets/img/svg/topbar/undo_inactive.svg +23 -0
- package/es/assets/img/svg/warning_info_2d.svg +81 -0
- package/es/assets/img/svg/window/Clear.svg +3 -0
- package/es/assets/img/svg/window/Cross.svg +5 -0
- package/es/assets/img/svg/window/Double_hung.svg +4 -0
- package/es/assets/img/svg/window/Vertical.svg +4 -0
- package/es/assets/img/svg/windows_clear.svg +23 -0
- package/es/assets/img/svg/windows_cross.svg +28 -0
- package/es/assets/img/svg/windows_double_hung.svg +24 -0
- package/es/assets/img/svg/windows_vertical.svg +24 -0
- package/es/assets/img/svg/wizardstep/Custom.svg +3 -0
- package/es/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
- package/es/assets/img/svg/wizardstep/L.svg +3 -0
- package/es/assets/img/svg/wizardstep/L2.svg +3 -0
- package/es/assets/img/svg/wizardstep/Open.svg +3 -0
- package/es/assets/img/svg/wizardstep/Square.svg +3 -0
- package/es/assets/img/svg/wizardstep/bar-active.svg +9 -0
- package/es/assets/img/svg/wizardstep/bar-normal.svg +3 -0
- package/es/assets/img/svg/wizardstep/bullet-current.svg +3 -0
- package/es/assets/img/svg/wizardstep/bullet-done.svg +3 -0
- package/es/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
- package/es/assets/img/svg/wizardstep/check-active.svg +3 -0
- package/es/assets/img/svg/wizardstep/check-normal.svg +3 -0
- package/es/assets/img/svg/wizardstep/detail_view.svg +87 -0
- package/es/assets/img/svg/wizardstep/pencil.svg +11 -0
- package/es/assets/img/svg/wizardstep/tile_view.svg +95 -0
- package/es/assets/img/texture/glass.jpg +0 -0
- package/es/assets/img/texture/steel.jpg +0 -0
- package/es/assets/img/texture/white1px.jpg +0 -0
- package/es/assets/img/texture/wood.jpg +0 -0
- package/es/assets/model/DCM.bin +0 -0
- package/es/assets/model/DCM.fbx +0 -0
- package/es/assets/model/DCM.gltf +1 -0
- package/es/assets/model/FBM.bin +0 -0
- package/es/assets/model/FBM.fbx +0 -0
- package/es/assets/model/FBM.gltf +1 -0
- package/es/assets/model/LRM.bin +0 -0
- package/es/assets/model/LRM.fbx +0 -0
- package/es/assets/model/LRM.gltf +1 -0
- package/es/assets/rtastore_logo.png +0 -0
- package/es/catalog/areas/area/planner-element.js +12 -7
- package/es/catalog/back.png +0 -0
- package/es/catalog/catalog.js +4 -16
- package/es/catalog/doors.png +0 -0
- package/es/catalog/doorways.png +0 -0
- package/es/catalog/export.js +0 -0
- package/es/catalog/factories/area-factory.js +1 -4
- package/es/catalog/factories/wall-factory-3d.js +3 -3
- package/es/catalog/factories/wall-factory.js +9 -10
- package/es/catalog/lines/wall/planner-element.js +20 -11
- package/es/catalog/molding/molding-dcm/planner-element.js +0 -2
- package/es/catalog/molding/molding-fbm/planner-element.js +0 -2
- package/es/catalog/molding/molding-lrm/planner-element.js +0 -2
- package/es/catalog/properties/property-checkbox.js +2 -5
- package/es/catalog/properties/property-enum.js +2 -7
- package/es/catalog/properties/property-lenght-measure.js +4 -5
- package/es/catalog/properties/property-length-measure.js +6 -7
- package/es/catalog/properties/property-length-measure_hole.js +4 -5
- package/es/catalog/utils/FuseUtils.js +3 -6
- package/es/catalog/utils/exporter.js +7 -6
- package/es/catalog/utils/item-loader.js +115 -42
- package/es/catalog/utils/mtl-loader.js +2 -2
- package/es/catalog/utils/obj-loader.js +2 -2
- package/es/catalog/windows.png +0 -0
- package/es/class/FuseUtils.js +3 -6
- package/es/class/area.js +3 -7
- package/es/class/group.js +3 -12
- package/es/class/guide.js +2 -6
- package/es/class/hole.js +2 -6
- package/es/class/item.js +124 -164
- package/es/class/layer.js +2 -6
- package/es/class/line.js +115 -74
- package/es/class/project.js +34 -32
- package/es/class/vertex.js +4 -8
- package/es/components/content.js +30 -5
- package/es/components/export.js +3 -5
- package/es/components/style/button.js +7 -14
- package/es/components/style/cancel-button.js +2 -3
- package/es/components/style/content-container.js +1 -4
- package/es/components/style/content-title.js +3 -7
- package/es/components/style/delete-button.js +2 -3
- package/es/components/style/form-block.js +3 -7
- package/es/components/style/form-color-input.js +2 -3
- package/es/components/style/form-label.js +3 -7
- package/es/components/style/form-number-input.js +6 -12
- package/es/components/style/form-number-input_2.js +6 -12
- package/es/components/style/form-select.js +3 -4
- package/es/components/style/form-slider.js +24 -9
- package/es/components/style/form-submit-button.js +2 -3
- package/es/components/style/form-text-input.js +8 -15
- package/es/components/viewer2d/area.js +4 -4
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +0 -1
- package/es/components/viewer2d/grids/grid-streak.js +1 -2
- package/es/components/viewer2d/grids/grid-vertical-streak.js +0 -1
- package/es/components/viewer2d/grids/grids.js +1 -6
- package/es/components/viewer2d/item.js +25 -91
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +336 -257
- package/es/components/viewer2d/ruler.js +17 -38
- package/es/components/viewer2d/rulerDist.js +19 -33
- package/es/components/viewer2d/rulerX.js +6 -12
- package/es/components/viewer2d/rulerY.js +6 -12
- package/es/components/viewer2d/scene.js +13 -25
- package/es/components/viewer2d/state.js +1 -6
- package/es/components/viewer2d/utils.js +27 -2
- package/es/components/viewer2d/viewer2d.js +155 -120
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +6 -13
- package/es/components/viewer3d/front3D.js +1 -6
- package/es/components/viewer3d/libs/mtl-loader.js +2 -2
- package/es/components/viewer3d/libs/obj-loader.js +2 -2
- package/es/components/viewer3d/libs/orbit-controls.js +3 -4
- package/es/components/viewer3d/libs/pointer-lock-controls.js +6 -7
- package/es/components/viewer3d/ruler-utils/itemRect.js +1 -1
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/ruler-utils/ruler3D.js +1 -4
- package/es/components/viewer3d/ruler-utils/scene3D.js +1 -3
- package/es/components/viewer3d/scene-creator.js +27 -18
- package/es/components/viewer3d/viewer3d-first-person.js +5 -11
- package/es/components/viewer3d/viewer3d.js +379 -254
- package/es/constants.js +55 -3
- package/es/devLiteRenderer.js +316 -0
- package/es/index.js +56 -15
- package/es/models.js +16 -20
- package/es/plugins/console-debugger.js +1 -4
- package/es/plugins/export.js +1 -3
- package/es/reducers/items-reducer.js +8 -4
- package/es/reducers/project-reducer.js +4 -2
- package/es/reducers/viewer2d-reducer.js +2 -2
- package/es/reducers/viewer3d-reducer.js +2 -2
- package/es/shared-style.js +4 -4
- package/es/translator/translator.js +2 -6
- package/es/utils/convert-units-lite.js +29 -0
- package/es/utils/geometry.js +68 -42
- package/es/utils/get-edges-of-subgraphs.js +1 -1
- package/es/utils/graph-cycles.js +1 -1
- package/es/utils/graph.js +3 -7
- package/es/utils/helper.js +4 -6
- package/es/utils/id-broker.js +4 -8
- package/es/utils/isolate-event-handler.js +683 -0
- package/es/utils/molding.js +36 -42
- package/es/utils/name-generator.js +2 -6
- package/es/utils/objects-utils.js +1 -1
- package/es/utils/process-black-list.js +1 -4
- package/es/utils/snap-scene.js +1 -6
- package/es/utils/snap.js +6 -12
- package/es/utils/threeCSG.es6.js +2 -6
- package/es/version.js +1 -2
- package/lib/@history.js +3 -2
- package/lib/AppContext.js +3 -2
- package/lib/LiteKitchenConfigurator.js +490 -0
- package/lib/LiteRenderer.js +513 -0
- package/lib/actions/export.js +35 -39
- package/lib/actions/items-actions.js +11 -5
- package/lib/actions/project-actions.js +9 -3
- package/lib/analytics/ga4.js +3 -6
- package/lib/analytics/posthog.js +1 -1
- package/lib/assets/Window.hdr +2100 -0
- package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
- package/lib/assets/fonts/style.css +177 -0
- package/lib/assets/gltf/door_closet.bin +0 -0
- package/lib/assets/gltf/door_closet.fbx +0 -0
- package/lib/assets/gltf/door_closet.gltf +1 -0
- package/lib/assets/gltf/door_exterior.bin +0 -0
- package/lib/assets/gltf/door_exterior.fbx +0 -0
- package/lib/assets/gltf/door_exterior.gltf +1 -0
- package/lib/assets/gltf/door_interior.bin +0 -0
- package/lib/assets/gltf/door_interior.fbx +0 -0
- package/lib/assets/gltf/door_interior.gltf +1 -0
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/gltf/door_sliding.fbx +0 -0
- package/lib/assets/gltf/door_sliding.gltf +1 -0
- package/lib/assets/gltf/doorway_framed.bin +0 -0
- package/lib/assets/gltf/doorway_framed.fbx +0 -0
- package/lib/assets/gltf/doorway_framed.gltf +1 -0
- package/lib/assets/gltf/window_clear.bin +0 -0
- package/lib/assets/gltf/window_clear.fbx +0 -0
- package/lib/assets/gltf/window_clear.gltf +1 -0
- package/lib/assets/gltf/window_cross.bin +0 -0
- package/lib/assets/gltf/window_cross.fbx +0 -0
- package/lib/assets/gltf/window_cross.gltf +1 -0
- package/lib/assets/gltf/window_double_hung.bin +0 -0
- package/lib/assets/gltf/window_double_hung.fbx +0 -0
- package/lib/assets/gltf/window_double_hung.gltf +1 -0
- package/lib/assets/gltf/window_vertical.bin +0 -0
- package/lib/assets/gltf/window_vertical.fbx +0 -0
- package/lib/assets/gltf/window_vertical.gltf +1 -0
- package/lib/assets/img/1.jpg +0 -0
- package/lib/assets/img/TKC_thumbnail.png +0 -0
- package/lib/assets/img/Toggle.png +0 -0
- package/lib/assets/img/loading/loading.gif +0 -0
- package/lib/assets/img/loading/loading_1.svg +11 -0
- package/lib/assets/img/loading_large.gif +0 -0
- package/lib/assets/img/png/door/closet.png +0 -0
- package/lib/assets/img/png/door/doorwaysframed.png +0 -0
- package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
- package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
- package/lib/assets/img/png/door/exterior.png +0 -0
- package/lib/assets/img/png/door/interior.png +0 -0
- package/lib/assets/img/png/door/sliding.png +0 -0
- package/lib/assets/img/png/helper/outcome.png +0 -0
- package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/assets/img/project_img.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
- package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
- package/lib/assets/img/rta_menu.png +0 -0
- package/lib/assets/img/step2.jpg +0 -0
- package/lib/assets/img/step3.jpg +0 -0
- package/lib/assets/img/step4.jpg +0 -0
- package/lib/assets/img/step5.jpg +0 -0
- package/lib/assets/img/step6.jpg +0 -0
- package/lib/assets/img/step7.jpg +0 -0
- package/lib/assets/img/step8.jpg +0 -0
- package/lib/assets/img/svg/2d_delete_object.svg +33 -0
- package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
- package/lib/assets/img/svg/2d_lock_object.svg +33 -0
- package/lib/assets/img/svg/3d_item_move.svg +106 -0
- package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
- package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
- package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
- package/lib/assets/img/svg/accessories.svg +4 -0
- package/lib/assets/img/svg/angle_icon.svg +39 -0
- package/lib/assets/img/svg/blank_div.svg +14 -0
- package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
- package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
- package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
- package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
- package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
- package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
- package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
- package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +6 -0
- package/lib/assets/img/svg/bottombar/expand.svg +3 -0
- package/lib/assets/img/svg/bottombar/help.svg +72 -0
- package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
- package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
- package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
- package/lib/assets/img/svg/bottombar/settings.svg +23 -0
- package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
- package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
- package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
- package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
- package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
- package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
- package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
- package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
- package/lib/assets/img/svg/check.svg +10 -0
- package/lib/assets/img/svg/close.svg +11 -0
- package/lib/assets/img/svg/color/Black.svg +3 -0
- package/lib/assets/img/svg/color/Blue.svg +3 -0
- package/lib/assets/img/svg/color/Brown.svg +9 -0
- package/lib/assets/img/svg/color/Cream.svg +3 -0
- package/lib/assets/img/svg/color/Dark.svg +9 -0
- package/lib/assets/img/svg/color/Gray.svg +3 -0
- package/lib/assets/img/svg/color/Green.svg +3 -0
- package/lib/assets/img/svg/color/Light.svg +9 -0
- package/lib/assets/img/svg/color/Medium.svg +9 -0
- package/lib/assets/img/svg/color/Unfinished.svg +9 -0
- package/lib/assets/img/svg/color/White.svg +3 -0
- package/lib/assets/img/svg/color/White.svg.bak +3 -0
- package/lib/assets/img/svg/color/stone2.jpg +0 -0
- package/lib/assets/img/svg/color/wood2.jpg +0 -0
- package/lib/assets/img/svg/copy.svg +11 -0
- package/lib/assets/img/svg/delete.svg +3 -0
- package/lib/assets/img/svg/detail.svg +77 -0
- package/lib/assets/img/svg/disclaimer/background.svg +758 -0
- package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
- package/lib/assets/img/svg/door/Closet.svg +11 -0
- package/lib/assets/img/svg/door/Exterior.svg +5 -0
- package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
- package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
- package/lib/assets/img/svg/door/Interior.svg +7 -0
- package/lib/assets/img/svg/door/Sliding.svg +5 -0
- package/lib/assets/img/svg/doors_closet.svg +47 -0
- package/lib/assets/img/svg/doors_exterior.svg +25 -0
- package/lib/assets/img/svg/doors_interior.svg +29 -0
- package/lib/assets/img/svg/doors_patio.svg +26 -0
- package/lib/assets/img/svg/duplicate.svg +11 -0
- package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
- package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
- package/lib/assets/img/svg/filtersActive.svg +19 -0
- package/lib/assets/img/svg/firstsetting/L.svg +3 -0
- package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
- package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
- package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
- package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
- package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
- package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
- package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
- package/lib/assets/img/svg/green_checkmark.svg +27 -0
- package/lib/assets/img/svg/headerbar/assist.svg +3 -0
- package/lib/assets/img/svg/headerbar/cart.svg +3 -0
- package/lib/assets/img/svg/headerbar/check.svg +10 -0
- package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
- package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
- package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
- package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
- package/lib/assets/img/svg/headerbar/plus.svg +11 -0
- package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
- package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
- package/lib/assets/img/svg/headerbar/save.svg +3 -0
- package/lib/assets/img/svg/headerbar/setting.svg +75 -0
- package/lib/assets/img/svg/help/check.svg +10 -0
- package/lib/assets/img/svg/help/search.svg +76 -0
- package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
- package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
- package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
- package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
- package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
- package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
- package/lib/assets/img/svg/invert.svg +127 -0
- package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
- package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
- package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
- package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
- package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
- package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
- package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
- package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
- package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
- package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
- package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
- package/lib/assets/img/svg/logo.svg +11 -0
- package/lib/assets/img/svg/logo_with_text.svg +25 -0
- package/lib/assets/img/svg/menubar/login.svg +84 -0
- package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
- package/lib/assets/img/svg/menubar/new_project.svg +110 -0
- package/lib/assets/img/svg/menubar/save_project.svg +84 -0
- package/lib/assets/img/svg/options.svg +3 -0
- package/lib/assets/img/svg/positioning.svg +3 -0
- package/lib/assets/img/svg/rotate.png +0 -0
- package/lib/assets/img/svg/rotate.svg +17 -0
- package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
- package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
- package/lib/assets/img/svg/toggleFilters.svg +19 -0
- package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
- package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
- package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
- package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
- package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
- package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
- package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
- package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
- package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
- package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
- package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
- package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
- package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
- package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
- package/lib/assets/img/svg/toolbar/dcm.png +0 -0
- package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
- package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/download.svg +77 -0
- package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
- package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
- package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
- package/lib/assets/img/svg/toolbar/fbm.png +0 -0
- package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
- package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
- package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
- package/lib/assets/img/svg/toolbar/fmb.png +0 -0
- package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
- package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
- package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
- package/lib/assets/img/svg/toolbar/handles.svg +5 -0
- package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
- package/lib/assets/img/svg/toolbar/lrm.png +0 -0
- package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
- package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
- package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
- package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
- package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
- package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
- package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
- package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
- package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
- package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
- package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
- package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
- package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
- package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
- package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
- package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
- package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
- package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
- package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
- package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
- package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
- package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
- package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
- package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
- package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
- package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
- package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
- package/lib/assets/img/svg/warning_info_2d.svg +81 -0
- package/lib/assets/img/svg/window/Clear.svg +3 -0
- package/lib/assets/img/svg/window/Cross.svg +5 -0
- package/lib/assets/img/svg/window/Double_hung.svg +4 -0
- package/lib/assets/img/svg/window/Vertical.svg +4 -0
- package/lib/assets/img/svg/windows_clear.svg +23 -0
- package/lib/assets/img/svg/windows_cross.svg +28 -0
- package/lib/assets/img/svg/windows_double_hung.svg +24 -0
- package/lib/assets/img/svg/windows_vertical.svg +24 -0
- package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
- package/lib/assets/img/svg/wizardstep/L.svg +3 -0
- package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
- package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
- package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
- package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
- package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
- package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
- package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
- package/lib/assets/img/texture/glass.jpg +0 -0
- package/lib/assets/img/texture/steel.jpg +0 -0
- package/lib/assets/img/texture/white1px.jpg +0 -0
- package/lib/assets/img/texture/wood.jpg +0 -0
- package/lib/assets/model/DCM.bin +0 -0
- package/lib/assets/model/DCM.fbx +0 -0
- package/lib/assets/model/DCM.gltf +1 -0
- package/lib/assets/model/FBM.bin +0 -0
- package/lib/assets/model/FBM.fbx +0 -0
- package/lib/assets/model/FBM.gltf +1 -0
- package/lib/assets/model/LRM.bin +0 -0
- package/lib/assets/model/LRM.fbx +0 -0
- package/lib/assets/model/LRM.gltf +1 -0
- package/lib/assets/rtastore_logo.png +0 -0
- package/lib/catalog/areas/area/planner-element.js +14 -7
- package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
- package/lib/catalog/areas/area/textures/grass.jpg +0 -0
- package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
- package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
- package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
- package/lib/catalog/back.png +0 -0
- package/lib/catalog/catalog.js +10 -20
- package/lib/catalog/doors.png +0 -0
- package/lib/catalog/doorways.png +0 -0
- package/lib/catalog/envMap/nx.hdr +0 -0
- package/lib/catalog/envMap/ny.hdr +0 -0
- package/lib/catalog/envMap/nz.hdr +0 -0
- package/lib/catalog/envMap/px.hdr +0 -0
- package/lib/catalog/envMap/py.hdr +0 -0
- package/lib/catalog/envMap/pz.hdr +0 -0
- package/lib/catalog/export.js +1 -0
- package/lib/catalog/factories/area-factory-3d.js +1 -1
- package/lib/catalog/factories/area-factory.js +6 -7
- package/lib/catalog/factories/export.js +1 -1
- package/lib/catalog/factories/wall-factory-3d.js +6 -6
- package/lib/catalog/factories/wall-factory.js +12 -11
- package/lib/catalog/holes/door-closet/planner-element.js +4 -3
- package/lib/catalog/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-double/planner-element.js +4 -3
- package/lib/catalog/holes/door-exterior/planner-element.js +4 -3
- package/lib/catalog/holes/door-interior/planner-element.js +4 -3
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic/planner-element.js +4 -3
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/door-panic-double/planner-element.js +4 -3
- package/lib/catalog/holes/door-sliding/planner-element.js +4 -3
- package/lib/catalog/holes/doorway-framed/planner-element.js +4 -3
- package/lib/catalog/holes/doorway-frameless/planner-element.js +4 -3
- package/lib/catalog/holes/export.js +2 -2
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/planner-element.js +4 -3
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/planner-element.js +4 -3
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/planner-element.js +4 -3
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/planner-element.js +4 -3
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/lines/wall/planner-element.js +22 -11
- package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
- package/lib/catalog/lines/wall/textures/painted-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
- package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
- package/lib/catalog/lines/wall/wall.png +0 -0
- package/lib/catalog/molding/molding-dcm/planner-element.js +2 -6
- package/lib/catalog/molding/molding-dcm/texture.png +0 -0
- package/lib/catalog/molding/molding-fbm/planner-element.js +2 -6
- package/lib/catalog/molding/molding-fbm/texture.png +0 -0
- package/lib/catalog/molding/molding-lrm/planner-element.js +2 -6
- package/lib/catalog/molding/molding-lrm/texture.png +0 -0
- package/lib/catalog/properties/export.js +1 -1
- package/lib/catalog/properties/property-checkbox.js +12 -14
- package/lib/catalog/properties/property-color.js +3 -2
- package/lib/catalog/properties/property-enum.js +8 -12
- package/lib/catalog/properties/property-hidden.js +3 -2
- package/lib/catalog/properties/property-lenght-measure.js +11 -11
- package/lib/catalog/properties/property-length-measure.js +15 -15
- package/lib/catalog/properties/property-length-measure_hole.js +10 -10
- package/lib/catalog/properties/property-number.js +3 -2
- package/lib/catalog/properties/property-read-only.js +3 -2
- package/lib/catalog/properties/property-string.js +3 -2
- package/lib/catalog/properties/property-toggle.js +3 -2
- package/lib/catalog/properties/shared-property-style.js +2 -1
- package/lib/catalog/utils/FuseUtils.js +10 -11
- package/lib/catalog/utils/exporter.js +15 -13
- package/lib/catalog/utils/geom-utils.js +1 -1
- package/lib/catalog/utils/item-loader.js +140 -65
- package/lib/catalog/utils/mtl-loader.js +9 -2
- package/lib/catalog/utils/obj-loader.js +10 -2
- package/lib/catalog/windows.png +0 -0
- package/lib/class/FuseUtils.js +10 -11
- package/lib/class/area.js +9 -11
- package/lib/class/export.js +1 -1
- package/lib/class/group.js +13 -20
- package/lib/class/guide.js +9 -12
- package/lib/class/hole.js +7 -9
- package/lib/class/item.js +134 -173
- package/lib/class/layer.js +7 -9
- package/lib/class/line.js +126 -82
- package/lib/class/project.js +40 -35
- package/lib/class/vertex.js +10 -12
- package/lib/components/content.js +35 -8
- package/lib/components/export.js +6 -32
- package/lib/components/style/button.js +17 -22
- package/lib/components/style/cancel-button.js +7 -7
- package/lib/components/style/content-container.js +5 -7
- package/lib/components/style/content-title.js +10 -12
- package/lib/components/style/delete-button.js +8 -8
- package/lib/components/style/export.js +1 -1
- package/lib/components/style/form-block.js +9 -12
- package/lib/components/style/form-color-input.js +7 -7
- package/lib/components/style/form-label.js +9 -12
- package/lib/components/style/form-number-input.js +15 -19
- package/lib/components/style/form-number-input_2.js +15 -19
- package/lib/components/style/form-select.js +10 -10
- package/lib/components/style/form-slider.js +28 -12
- package/lib/components/style/form-submit-button.js +8 -8
- package/lib/components/style/form-text-input.js +19 -24
- package/lib/components/viewer2d/area.js +8 -7
- package/lib/components/viewer2d/export.js +1 -1
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +3 -3
- package/lib/components/viewer2d/grids/grid-streak.js +4 -4
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +3 -3
- package/lib/components/viewer2d/grids/grids.js +6 -10
- package/lib/components/viewer2d/group.js +4 -3
- package/lib/components/viewer2d/item.js +34 -98
- package/lib/components/viewer2d/layer.js +4 -3
- package/lib/components/viewer2d/line.js +338 -258
- package/lib/components/viewer2d/ruler.js +21 -41
- package/lib/components/viewer2d/rulerDist.js +23 -36
- package/lib/components/viewer2d/rulerX.js +15 -19
- package/lib/components/viewer2d/rulerY.js +15 -19
- package/lib/components/viewer2d/scene.js +23 -33
- package/lib/components/viewer2d/snap.js +4 -3
- package/lib/components/viewer2d/state.js +7 -11
- package/lib/components/viewer2d/utils.js +29 -2
- package/lib/components/viewer2d/vertex.js +4 -3
- package/lib/components/viewer2d/viewer2d.js +178 -139
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
- package/lib/components/viewer3d/dcm.js +2 -1
- package/lib/components/viewer3d/fbm.js +2 -1
- package/lib/components/viewer3d/front3D.js +6 -10
- package/lib/components/viewer3d/grid-creator.js +4 -3
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +3 -2
- package/lib/components/viewer3d/grids/grid-streak.js +3 -2
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +3 -2
- package/lib/components/viewer3d/libs/mtl-loader.js +9 -2
- package/lib/components/viewer3d/libs/obj-loader.js +9 -2
- package/lib/components/viewer3d/libs/orbit-controls.js +11 -5
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +13 -7
- package/lib/components/viewer3d/lrm.js +2 -1
- package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
- package/lib/components/viewer3d/ruler-utils/itemRect.js +10 -9
- package/lib/components/viewer3d/ruler-utils/layer3D.js +35 -34
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +5 -7
- package/lib/components/viewer3d/ruler-utils/scene3D.js +3 -5
- package/lib/components/viewer3d/ruler-utils/state3D.js +3 -2
- package/lib/components/viewer3d/scene-creator.js +62 -52
- package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
- package/lib/components/viewer3d/viewer3d-first-person.js +13 -17
- package/lib/components/viewer3d/viewer3d.js +394 -266
- package/lib/constants.js +59 -7
- package/lib/devLiteRenderer.js +320 -0
- package/lib/index.js +59 -89
- package/lib/models.js +64 -68
- package/lib/plugins/console-debugger.js +5 -7
- package/lib/plugins/export.js +1 -9
- package/lib/plugins/keyboard.js +2 -1
- package/lib/reducers/areas-reducer.js +2 -1
- package/lib/reducers/export.js +1 -1
- package/lib/reducers/groups-reducer.js +2 -1
- package/lib/reducers/holes-reducer.js +2 -1
- package/lib/reducers/items-reducer.js +9 -4
- package/lib/reducers/lines-reducer.js +2 -1
- package/lib/reducers/project-reducer.js +5 -2
- package/lib/reducers/scene-reducer.js +2 -1
- package/lib/reducers/user-reducer.js +2 -1
- package/lib/reducers/vertices-reducer.js +2 -1
- package/lib/reducers/viewer2d-reducer.js +5 -5
- package/lib/reducers/viewer3d-reducer.js +5 -5
- package/lib/shared-style.js +4 -4
- package/lib/styles/export.js +1 -1
- package/lib/styles/tabs.css +40 -0
- package/lib/translator/en.js +2 -1
- package/lib/translator/it.js +2 -1
- package/lib/translator/ru.js +2 -1
- package/lib/translator/translator.js +7 -10
- package/lib/utils/convert-units-lite.js +35 -0
- package/lib/utils/export.js +2 -2
- package/lib/utils/geometry.js +83 -54
- package/lib/utils/get-edges-of-subgraphs.js +6 -1
- package/lib/utils/graph-cycles.js +7 -8
- package/lib/utils/graph-inner-cycles.js +1 -1
- package/lib/utils/graph.js +13 -11
- package/lib/utils/helper.js +15 -16
- package/lib/utils/history.js +1 -1
- package/lib/utils/id-broker.js +7 -10
- package/lib/utils/isolate-event-handler.js +691 -0
- package/lib/utils/molding.js +66 -71
- package/lib/utils/name-generator.js +7 -9
- package/lib/utils/objects-utils.js +5 -3
- package/lib/utils/process-black-list.js +3 -5
- package/lib/utils/react-if.js +3 -2
- package/lib/utils/snap-scene.js +3 -7
- package/lib/utils/snap.js +22 -26
- package/lib/utils/threeCSG.es6.js +16 -15
- package/lib/version.js +1 -2
- package/package.json +53 -60
- package/es/KitchenConfigurator.js +0 -652
- package/es/KitchenConfiguratorApp.js +0 -495
- package/es/components/disclaimer/disclaimer.js +0 -117
- package/es/plugins/autosave.js +0 -33
- package/lib/KitchenConfigurator.js +0 -660
- package/lib/KitchenConfiguratorApp.js +0 -502
- package/lib/components/disclaimer/disclaimer.js +0 -125
- package/lib/plugins/autosave.js +0 -39
|
@@ -1,44 +1,37 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
6
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
7
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
8
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
9
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
5
10
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
11
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
12
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
14
|
-
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
15
|
-
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
16
13
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
17
|
-
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
18
|
-
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
19
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
20
14
|
import React from 'react';
|
|
21
15
|
import PropTypes from 'prop-types';
|
|
22
16
|
import ReactDOM from 'react-dom';
|
|
23
17
|
import * as Three from 'three';
|
|
24
|
-
import {
|
|
25
|
-
import { disposeScene } from "./three-memory-cleaner";
|
|
26
|
-
import { disposeObject } from "./three-memory-cleaner";
|
|
18
|
+
import { checkCabinetOverlap, createBacksplash, deleteSpecifiedMeshObjects, fVLine, getDistances, parseData, updateScene, visibleTransformBox } from "./scene-creator";
|
|
19
|
+
import { disposeObject, disposeScene } from "./three-memory-cleaner";
|
|
27
20
|
import diff from 'immutablediff';
|
|
28
21
|
import * as SharedStyle from "../../shared-style";
|
|
29
|
-
import {
|
|
22
|
+
import { BASE_CABINET_LAYOUTPOS, MODE_3D_VIEW, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_HOLE_3D, MODE_DRAWING_ITEM_3D, MODE_ELEVATION_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, SECONDARY_PURPLE_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, WALL_CABINET_LAYOUTPOS, INTERNAL_EVENT_SELECT_ELEMENT, INTERNAL_EVENT_DRAG_ELEMENT, INTERNAL_EVENT_DRAW_ELEMENT, INTERNAL_EVENT_ROTATE_ELEMENT, MODE_ROTATING_ITEM, MODE_DRAGGING_HOLE_3D } from "../../constants";
|
|
30
23
|
import { isUndefined } from 'util';
|
|
31
24
|
import { verticesDistance } from "../../utils/geometry";
|
|
32
|
-
import convert from
|
|
25
|
+
import { convert } from "../../utils/convert-units-lite";
|
|
33
26
|
import { GeometryUtils } from "../../utils/export";
|
|
34
27
|
import { handleCamRect, isElevationView, isEmpty } from "../../utils/helper";
|
|
35
28
|
import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader';
|
|
36
29
|
import CameraControls from 'camera-controls';
|
|
30
|
+
import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
|
|
31
|
+
import { getAllMeshes, vectorIntersectWithMesh } from "../../utils/objects-utils";
|
|
37
32
|
CameraControls.install({
|
|
38
33
|
THREE: Three
|
|
39
34
|
});
|
|
40
|
-
import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
|
|
41
|
-
import { getAllMeshes, vectorIntersectWithMesh } from "../../utils/objects-utils";
|
|
42
35
|
var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
43
36
|
function Scene3DViewer(props) {
|
|
44
37
|
var _this;
|
|
@@ -278,7 +271,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
278
271
|
lines.push(data);
|
|
279
272
|
});
|
|
280
273
|
var _loop3 = function _loop3() {
|
|
281
|
-
var data = lines[
|
|
274
|
+
var data = lines[_i15];
|
|
282
275
|
var realVec = [];
|
|
283
276
|
data.vertices.forEach(function (vec) {
|
|
284
277
|
realVec.push(vec);
|
|
@@ -289,7 +282,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
289
282
|
return 1; // break
|
|
290
283
|
}
|
|
291
284
|
};
|
|
292
|
-
for (var
|
|
285
|
+
for (var _i15 = 0; _i15 < lines.length; _i15++) {
|
|
293
286
|
if (_loop3()) break;
|
|
294
287
|
}
|
|
295
288
|
var vertices = [];
|
|
@@ -299,11 +292,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
299
292
|
});
|
|
300
293
|
vertices.push(vertices[0]);
|
|
301
294
|
var fLen = vertices.length - 1;
|
|
302
|
-
for (var
|
|
303
|
-
var sX = vertices[
|
|
304
|
-
var sY = vertices[
|
|
305
|
-
var eX = vertices[
|
|
306
|
-
var eY = vertices[
|
|
295
|
+
for (var _i16 = 0; _i16 < fLen; _i16++) {
|
|
296
|
+
var sX = vertices[_i16].x;
|
|
297
|
+
var sY = vertices[_i16].y;
|
|
298
|
+
var eX = vertices[_i16 + 1].x;
|
|
299
|
+
var eY = vertices[_i16 + 1].y;
|
|
307
300
|
var len = Math.sqrt((eX - sX) * (eX - sX) + (eY - sY) * (eY - sY));
|
|
308
301
|
for (var cLen = 200; cLen < len; cLen += 200) {
|
|
309
302
|
var cX = sX + (eX - sX) * cLen / len;
|
|
@@ -380,6 +373,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
380
373
|
var allRect;
|
|
381
374
|
var allArea;
|
|
382
375
|
|
|
376
|
+
// FLAG FOR initial phase of drawing an item
|
|
377
|
+
var isInitialPhase = true;
|
|
378
|
+
|
|
383
379
|
// end snap function variable///////////////////////
|
|
384
380
|
var backsplashVisible = false;
|
|
385
381
|
var holeItems = GeometryUtils.getHoleItems(layer);
|
|
@@ -1278,7 +1274,18 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1278
1274
|
}
|
|
1279
1275
|
}
|
|
1280
1276
|
if (selectedObject !== undefined) {
|
|
1281
|
-
|
|
1277
|
+
// get selected object from planData.sceneGraph
|
|
1278
|
+
var selectedItem = null;
|
|
1279
|
+
switch (true) {
|
|
1280
|
+
case 'itemID' in selectedObject:
|
|
1281
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1282
|
+
break;
|
|
1283
|
+
case 'holeID' in selectedObject:
|
|
1284
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
|
|
1285
|
+
break;
|
|
1286
|
+
default:
|
|
1287
|
+
break;
|
|
1288
|
+
}
|
|
1282
1289
|
sPoint.set(Point.x, Point.y);
|
|
1283
1290
|
if (transflag == 0) {
|
|
1284
1291
|
scene3D.remove(toolObj);
|
|
@@ -1344,7 +1351,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1344
1351
|
}
|
|
1345
1352
|
};
|
|
1346
1353
|
this.mouseUpEvent = function (event) {
|
|
1347
|
-
var
|
|
1354
|
+
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1355
|
+
var selectedElement; // internalEvent data
|
|
1348
1356
|
firstMove = 0;
|
|
1349
1357
|
var altitude = 0;
|
|
1350
1358
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1358,7 +1366,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1358
1366
|
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
1359
1367
|
_this2.props.setToolbar('');
|
|
1360
1368
|
}
|
|
1361
|
-
getPoint(event, altitude);
|
|
1362
1369
|
if (_this2.props.state.mode == MODE_DRAWING_ITEM_3D) {
|
|
1363
1370
|
if (Point.x > _this2.props.state.scene.width) Point.x = _this2.props.state.width;
|
|
1364
1371
|
if (Point.y > _this2.props.state.scene.height) Point.y = _this2.props.state.height;
|
|
@@ -1368,9 +1375,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1368
1375
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
1369
1376
|
} else {
|
|
1370
1377
|
removeSnapBox();
|
|
1371
|
-
var polygon =
|
|
1378
|
+
var polygon = GeometryUtils.getPoylgonPoints(layer);
|
|
1372
1379
|
// if cursor is outside of room
|
|
1373
|
-
if (!GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1380
|
+
if (polygon.length > 0 && !GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1374
1381
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
1375
1382
|
} else {
|
|
1376
1383
|
actions.itemsActions.updateDraggingItemChanged(targetPoint.x, -targetPoint.z, selectedObject.layerID, selectedObject.itemID);
|
|
@@ -1379,14 +1386,24 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1379
1386
|
}
|
|
1380
1387
|
}
|
|
1381
1388
|
bMove = false;
|
|
1389
|
+
isInitialPhase = true;
|
|
1382
1390
|
return;
|
|
1383
1391
|
}
|
|
1392
|
+
switch (_this2.props.state.mode) {
|
|
1393
|
+
case MODE_DRAGGING_ITEM_3D:
|
|
1394
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
1395
|
+
break;
|
|
1396
|
+
case MODE_ROTATING_ITEM_3D:
|
|
1397
|
+
internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
1398
|
+
break;
|
|
1399
|
+
}
|
|
1384
1400
|
if (_this2.props.state.mode == MODE_DRAGGING_ITEM_3D) {
|
|
1385
1401
|
_this2.context.itemsActions.endDraggingItem3D();
|
|
1386
1402
|
}
|
|
1387
1403
|
if (_this2.props.state.mode == MODE_ROTATING_ITEM_3D) {
|
|
1388
1404
|
_this2.context.itemsActions.endRotatingItem3D(sPoint.x, sPoint.y);
|
|
1389
1405
|
}
|
|
1406
|
+
getPoint(event, altitude);
|
|
1390
1407
|
if (_this2.props.state.mode == MODE_DRAWING_HOLE_3D) {
|
|
1391
1408
|
gridPlanOrigin = gridPlane.position;
|
|
1392
1409
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
@@ -1461,56 +1478,62 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1461
1478
|
currentObject = currentObject.parent;
|
|
1462
1479
|
}
|
|
1463
1480
|
isSelected = true;
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
toolObj: toolObj
|
|
1478
|
-
});
|
|
1479
|
-
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1480
|
-
var pointArray = [],
|
|
1481
|
-
cnt = 0;
|
|
1482
|
-
pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1483
|
-
pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1484
|
-
pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1485
|
-
pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1486
|
-
pointArray.forEach(function (pointElement, index) {
|
|
1487
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1488
|
-
});
|
|
1489
|
-
pointArray.forEach(function (pointElement) {
|
|
1490
|
-
if (pointElement[0] == 0) cnt++;
|
|
1491
|
-
});
|
|
1492
|
-
if (cnt == 4 || cnt == 3) {
|
|
1493
|
-
pointArray[0][0] = 100;
|
|
1494
|
-
pointArray[1][0] = 100;
|
|
1495
|
-
}
|
|
1496
|
-
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1481
|
+
getDistances(layer);
|
|
1482
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1483
|
+
if (isUndefined(selectedItem)) return;
|
|
1484
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1485
|
+
var itemPos = selectedItem.position.clone();
|
|
1486
|
+
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1487
|
+
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1488
|
+
} else {
|
|
1489
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1490
|
+
}
|
|
1491
|
+
scene3D.add(toolObj);
|
|
1492
|
+
_this2.setState({
|
|
1493
|
+
toolObj: toolObj
|
|
1497
1494
|
});
|
|
1495
|
+
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1496
|
+
var pointArray = [],
|
|
1497
|
+
cnt = 0;
|
|
1498
|
+
pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1499
|
+
pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1500
|
+
pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1501
|
+
pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1502
|
+
pointArray.forEach(function (pointElement, index) {
|
|
1503
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1504
|
+
});
|
|
1505
|
+
pointArray.forEach(function (pointElement) {
|
|
1506
|
+
if (pointElement[0] == 0) cnt++;
|
|
1507
|
+
});
|
|
1508
|
+
if (cnt == 4 || cnt == 3) {
|
|
1509
|
+
pointArray[0][0] = 100;
|
|
1510
|
+
pointArray[1][0] = 100;
|
|
1511
|
+
}
|
|
1512
|
+
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1513
|
+
internalType = internalType ? internalType : INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1498
1514
|
} else {
|
|
1499
1515
|
if (selectedObject) {
|
|
1516
|
+
var elementID = null;
|
|
1517
|
+
var elementPrototype = null;
|
|
1500
1518
|
switch (true) {
|
|
1501
1519
|
case 'holeID' in selectedObject:
|
|
1502
|
-
if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
|
|
1503
|
-
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1504
|
-
}
|
|
1505
|
-
break;
|
|
1506
1520
|
case 'lineID' in selectedObject:
|
|
1507
|
-
if (
|
|
1521
|
+
if (_this2.props.state.mode === MODE_DRAGGING_HOLE_3D) {
|
|
1508
1522
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1523
|
+
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1524
|
+
elementID = selectedObject.holeID;
|
|
1525
|
+
elementPrototype = 'holeID';
|
|
1509
1526
|
}
|
|
1510
1527
|
break;
|
|
1528
|
+
case 'areaID' in selectedObject:
|
|
1529
|
+
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1530
|
+
elementID = selectedObject.areaID;
|
|
1531
|
+
elementPrototype = 'areas';
|
|
1532
|
+
break;
|
|
1511
1533
|
default:
|
|
1512
1534
|
break;
|
|
1513
1535
|
}
|
|
1536
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
|
|
1514
1537
|
}
|
|
1515
1538
|
isSelected = false;
|
|
1516
1539
|
}
|
|
@@ -1545,14 +1568,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1545
1568
|
getPoint(event, alti);
|
|
1546
1569
|
if (bRotate) {
|
|
1547
1570
|
var _intersects$_i;
|
|
1548
|
-
var
|
|
1549
|
-
if (isUndefined(
|
|
1550
|
-
|
|
1551
|
-
var
|
|
1552
|
-
if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) ===
|
|
1571
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1572
|
+
if (isUndefined(_selectedItem)) return;
|
|
1573
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1574
|
+
var _itemPos = _selectedItem.position.clone();
|
|
1575
|
+
if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) === _selectedItem.userData.itemId) {
|
|
1553
1576
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1554
1577
|
} else {
|
|
1555
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1578
|
+
toolObj.position.set(planData.plan.position.x + _itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
|
|
1556
1579
|
}
|
|
1557
1580
|
scene3D.add(toolObj);
|
|
1558
1581
|
_this2.setState({
|
|
@@ -1563,14 +1586,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1563
1586
|
}
|
|
1564
1587
|
if (bMove) {
|
|
1565
1588
|
bMove = false;
|
|
1566
|
-
var
|
|
1567
|
-
if (isUndefined(
|
|
1568
|
-
|
|
1569
|
-
var
|
|
1570
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1589
|
+
var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1590
|
+
if (isUndefined(_selectedItem2)) return;
|
|
1591
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1592
|
+
var _itemPos2 = _selectedItem2.position.clone();
|
|
1593
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
|
|
1571
1594
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1572
1595
|
} else {
|
|
1573
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1596
|
+
toolObj.position.set(planData.plan.position.x + _itemPos2.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem2.children[0].position.y, planData.plan.position.z + _itemPos2.z);
|
|
1574
1597
|
}
|
|
1575
1598
|
scene3D.add(toolObj);
|
|
1576
1599
|
_this2.setState({
|
|
@@ -1604,6 +1627,171 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1604
1627
|
selectedObj = allItemRect.cur;
|
|
1605
1628
|
}
|
|
1606
1629
|
}
|
|
1630
|
+
if (!isEmpty(internalType)) {
|
|
1631
|
+
var _this2$props$onIntern, _this2$props;
|
|
1632
|
+
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1633
|
+
type: internalType,
|
|
1634
|
+
value: selectedElement.toJS()
|
|
1635
|
+
});
|
|
1636
|
+
}
|
|
1637
|
+
};
|
|
1638
|
+
this.mouseEnterEvent = function (event) {
|
|
1639
|
+
if (_this2.props.state.mode !== MODE_DRAWING_ITEM_3D) return;
|
|
1640
|
+
// if not initial moment of drawing an item
|
|
1641
|
+
if (!isInitialPhase) return;
|
|
1642
|
+
var bNormalFlow = true;
|
|
1643
|
+
_this2.getSelectedObject();
|
|
1644
|
+
var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
1645
|
+
var mX = Point.x - sPoint.x;
|
|
1646
|
+
var mY = Point.y - sPoint.y;
|
|
1647
|
+
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1648
|
+
deleteSpecifiedMeshObjects('TransformBox');
|
|
1649
|
+
deleteSpecifiedMeshObjects('WarningBox' + selectedObject.itemID);
|
|
1650
|
+
var item = layer.getIn(['items', selectedObject.itemID]);
|
|
1651
|
+
if (!item3D || !item) return;
|
|
1652
|
+
if (item.counterTop.uri == '') item.counterTop.uri = layer.counterTop.uri;
|
|
1653
|
+
var sRot = item.rotation;
|
|
1654
|
+
var originPos = item3D.position.clone();
|
|
1655
|
+
var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
|
|
1656
|
+
var sBounding = item3D.children[0].userData;
|
|
1657
|
+
var swidth = sBounding.max.x - sBounding.min.x;
|
|
1658
|
+
var sdepth = sBounding.max.z - sBounding.min.z;
|
|
1659
|
+
var sVertices = _this2.getRectPoints(swidth, sdepth, tPos.clone(), sRot % 360 / 180 * Math.PI);
|
|
1660
|
+
prepareSnap(layer);
|
|
1661
|
+
|
|
1662
|
+
// calc altitude
|
|
1663
|
+
var altitude = 0;
|
|
1664
|
+
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
1665
|
+
var properties = allItemRect.cur.itemInfo.properties;
|
|
1666
|
+
altitude = properties.getIn(['altitude', '_length']);
|
|
1667
|
+
var unit = properties.getIn(['altitude', '_unit']) || 'in';
|
|
1668
|
+
altitude = convert(altitude).from(unit).to(_this2.props.state.scene.unit);
|
|
1669
|
+
}
|
|
1670
|
+
// We need to set cam position since when MODE_DRAWING_ITEM_3D mouse down event
|
|
1671
|
+
// is not emited so cam position is not valid
|
|
1672
|
+
gridPlanOrigin = gridPlane.position;
|
|
1673
|
+
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1674
|
+
camPos = camera.position;
|
|
1675
|
+
|
|
1676
|
+
// calc cursor position
|
|
1677
|
+
getPoint(event, altitude);
|
|
1678
|
+
var polygon = GeometryUtils.getPoylgonPoints(layer);
|
|
1679
|
+
|
|
1680
|
+
// if no wall (no area)
|
|
1681
|
+
if (!polygon.length) {
|
|
1682
|
+
// place the item at cursor position
|
|
1683
|
+
actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
|
|
1684
|
+
return;
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
// calc snap
|
|
1688
|
+
var _GeometryUtils$calcCr = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygon),
|
|
1689
|
+
cx = _GeometryUtils$calcCr.cx,
|
|
1690
|
+
cy = _GeometryUtils$calcCr.cy,
|
|
1691
|
+
crot = _GeometryUtils$calcCr.crot,
|
|
1692
|
+
rotRad = _GeometryUtils$calcCr.rotRad;
|
|
1693
|
+
var finalPosition = {
|
|
1694
|
+
x: cx,
|
|
1695
|
+
y: cy,
|
|
1696
|
+
rot: crot,
|
|
1697
|
+
rotRad: rotRad
|
|
1698
|
+
};
|
|
1699
|
+
|
|
1700
|
+
// calc current item rect
|
|
1701
|
+
var itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1702
|
+
pos: {
|
|
1703
|
+
x: Point.x,
|
|
1704
|
+
y: Point.y
|
|
1705
|
+
}
|
|
1706
|
+
});
|
|
1707
|
+
|
|
1708
|
+
// if cursor position is inside the room
|
|
1709
|
+
if (GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1710
|
+
// if cursor position is available to place the item
|
|
1711
|
+
if (GeometryUtils.validRect(itemRect, allRect)) {
|
|
1712
|
+
actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
|
|
1713
|
+
sPoint.set(Point.x, Point.y);
|
|
1714
|
+
bNormalFlow = false;
|
|
1715
|
+
}
|
|
1716
|
+
} else {
|
|
1717
|
+
// if cursor is outside the room and there is no snap candidate,
|
|
1718
|
+
// then place the item at any free position inside the room.
|
|
1719
|
+
if (!GeometryUtils.ContainsPoint(polygon, cx, cy)) {
|
|
1720
|
+
var points = [];
|
|
1721
|
+
var point = [];
|
|
1722
|
+
|
|
1723
|
+
// rebuild variable to be passed to getCentriodOfPolygon
|
|
1724
|
+
// polygon: [ x0, y0, x1, y1, ... ] ==> points: [[x0, y0], [x1, y1], ...]
|
|
1725
|
+
polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
|
|
1726
|
+
point.push(value);
|
|
1727
|
+
if (index % 2) {
|
|
1728
|
+
points.push(point);
|
|
1729
|
+
point = [];
|
|
1730
|
+
}
|
|
1731
|
+
});
|
|
1732
|
+
|
|
1733
|
+
// calc center position of the room
|
|
1734
|
+
var centerPos = GeometryUtils.getCentroidOfPolygon(points);
|
|
1735
|
+
var itemRect1 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1736
|
+
pos: {
|
|
1737
|
+
x: centerPos.x,
|
|
1738
|
+
y: centerPos.y
|
|
1739
|
+
}
|
|
1740
|
+
});
|
|
1741
|
+
var itemRect2 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1742
|
+
pos: {
|
|
1743
|
+
x: centerPos.x,
|
|
1744
|
+
y: centerPos.y
|
|
1745
|
+
},
|
|
1746
|
+
rotRad: allItemRect.cur.rotRad + Math.PI / 2
|
|
1747
|
+
});
|
|
1748
|
+
|
|
1749
|
+
// find a free position in the room
|
|
1750
|
+
if (GeometryUtils.validRect(itemRect1, allRect)) {
|
|
1751
|
+
actions.itemsActions.updateDraggingItemChanged(centerPos.x, centerPos.y, selectedObject.layerID, selectedObject.itemID);
|
|
1752
|
+
sPoint.set(centerPos.x, centerPos.y);
|
|
1753
|
+
bNormalFlow = false;
|
|
1754
|
+
} else if (GeometryUtils.validRect(itemRect2, allRect)) {
|
|
1755
|
+
finalPosition = {
|
|
1756
|
+
x: centerPos.x,
|
|
1757
|
+
y: centerPos.y,
|
|
1758
|
+
rotRad: itemRect2.rotRad,
|
|
1759
|
+
rot: itemRect2.rotRad / Math.PI * 180
|
|
1760
|
+
};
|
|
1761
|
+
sPoint.set(centerPos.x, centerPos.y);
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
var nPos = new Three.Vector2(cx, cy);
|
|
1766
|
+
if (!_this2.collisionHoleCheck(item3D, nPos, item.rotation, {
|
|
1767
|
+
userData: {
|
|
1768
|
+
itemId: null
|
|
1769
|
+
}
|
|
1770
|
+
}, item, _this2.context.catalog)) {
|
|
1771
|
+
_this2.collisionSlide(item3D, originPos, layer, sVertices, tPos, item);
|
|
1772
|
+
}
|
|
1773
|
+
itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1774
|
+
pos: {
|
|
1775
|
+
x: finalPosition.x,
|
|
1776
|
+
y: finalPosition.y
|
|
1777
|
+
},
|
|
1778
|
+
rotRad: finalPosition.rotRad
|
|
1779
|
+
});
|
|
1780
|
+
|
|
1781
|
+
// if the room is fullfilled with items or can't calc snap correctly
|
|
1782
|
+
if (!GeometryUtils.validRect(itemRect, allRect)) {
|
|
1783
|
+
// then place the item at cursor position
|
|
1784
|
+
actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
|
|
1785
|
+
sPoint.set(Point.x, Point.y);
|
|
1786
|
+
bNormalFlow = false;
|
|
1787
|
+
}
|
|
1788
|
+
if (bNormalFlow) {
|
|
1789
|
+
actions.itemsActions.updateDraggingItemChanged(finalPosition.x, finalPosition.y, selectedObject.layerID, selectedObject.itemID);
|
|
1790
|
+
actions.itemsActions.updateRotatingItemChanged(finalPosition.rot, selectedObject.layerID, selectedObject.itemID);
|
|
1791
|
+
sPoint.set(finalPosition.x, finalPosition.y);
|
|
1792
|
+
}
|
|
1793
|
+
isInitialPhase = false;
|
|
1794
|
+
_this2.handleAfterMovingItem();
|
|
1607
1795
|
};
|
|
1608
1796
|
this.mouseMoveEvent = function (event) {
|
|
1609
1797
|
event.preventDefault();
|
|
@@ -1645,49 +1833,22 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1645
1833
|
camPos = camera.position;
|
|
1646
1834
|
getPoint(event, altitude);
|
|
1647
1835
|
if (Point.x > _this2.props.state.scene.width || Point.x < 0 || Point.y > _this2.props.state.scene.height || Point.y < 0) return;
|
|
1648
|
-
|
|
1649
|
-
selectedObject = {
|
|
1650
|
-
layerID: _layerID
|
|
1651
|
-
};
|
|
1652
|
-
var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
1653
|
-
var polygon = lineRect(_layer);
|
|
1654
|
-
var isCursorInArea = GeometryUtils.ContainsPoint(polygon, Point.x, Point.y);
|
|
1836
|
+
_this2.getSelectedObject();
|
|
1655
1837
|
var _drawingSupport = _this2.props.state.drawingSupport;
|
|
1656
1838
|
if (!_drawingSupport.has('currentID')) {
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
// if cursor is outside the room area,
|
|
1661
|
-
// place the item at center of room area.
|
|
1662
|
-
if (!isCursorInArea && polygon.length > 0) {
|
|
1663
|
-
// rebuild polygon variable to be suitable for getCentroid() function
|
|
1664
|
-
var points = [];
|
|
1665
|
-
var point = [];
|
|
1666
|
-
polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
|
|
1667
|
-
point.push(value);
|
|
1668
|
-
if (index % 2 === 1) {
|
|
1669
|
-
points.push(point);
|
|
1670
|
-
point = [];
|
|
1671
|
-
}
|
|
1672
|
-
});
|
|
1673
|
-
var centroid = GeometryUtils.getCentroidOfPolygon(points);
|
|
1674
|
-
initialX = centroid[0];
|
|
1675
|
-
initialY = centroid[1];
|
|
1676
|
-
}
|
|
1677
|
-
_this2.context.itemsActions.updateDrawingItem(_this2.props.state.scene.selectedLayer, initialX, initialY);
|
|
1678
|
-
sPoint.set(initialX, initialY);
|
|
1839
|
+
_this2.context.itemsActions.updateDrawingItem(selectedObject.layerID, Point.x, Point.y);
|
|
1840
|
+
sPoint.set(Point.x, Point.y);
|
|
1679
1841
|
} else {
|
|
1680
|
-
var itemID = _this2.props.state.drawingSupport.get('currentID');
|
|
1681
|
-
selectedObject.itemID = itemID;
|
|
1682
1842
|
var mX = Point.x - sPoint.x;
|
|
1683
1843
|
var mY = Point.y - sPoint.y;
|
|
1844
|
+
var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
1684
1845
|
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1685
1846
|
deleteSpecifiedMeshObjects('TransformBox');
|
|
1686
|
-
deleteSpecifiedMeshObjects('WarningBox' + itemID);
|
|
1687
|
-
var item = _layer.
|
|
1847
|
+
deleteSpecifiedMeshObjects('WarningBox' + selectedObject.itemID);
|
|
1848
|
+
var item = _layer.getIn(['items', selectedObject.itemID]);
|
|
1849
|
+
if (!item3D || !item) return;
|
|
1688
1850
|
if (item.counterTop.uri == '') item.counterTop.uri = _layer.counterTop.uri;
|
|
1689
1851
|
var sRot = item.rotation;
|
|
1690
|
-
if (!item3D) return;
|
|
1691
1852
|
var originPos = item3D.position.clone();
|
|
1692
1853
|
var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
|
|
1693
1854
|
var sBounding = item3D.children[0].userData;
|
|
@@ -1706,78 +1867,28 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1706
1867
|
}
|
|
1707
1868
|
}, item, _this2.context.catalog)) {
|
|
1708
1869
|
_this2.collisionSlide(item3D, originPos, _layer, sVertices, tPos, item);
|
|
1709
|
-
//return;
|
|
1710
1870
|
}
|
|
1711
|
-
|
|
1712
|
-
|
|
1871
|
+
var polygonPoint = GeometryUtils.getPoylgonPoints(_layer);
|
|
1872
|
+
if (polygonPoint.length > 0) {
|
|
1873
|
+
var PolygonSect = GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
|
|
1713
1874
|
if (!PolygonSect) {
|
|
1714
|
-
var _GeometryUtils$
|
|
1715
|
-
cx = _GeometryUtils$
|
|
1716
|
-
cy = _GeometryUtils$
|
|
1717
|
-
crot = _GeometryUtils$
|
|
1875
|
+
var _GeometryUtils$calcCr2 = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygonPoint),
|
|
1876
|
+
cx = _GeometryUtils$calcCr2.cx,
|
|
1877
|
+
cy = _GeometryUtils$calcCr2.cy,
|
|
1878
|
+
crot = _GeometryUtils$calcCr2.crot;
|
|
1718
1879
|
_nx = cx;
|
|
1719
1880
|
_ny = cy;
|
|
1720
1881
|
rot = crot;
|
|
1721
1882
|
}
|
|
1722
1883
|
}
|
|
1723
|
-
if (
|
|
1724
|
-
var
|
|
1725
|
-
if (!
|
|
1884
|
+
if (polygonPoint.length > 0) {
|
|
1885
|
+
var isSect = GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
|
|
1886
|
+
if (!isSect) return;
|
|
1726
1887
|
}
|
|
1727
1888
|
actions.itemsActions.updateDraggingItemChanged(_nx, _ny, selectedObject.layerID, selectedObject.itemID);
|
|
1728
1889
|
actions.itemsActions.updateRotatingItemChanged(rot, selectedObject.layerID, selectedObject.itemID);
|
|
1729
1890
|
sPoint.set(_nx, _ny);
|
|
1730
|
-
|
|
1731
|
-
var pointArray = [],
|
|
1732
|
-
cnt = 0;
|
|
1733
|
-
pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1734
|
-
pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1735
|
-
pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1736
|
-
pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1737
|
-
pointArray.forEach(function (pointElement, index) {
|
|
1738
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1739
|
-
});
|
|
1740
|
-
pointArray.forEach(function (pointElement) {
|
|
1741
|
-
if (pointElement[0] == 0) cnt++;
|
|
1742
|
-
});
|
|
1743
|
-
if (cnt == 4 || cnt == 3) {
|
|
1744
|
-
pointArray[0][0] = 100;
|
|
1745
|
-
pointArray[1][0] = 100;
|
|
1746
|
-
}
|
|
1747
|
-
actions.itemsActions.storeDistArray(_layer.id, item.id, pointArray);
|
|
1748
|
-
var minDis = fVLine[0].userData.distance;
|
|
1749
|
-
var snapObj = fVLine[0];
|
|
1750
|
-
var iPos = item3D.position.clone();
|
|
1751
|
-
var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
|
|
1752
|
-
if (snapDis >= 100 && snapObj != null) {
|
|
1753
|
-
removeSnapBox();
|
|
1754
|
-
backsplashVisible = false;
|
|
1755
|
-
//console.log('1 snap no');
|
|
1756
|
-
}
|
|
1757
|
-
for (var _i11 = 1; _i11 < fVLine.length; _i11++) {
|
|
1758
|
-
if (minDis > fVLine[_i11].userData.distance) {
|
|
1759
|
-
minDis = fVLine[_i11].userData.distance;
|
|
1760
|
-
snapObj = fVLine[_i11];
|
|
1761
|
-
}
|
|
1762
|
-
}
|
|
1763
|
-
if (snapBox == null) {
|
|
1764
|
-
snapFlag = false;
|
|
1765
|
-
}
|
|
1766
|
-
actions.sceneActions.updateMovingState(false);
|
|
1767
|
-
if (minDis < snapDelta && !snapFlag) {
|
|
1768
|
-
_this2.snap(snapObj, _layer);
|
|
1769
|
-
snapFlag = true;
|
|
1770
|
-
//console.log('1 snap Yes')
|
|
1771
|
-
getDistances(_layer, true);
|
|
1772
|
-
var _i12 = 0;
|
|
1773
|
-
for (_i12 = 0; _i12 < fVLine.length; _i12++) {
|
|
1774
|
-
if (fVLine[_i12].userData.distance < snapDelta) {
|
|
1775
|
-
break;
|
|
1776
|
-
}
|
|
1777
|
-
}
|
|
1778
|
-
if (_i12 === fVLine.length) backsplashVisible = false;else backsplashVisible = true;
|
|
1779
|
-
}
|
|
1780
|
-
actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
|
|
1891
|
+
_this2.handleAfterMovingItem();
|
|
1781
1892
|
}
|
|
1782
1893
|
}
|
|
1783
1894
|
if (bRotate) {
|
|
@@ -1845,78 +1956,28 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1845
1956
|
_this2.collisionSlide(_item3D2, _originPos, _layer3, _sVertices, _tPos4, _item5);
|
|
1846
1957
|
//return;
|
|
1847
1958
|
}
|
|
1848
|
-
var
|
|
1849
|
-
if (
|
|
1850
|
-
var _PolygonSect = GeometryUtils.ContainsPoint(
|
|
1959
|
+
var _polygonPoint = GeometryUtils.getPoylgonPoints(_layer3);
|
|
1960
|
+
if (_polygonPoint.length > 0) {
|
|
1961
|
+
var _PolygonSect = GeometryUtils.ContainsPoint(_polygonPoint, _nx3, _ny3);
|
|
1851
1962
|
if (!_PolygonSect) {
|
|
1852
|
-
var _GeometryUtils$
|
|
1853
|
-
_cx3 = _GeometryUtils$
|
|
1854
|
-
_cy = _GeometryUtils$
|
|
1855
|
-
_crot = _GeometryUtils$
|
|
1963
|
+
var _GeometryUtils$calcCr3 = GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, _polygonPoint),
|
|
1964
|
+
_cx3 = _GeometryUtils$calcCr3.cx,
|
|
1965
|
+
_cy = _GeometryUtils$calcCr3.cy,
|
|
1966
|
+
_crot = _GeometryUtils$calcCr3.crot;
|
|
1856
1967
|
_nx3 = _cx3;
|
|
1857
1968
|
_ny3 = _cy;
|
|
1858
1969
|
_rot = _crot;
|
|
1859
1970
|
}
|
|
1860
1971
|
}
|
|
1861
|
-
var
|
|
1862
|
-
if (
|
|
1863
|
-
var Sect = GeometryUtils.ContainsPoint(
|
|
1972
|
+
var polygon = GeometryUtils.getPoylgonPoints(_layer3);
|
|
1973
|
+
if (polygon.length > 0) {
|
|
1974
|
+
var Sect = GeometryUtils.ContainsPoint(polygon, _nx3, _ny3);
|
|
1864
1975
|
if (!Sect) return;
|
|
1865
1976
|
}
|
|
1866
1977
|
actions.itemsActions.updateDraggingItemChanged(_nx3, _ny3, selectedObject.layerID, selectedObject.itemID);
|
|
1867
1978
|
actions.itemsActions.updateRotatingItemChanged(_rot, selectedObject.layerID, selectedObject.itemID);
|
|
1868
1979
|
sPoint.set(_nx3, _ny3);
|
|
1869
|
-
|
|
1870
|
-
var _pointArray = [],
|
|
1871
|
-
_cnt = 0;
|
|
1872
|
-
_pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1873
|
-
_pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1874
|
-
_pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1875
|
-
_pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1876
|
-
_pointArray.forEach(function (pointElement, index) {
|
|
1877
|
-
if (pointElement[0] == undefined) _pointArray[index][0] = 0;
|
|
1878
|
-
});
|
|
1879
|
-
_pointArray.forEach(function (pointElement) {
|
|
1880
|
-
if (pointElement[0] == 0) _cnt++;
|
|
1881
|
-
});
|
|
1882
|
-
if (_cnt == 4 || _cnt == 3) {
|
|
1883
|
-
_pointArray[0][0] = 100;
|
|
1884
|
-
_pointArray[1][0] = 100;
|
|
1885
|
-
}
|
|
1886
|
-
actions.itemsActions.storeDistArray(_layer3.id, _item5.id, _pointArray);
|
|
1887
|
-
var _minDis = fVLine[0].userData.distance;
|
|
1888
|
-
var _snapObj = fVLine[0];
|
|
1889
|
-
var _iPos = _item3D2.position.clone();
|
|
1890
|
-
var _snapDis = Math.sqrt((_iPos.x - targetPoint.x) * (_iPos.x - targetPoint.x) + (_iPos.z - targetPoint.z) * (_iPos.z - targetPoint.z));
|
|
1891
|
-
if (_snapDis >= 100 && _snapObj != null) {
|
|
1892
|
-
removeSnapBox();
|
|
1893
|
-
backsplashVisible = false;
|
|
1894
|
-
//console.log('1 snap no');
|
|
1895
|
-
}
|
|
1896
|
-
for (var _i13 = 1; _i13 < fVLine.length; _i13++) {
|
|
1897
|
-
if (_minDis > fVLine[_i13].userData.distance) {
|
|
1898
|
-
_minDis = fVLine[_i13].userData.distance;
|
|
1899
|
-
_snapObj = fVLine[_i13];
|
|
1900
|
-
}
|
|
1901
|
-
}
|
|
1902
|
-
if (snapBox == null) {
|
|
1903
|
-
snapFlag = false;
|
|
1904
|
-
}
|
|
1905
|
-
actions.sceneActions.updateMovingState(false);
|
|
1906
|
-
if (_minDis < snapDelta && !snapFlag) {
|
|
1907
|
-
_this2.snap(_snapObj, _layer3);
|
|
1908
|
-
snapFlag = true;
|
|
1909
|
-
//console.log('1 snap Yes')
|
|
1910
|
-
getDistances(_layer3, true);
|
|
1911
|
-
var _i14 = 0;
|
|
1912
|
-
for (_i14 = 0; _i14 < fVLine.length; _i14++) {
|
|
1913
|
-
if (fVLine[_i14].userData.distance < snapDelta) {
|
|
1914
|
-
break;
|
|
1915
|
-
}
|
|
1916
|
-
}
|
|
1917
|
-
if (_i14 === fVLine.length) backsplashVisible = false;else backsplashVisible = true;
|
|
1918
|
-
}
|
|
1919
|
-
actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
|
|
1980
|
+
_this2.handleAfterMovingItem();
|
|
1920
1981
|
}
|
|
1921
1982
|
}
|
|
1922
1983
|
if (!bMove && !bRotate && !bMoveUP) {
|
|
@@ -1929,13 +1990,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1929
1990
|
rayDirection = rayDirection.normalize();
|
|
1930
1991
|
var meshes = getAllMeshes(toIntersect);
|
|
1931
1992
|
var intersects = raycaster.intersectObjects(meshes, true);
|
|
1932
|
-
var
|
|
1993
|
+
var _i11;
|
|
1933
1994
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1934
|
-
for (
|
|
1935
|
-
if (intersects[
|
|
1995
|
+
for (_i11 = 0; _i11 < intersects.length; _i11++) {
|
|
1996
|
+
if (intersects[_i11].object.name === 'warningObj') break;
|
|
1936
1997
|
}
|
|
1937
|
-
if (intersects[
|
|
1938
|
-
var distance = Math.sqrt(Math.pow((intersects[
|
|
1998
|
+
if (intersects[_i11] !== undefined) {
|
|
1999
|
+
var distance = Math.sqrt(Math.pow((intersects[_i11].uv.x - 0.5) * 50, 2) + Math.pow((intersects[_i11].uv.y - 0.75) * 100, 2));
|
|
1939
2000
|
if (distance <= 20) {
|
|
1940
2001
|
var infoPos = {
|
|
1941
2002
|
x: 0,
|
|
@@ -1951,15 +2012,72 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1951
2012
|
} else {
|
|
1952
2013
|
infoPos.x = event.offsetX;
|
|
1953
2014
|
}
|
|
1954
|
-
document.getElementById('warning_box_2d')
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
2015
|
+
if (!isEmpty(document.getElementById('warning_box_2d'))) {
|
|
2016
|
+
document.getElementById('warning_box_2d').style.display = 'flex';
|
|
2017
|
+
document.getElementById('warning_box_2d').style.top = "".concat(infoPos.y, "px");
|
|
2018
|
+
document.getElementById('warning_box_2d').style.left = "".concat(infoPos.x, "px");
|
|
2019
|
+
return;
|
|
2020
|
+
}
|
|
1958
2021
|
}
|
|
1959
2022
|
}
|
|
1960
2023
|
}
|
|
1961
2024
|
}
|
|
1962
|
-
document.getElementById('warning_box_2d').style.display = 'none';
|
|
2025
|
+
if (!isEmpty(document.getElementById('warning_box_2d'))) document.getElementById('warning_box_2d').style.display = 'none';
|
|
2026
|
+
};
|
|
2027
|
+
|
|
2028
|
+
// handle snapBox, distArray, backsplash
|
|
2029
|
+
this.handleAfterMovingItem = function () {
|
|
2030
|
+
var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
2031
|
+
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2032
|
+
getDistances(layer);
|
|
2033
|
+
var pointArray = [],
|
|
2034
|
+
cnt = 0;
|
|
2035
|
+
pointArray.push([fVLine[0].userData.distance, 90]);
|
|
2036
|
+
pointArray.push([fVLine[1].userData.distance, -90]);
|
|
2037
|
+
pointArray.push([fVLine[2].userData.distance, 180]);
|
|
2038
|
+
pointArray.push([fVLine[3].userData.distance, 0]);
|
|
2039
|
+
pointArray.forEach(function (pointElement, index) {
|
|
2040
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
2041
|
+
});
|
|
2042
|
+
pointArray.forEach(function (pointElement) {
|
|
2043
|
+
if (pointElement[0] == 0) cnt++;
|
|
2044
|
+
});
|
|
2045
|
+
if (cnt == 4 || cnt == 3) {
|
|
2046
|
+
pointArray[0][0] = 100;
|
|
2047
|
+
pointArray[1][0] = 100;
|
|
2048
|
+
}
|
|
2049
|
+
actions.itemsActions.storeDistArray(selectedObject.layerID, selectedObject.itemID, pointArray);
|
|
2050
|
+
var minDis = fVLine[0].userData.distance;
|
|
2051
|
+
var snapObj = fVLine[0];
|
|
2052
|
+
var iPos = item3D.position.clone();
|
|
2053
|
+
var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
|
|
2054
|
+
if (snapDis >= 100 && snapObj != null) {
|
|
2055
|
+
removeSnapBox();
|
|
2056
|
+
backsplashVisible = false;
|
|
2057
|
+
}
|
|
2058
|
+
for (var _i12 = 1; _i12 < fVLine.length; _i12++) {
|
|
2059
|
+
if (minDis > fVLine[_i12].userData.distance) {
|
|
2060
|
+
minDis = fVLine[_i12].userData.distance;
|
|
2061
|
+
snapObj = fVLine[_i12];
|
|
2062
|
+
}
|
|
2063
|
+
}
|
|
2064
|
+
if (snapBox == null) {
|
|
2065
|
+
snapFlag = false;
|
|
2066
|
+
}
|
|
2067
|
+
actions.sceneActions.updateMovingState(false);
|
|
2068
|
+
if (minDis < snapDelta && !snapFlag) {
|
|
2069
|
+
_this2.snap(snapObj, layer);
|
|
2070
|
+
snapFlag = true;
|
|
2071
|
+
getDistances(layer, true);
|
|
2072
|
+
var _i13 = 0;
|
|
2073
|
+
for (_i13 = 0; _i13 < fVLine.length; _i13++) {
|
|
2074
|
+
if (fVLine[_i13].userData.distance < snapDelta) {
|
|
2075
|
+
break;
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
if (_i13 === fVLine.length) backsplashVisible = false;else backsplashVisible = true;
|
|
2079
|
+
}
|
|
2080
|
+
actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
|
|
1963
2081
|
};
|
|
1964
2082
|
this.onkeydown = function (event) {
|
|
1965
2083
|
if (_this2.props.keyDownEnable && !isElevationView(state.mode)) {
|
|
@@ -2016,6 +2134,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2016
2134
|
this.handleKeyDown = function (event) {
|
|
2017
2135
|
_this2.onkeydown(event);
|
|
2018
2136
|
};
|
|
2137
|
+
this.getSelectedObject = function () {
|
|
2138
|
+
var layerID = _this2.props.state.scene.selectedLayer;
|
|
2139
|
+
var itemID = _this2.props.state.drawingSupport.get('currentID');
|
|
2140
|
+
selectedObject = {
|
|
2141
|
+
layerID: layerID,
|
|
2142
|
+
itemID: itemID
|
|
2143
|
+
};
|
|
2144
|
+
};
|
|
2019
2145
|
|
|
2020
2146
|
// Renderer & Event listener
|
|
2021
2147
|
|
|
@@ -2024,6 +2150,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2024
2150
|
if (!this.props.downloadFlag) {
|
|
2025
2151
|
this.renderer.domElement.addEventListener('mousedown', this.mouseDownEvent);
|
|
2026
2152
|
this.renderer.domElement.addEventListener('mouseup', this.mouseUpEvent);
|
|
2153
|
+
this.renderer.domElement.addEventListener('mouseenter', this.mouseEnterEvent);
|
|
2027
2154
|
this.renderer.domElement.addEventListener('mousemove', this.mouseMoveEvent);
|
|
2028
2155
|
window.addEventListener('keydown', this.onkeydown);
|
|
2029
2156
|
window.SPKeyDown = this.handleKeyDown;
|
|
@@ -2065,7 +2192,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2065
2192
|
scene3D = new Three.Scene();
|
|
2066
2193
|
if (isElevationView(state.mode)) scene3D.background = new Three.Color(0xffffff);
|
|
2067
2194
|
// change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
|
|
2068
|
-
else scene3D.background = new Three.Color(
|
|
2195
|
+
else scene3D.background = new Three.Color(0xffffff); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
|
|
2069
2196
|
// scene3D.fog = new Three.Fog(0xC3CADC, 2000, 3500);
|
|
2070
2197
|
window.scene3D = scene3D;
|
|
2071
2198
|
// Camera
|
|
@@ -2164,9 +2291,9 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2164
2291
|
function render() {
|
|
2165
2292
|
var delta = clock.getDelta(); // Get time delta for smooth updates
|
|
2166
2293
|
if (!isElevationView(state.mode)) cameraControls.update(delta);
|
|
2167
|
-
for (var
|
|
2168
|
-
lights[
|
|
2169
|
-
lights[
|
|
2294
|
+
for (var _i14 = 0; _i14 < lights.length; _i14++) {
|
|
2295
|
+
lights[_i14].light.position.set(planData.plan.position.x + lights[_i14].x, planData.plan.position.y + lights[_i14].height - 10, planData.plan.position.z - lights[_i14].y);
|
|
2296
|
+
lights[_i14].target.position.set(planData.plan.position.x + lights[_i14].x, planData.plan.position.y, planData.plan.position.z - lights[_i14].y);
|
|
2170
2297
|
}
|
|
2171
2298
|
camera.updateMatrix();
|
|
2172
2299
|
camera.updateMatrixWorld();
|
|
@@ -2465,7 +2592,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2465
2592
|
}));
|
|
2466
2593
|
} else {
|
|
2467
2594
|
document.getElementById('front') && (document.getElementById('front').style.display = 'none');
|
|
2468
|
-
document.getElementById('error').style.display = 'none';
|
|
2469
2595
|
this.renderer.domElement.style.display = 'none';
|
|
2470
2596
|
return /*#__PURE__*/React.createElement("div", {
|
|
2471
2597
|
style: {
|
|
@@ -2500,7 +2626,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2500
2626
|
alt: "img"
|
|
2501
2627
|
}));
|
|
2502
2628
|
} else {
|
|
2503
|
-
!this.props.downloadFlag && (document.getElementById('error').style.display = 'block');
|
|
2504
2629
|
this.renderer.domElement.style.pointerEvents = 'auto';
|
|
2505
2630
|
this.renderer.domElement.style.opacity = '1';
|
|
2506
2631
|
!this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
|