kitchen-simulator 1.1.1-test.75 → 1.1.1-test.77
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/CrossSignOn.js +84 -0
- package/es/KitchenConfigurator.js +811 -48
- package/es/LiteKitchenConfigurator.js +631 -0
- package/es/{KitchenConfiguratorApp.js → LiteRenderer.js} +4 -4
- package/es/actions/export.js +4 -2
- package/es/actions/holes-actions.js +1 -1
- package/es/actions/items-actions.js +1 -1
- package/es/actions/lines-actions.js +1 -1
- package/es/actions/project-actions.js +1 -1
- package/es/actions/scene-actions.js +1 -1
- package/es/actions/user-actions.js +58 -0
- package/es/actions/vertices-actions.js +1 -1
- package/es/actions/viewer2d-actions.js +1 -1
- package/es/actions/viewer3d-actions.js +1 -1
- package/es/analytics/ga4.js +188 -0
- package/es/analytics/posthog.js +60 -0
- 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/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 +8 -11
- package/es/catalog/back.png +0 -0
- 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/wall-factory.js +1 -2
- package/es/catalog/lines/wall/planner-element.js +11 -14
- 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 +18 -63
- package/es/catalog/properties/property-enum.js +9 -51
- package/es/catalog/properties/property-lenght-measure.js +1 -1
- package/es/catalog/properties/property-length-measure.js +6 -50
- package/es/catalog/utils/item-loader.js +1 -2
- package/es/catalog/utils/mtl-loader.js +2 -3
- package/es/catalog/utils/obj-loader.js +2 -3
- package/es/catalog/windows.png +0 -0
- package/es/class/area.js +1 -1
- package/es/class/group.js +3 -3
- package/es/class/hole.js +6 -5
- package/es/class/item.js +8 -3
- package/es/class/layer.js +2 -2
- package/es/class/line.js +87 -52
- package/es/class/project.js +8 -6
- package/es/class/vertex.js +1 -1
- package/es/components/content.js +16 -1
- package/es/components/style/form-number-input.js +7 -31
- package/es/components/style/form-select.js +8 -48
- package/es/components/style/form-text-input.js +12 -31
- package/es/components/viewer2d/area.js +1 -1
- package/es/components/viewer2d/line.js +13 -3
- package/es/components/viewer2d/scene.js +2 -2
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +33 -20
- 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 +5 -6
- package/es/components/viewer3d/libs/pointer-lock-controls.js +4 -5
- package/es/components/viewer3d/ruler-utils/scene3D.js +0 -1
- package/es/components/viewer3d/scene-creator.js +22 -7
- package/es/components/viewer3d/viewer3d.js +279 -180
- package/es/devLiteRenderer.js +44 -0
- package/es/index.js +2 -2
- package/es/models.js +1 -2
- package/es/plugins/export.js +1 -3
- package/es/plugins/keyboard.js +2 -2
- package/es/reducers/holes-reducer.js +1 -1
- package/es/reducers/items-reducer.js +5 -2
- package/es/reducers/lines-reducer.js +1 -1
- package/es/reducers/project-reducer.js +1 -1
- package/es/reducers/reducer.js +2 -2
- package/es/reducers/scene-reducer.js +1 -1
- package/es/reducers/user-reducer.js +2 -1
- package/es/reducers/vertices-reducer.js +1 -1
- package/es/renderer.js +474 -0
- package/es/utils/geometry.js +61 -26
- package/es/utils/get-edges-of-subgraphs.js +1 -2
- package/es/utils/graph-cycles.js +3 -2
- package/es/utils/graph.js +1 -2
- package/es/utils/helper.js +68 -0
- package/es/version.js +1 -2
- package/lib/CrossSignOn.js +93 -0
- package/lib/KitchenConfigurator.js +817 -54
- package/lib/LiteKitchenConfigurator.js +641 -0
- package/lib/{KitchenConfiguratorApp.js → LiteRenderer.js} +5 -5
- package/lib/actions/export.js +5 -2
- package/lib/actions/user-actions.js +68 -0
- package/lib/analytics/ga4.js +194 -0
- package/lib/analytics/posthog.js +68 -0
- 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/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 +8 -12
- 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/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/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/lines/wall/planner-element.js +11 -15
- 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 +0 -5
- package/lib/catalog/molding/molding-dcm/texture.png +0 -0
- package/lib/catalog/molding/molding-fbm/planner-element.js +0 -5
- package/lib/catalog/molding/molding-fbm/texture.png +0 -0
- package/lib/catalog/molding/molding-lrm/planner-element.js +0 -5
- package/lib/catalog/molding/molding-lrm/texture.png +0 -0
- package/lib/catalog/properties/property-checkbox.js +18 -63
- package/lib/catalog/properties/property-enum.js +7 -49
- package/lib/catalog/properties/property-lenght-measure.js +1 -1
- package/lib/catalog/properties/property-length-measure.js +6 -50
- package/lib/catalog/utils/item-loader.js +1 -0
- package/lib/catalog/utils/mtl-loader.js +3 -7
- package/lib/catalog/utils/obj-loader.js +3 -7
- package/lib/catalog/windows.png +0 -0
- package/lib/class/item.js +8 -3
- package/lib/class/line.js +87 -52
- package/lib/class/project.js +4 -2
- package/lib/class/vertex.js +1 -1
- package/lib/components/content.js +16 -1
- package/lib/components/style/form-number-input.js +6 -30
- package/lib/components/style/form-select.js +9 -47
- package/lib/components/style/form-text-input.js +11 -30
- package/lib/components/viewer2d/area.js +1 -1
- package/lib/components/viewer2d/line.js +13 -3
- package/lib/components/viewer2d/scene.js +1 -1
- package/lib/components/viewer2d/utils.js +0 -6
- package/lib/components/viewer2d/viewer2d.js +32 -19
- package/lib/components/viewer3d/libs/mtl-loader.js +2 -7
- package/lib/components/viewer3d/libs/obj-loader.js +2 -7
- package/lib/components/viewer3d/libs/orbit-controls.js +5 -10
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +4 -9
- package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -1
- package/lib/components/viewer3d/scene-creator.js +22 -7
- package/lib/components/viewer3d/viewer3d.js +279 -180
- package/lib/devLiteRenderer.js +46 -0
- package/lib/index.js +2 -2
- package/lib/models.js +2 -3
- package/lib/plugins/export.js +0 -8
- package/lib/reducers/user-reducer.js +1 -0
- package/lib/renderer.js +478 -0
- package/lib/styles/tabs.css +40 -0
- package/lib/utils/geometry.js +63 -26
- package/lib/utils/get-edges-of-subgraphs.js +1 -7
- package/lib/utils/graph-cycles.js +9 -9
- package/lib/utils/graph.js +3 -9
- package/lib/utils/helper.js +69 -1
- package/lib/version.js +1 -2
- package/package.json +30 -11
- package/es/components/disclaimer/disclaimer.js +0 -97
- package/es/components/export.js +0 -9
- package/es/plugins/autosave.js +0 -33
- package/lib/components/disclaimer/disclaimer.js +0 -106
- package/lib/components/export.js +0 -33
- package/lib/plugins/autosave.js +0 -40
|
@@ -22,6 +22,7 @@ var _threeMemoryCleaner = require("./three-memory-cleaner");
|
|
|
22
22
|
var _immutablediff = _interopRequireDefault(require("immutablediff"));
|
|
23
23
|
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
24
24
|
var _constants = require("../../constants");
|
|
25
|
+
var _util = require("util");
|
|
25
26
|
var _geometry = require("../../utils/geometry");
|
|
26
27
|
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
27
28
|
var _export = require("../../utils/export");
|
|
@@ -277,7 +278,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
277
278
|
lines.push(data);
|
|
278
279
|
});
|
|
279
280
|
var _loop3 = function _loop3() {
|
|
280
|
-
var data = lines[
|
|
281
|
+
var data = lines[_i15];
|
|
281
282
|
var realVec = [];
|
|
282
283
|
data.vertices.forEach(function (vec) {
|
|
283
284
|
realVec.push(vec);
|
|
@@ -288,7 +289,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
288
289
|
return 1; // break
|
|
289
290
|
}
|
|
290
291
|
};
|
|
291
|
-
for (var
|
|
292
|
+
for (var _i15 = 0; _i15 < lines.length; _i15++) {
|
|
292
293
|
if (_loop3()) break;
|
|
293
294
|
}
|
|
294
295
|
var vertices = [];
|
|
@@ -298,11 +299,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
298
299
|
});
|
|
299
300
|
vertices.push(vertices[0]);
|
|
300
301
|
var fLen = vertices.length - 1;
|
|
301
|
-
for (var
|
|
302
|
-
var sX = vertices[
|
|
303
|
-
var sY = vertices[
|
|
304
|
-
var eX = vertices[
|
|
305
|
-
var eY = vertices[
|
|
302
|
+
for (var _i16 = 0; _i16 < fLen; _i16++) {
|
|
303
|
+
var sX = vertices[_i16].x;
|
|
304
|
+
var sY = vertices[_i16].y;
|
|
305
|
+
var eX = vertices[_i16 + 1].x;
|
|
306
|
+
var eY = vertices[_i16 + 1].y;
|
|
306
307
|
var len = Math.sqrt((eX - sX) * (eX - sX) + (eY - sY) * (eY - sY));
|
|
307
308
|
for (var cLen = 200; cLen < len; cLen += 200) {
|
|
308
309
|
var cX = sX + (eX - sX) * cLen / len;
|
|
@@ -379,6 +380,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
379
380
|
var allRect;
|
|
380
381
|
var allArea;
|
|
381
382
|
|
|
383
|
+
// FLAG FOR initial phase of drawing an item
|
|
384
|
+
var isInitialPhase = true;
|
|
385
|
+
|
|
382
386
|
// end snap function variable///////////////////////
|
|
383
387
|
var backsplashVisible = false;
|
|
384
388
|
var holeItems = _export.GeometryUtils.getHoleItems(layer);
|
|
@@ -656,7 +660,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
656
660
|
item: _item2,
|
|
657
661
|
cat: ocat
|
|
658
662
|
};
|
|
659
|
-
console.log('currentItem =>', currentItem);
|
|
660
663
|
if (_export.GeometryUtils.needSnap(currentItem, otherItem) && otherItem.cat.type != 'cabinet') {
|
|
661
664
|
var tRot = _item2.rotation;
|
|
662
665
|
var tPos = new Three.Vector2(_item2.x, _item2.y);
|
|
@@ -1293,7 +1296,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1293
1296
|
offsetX: event.offsetX - 50,
|
|
1294
1297
|
offsetY: event.offsetY
|
|
1295
1298
|
}, alti);
|
|
1296
|
-
if (
|
|
1299
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1297
1300
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1298
1301
|
lastAngle = 0;
|
|
1299
1302
|
angleObj.position.set(planData.plan.position.x + Point.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : selItem.properties.get('altitude').get('length') + planData.plan.position.y, planData.plan.position.z - Point.y);
|
|
@@ -1358,7 +1361,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1358
1361
|
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
1359
1362
|
_this2.props.setToolbar('');
|
|
1360
1363
|
}
|
|
1361
|
-
getPoint(event, altitude);
|
|
1362
1364
|
if (_this2.props.state.mode == _constants.MODE_DRAWING_ITEM_3D) {
|
|
1363
1365
|
if (Point.x > _this2.props.state.scene.width) Point.x = _this2.props.state.width;
|
|
1364
1366
|
if (Point.y > _this2.props.state.scene.height) Point.y = _this2.props.state.height;
|
|
@@ -1368,9 +1370,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1368
1370
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
1369
1371
|
} else {
|
|
1370
1372
|
removeSnapBox();
|
|
1371
|
-
var polygon =
|
|
1373
|
+
var polygon = _export.GeometryUtils.getPoylgonPoints(layer);
|
|
1372
1374
|
// if cursor is outside of room
|
|
1373
|
-
if (!_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1375
|
+
if (polygon.length > 0 && !_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1374
1376
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
1375
1377
|
} else {
|
|
1376
1378
|
actions.itemsActions.updateDraggingItemChanged(targetPoint.x, -targetPoint.z, selectedObject.layerID, selectedObject.itemID);
|
|
@@ -1379,6 +1381,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1379
1381
|
}
|
|
1380
1382
|
}
|
|
1381
1383
|
bMove = false;
|
|
1384
|
+
isInitialPhase = true;
|
|
1382
1385
|
return;
|
|
1383
1386
|
}
|
|
1384
1387
|
if (_this2.props.state.mode == _constants.MODE_DRAGGING_ITEM_3D) {
|
|
@@ -1387,6 +1390,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1387
1390
|
if (_this2.props.state.mode == _constants.MODE_ROTATING_ITEM_3D) {
|
|
1388
1391
|
_this2.context.itemsActions.endRotatingItem3D(sPoint.x, sPoint.y);
|
|
1389
1392
|
}
|
|
1393
|
+
getPoint(event, altitude);
|
|
1390
1394
|
if (_this2.props.state.mode == _constants.MODE_DRAWING_HOLE_3D) {
|
|
1391
1395
|
gridPlanOrigin = gridPlane.position;
|
|
1392
1396
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
@@ -1464,7 +1468,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1464
1468
|
setTimeout(function () {
|
|
1465
1469
|
(0, _sceneCreator.getDistances)(layer);
|
|
1466
1470
|
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1467
|
-
if (
|
|
1471
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1468
1472
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1469
1473
|
var itemPos = selectedItem.position.clone();
|
|
1470
1474
|
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
@@ -1546,7 +1550,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1546
1550
|
if (bRotate) {
|
|
1547
1551
|
var _intersects$_i;
|
|
1548
1552
|
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1549
|
-
if (
|
|
1553
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1550
1554
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1551
1555
|
var itemPos = selectedItem.position.clone();
|
|
1552
1556
|
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) {
|
|
@@ -1564,7 +1568,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1564
1568
|
if (bMove) {
|
|
1565
1569
|
bMove = false;
|
|
1566
1570
|
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1567
|
-
if (
|
|
1571
|
+
if ((0, _util.isUndefined)(_selectedItem)) return;
|
|
1568
1572
|
var _selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1569
1573
|
var _itemPos = _selectedItem.position.clone();
|
|
1570
1574
|
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
|
|
@@ -1605,6 +1609,164 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1605
1609
|
}
|
|
1606
1610
|
}
|
|
1607
1611
|
};
|
|
1612
|
+
this.mouseEnterEvent = function (event) {
|
|
1613
|
+
if (_this2.props.state.mode !== _constants.MODE_DRAWING_ITEM_3D) return;
|
|
1614
|
+
// if not initial moment of drawing an item
|
|
1615
|
+
if (!isInitialPhase) return;
|
|
1616
|
+
var bNormalFlow = true;
|
|
1617
|
+
_this2.getSelectedObject();
|
|
1618
|
+
var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
1619
|
+
var mX = Point.x - sPoint.x;
|
|
1620
|
+
var mY = Point.y - sPoint.y;
|
|
1621
|
+
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1622
|
+
(0, _sceneCreator.deleteSpecifiedMeshObjects)('TransformBox');
|
|
1623
|
+
(0, _sceneCreator.deleteSpecifiedMeshObjects)('WarningBox' + selectedObject.itemID);
|
|
1624
|
+
var item = layer.getIn(['items', selectedObject.itemID]);
|
|
1625
|
+
if (!item3D || !item) return;
|
|
1626
|
+
if (item.counterTop.uri == '') item.counterTop.uri = layer.counterTop.uri;
|
|
1627
|
+
var sRot = item.rotation;
|
|
1628
|
+
var originPos = item3D.position.clone();
|
|
1629
|
+
var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
|
|
1630
|
+
var sBounding = item3D.children[0].userData;
|
|
1631
|
+
var swidth = sBounding.max.x - sBounding.min.x;
|
|
1632
|
+
var sdepth = sBounding.max.z - sBounding.min.z;
|
|
1633
|
+
var sVertices = _this2.getRectPoints(swidth, sdepth, tPos.clone(), sRot % 360 / 180 * Math.PI);
|
|
1634
|
+
prepareSnap(layer);
|
|
1635
|
+
|
|
1636
|
+
// calc altitude
|
|
1637
|
+
var altitude = 0;
|
|
1638
|
+
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
1639
|
+
var properties = allItemRect.cur.itemInfo.properties;
|
|
1640
|
+
altitude = properties.getIn(['altitude', '_length']);
|
|
1641
|
+
var unit = properties.getIn(['altitude', '_unit']) || 'in';
|
|
1642
|
+
altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
|
|
1643
|
+
}
|
|
1644
|
+
// We need to set cam position since when MODE_DRAWING_ITEM_3D mouse down event
|
|
1645
|
+
// is not emited so cam position is not valid
|
|
1646
|
+
gridPlanOrigin = gridPlane.position;
|
|
1647
|
+
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1648
|
+
camPos = camera.position;
|
|
1649
|
+
|
|
1650
|
+
// calc cursor position
|
|
1651
|
+
getPoint(event, altitude);
|
|
1652
|
+
var polygon = _export.GeometryUtils.getPoylgonPoints(layer);
|
|
1653
|
+
|
|
1654
|
+
// if no wall (no area)
|
|
1655
|
+
if (!polygon.length) {
|
|
1656
|
+
// place the item at cursor position
|
|
1657
|
+
actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
|
|
1658
|
+
return;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
// calc snap
|
|
1662
|
+
var _GeometryUtils$calcCr = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygon),
|
|
1663
|
+
cx = _GeometryUtils$calcCr.cx,
|
|
1664
|
+
cy = _GeometryUtils$calcCr.cy,
|
|
1665
|
+
crot = _GeometryUtils$calcCr.crot,
|
|
1666
|
+
rotRad = _GeometryUtils$calcCr.rotRad;
|
|
1667
|
+
var finalPosition = {
|
|
1668
|
+
x: cx,
|
|
1669
|
+
y: cy,
|
|
1670
|
+
rot: crot,
|
|
1671
|
+
rotRad: rotRad
|
|
1672
|
+
};
|
|
1673
|
+
|
|
1674
|
+
// calc current item rect
|
|
1675
|
+
var itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1676
|
+
pos: {
|
|
1677
|
+
x: Point.x,
|
|
1678
|
+
y: Point.y
|
|
1679
|
+
}
|
|
1680
|
+
});
|
|
1681
|
+
|
|
1682
|
+
// if cursor position is inside the room
|
|
1683
|
+
if (_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1684
|
+
// if cursor position is available to place the item
|
|
1685
|
+
if (_export.GeometryUtils.validRect(itemRect, allRect)) {
|
|
1686
|
+
actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
|
|
1687
|
+
sPoint.set(Point.x, Point.y);
|
|
1688
|
+
bNormalFlow = false;
|
|
1689
|
+
}
|
|
1690
|
+
} else {
|
|
1691
|
+
// if cursor is outside the room and there is no snap candidate,
|
|
1692
|
+
// then place the item at any free position inside the room.
|
|
1693
|
+
if (!_export.GeometryUtils.ContainsPoint(polygon, cx, cy)) {
|
|
1694
|
+
var points = [];
|
|
1695
|
+
var point = [];
|
|
1696
|
+
|
|
1697
|
+
// rebuild variable to be passed to getCentriodOfPolygon
|
|
1698
|
+
// polygon: [ x0, y0, x1, y1, ... ] ==> points: [[x0, y0], [x1, y1], ...]
|
|
1699
|
+
polygon === null || polygon === void 0 || polygon.forEach(function (value, index) {
|
|
1700
|
+
point.push(value);
|
|
1701
|
+
if (index % 2) {
|
|
1702
|
+
points.push(point);
|
|
1703
|
+
point = [];
|
|
1704
|
+
}
|
|
1705
|
+
});
|
|
1706
|
+
|
|
1707
|
+
// calc center position of the room
|
|
1708
|
+
var centerPos = _export.GeometryUtils.getCentroidOfPolygon(points);
|
|
1709
|
+
var itemRect1 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1710
|
+
pos: {
|
|
1711
|
+
x: centerPos.x,
|
|
1712
|
+
y: centerPos.y
|
|
1713
|
+
}
|
|
1714
|
+
});
|
|
1715
|
+
var itemRect2 = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1716
|
+
pos: {
|
|
1717
|
+
x: centerPos.x,
|
|
1718
|
+
y: centerPos.y
|
|
1719
|
+
},
|
|
1720
|
+
rotRad: allItemRect.cur.rotRad + Math.PI / 2
|
|
1721
|
+
});
|
|
1722
|
+
|
|
1723
|
+
// find a free position in the room
|
|
1724
|
+
if (_export.GeometryUtils.validRect(itemRect1, allRect)) {
|
|
1725
|
+
actions.itemsActions.updateDraggingItemChanged(centerPos.x, centerPos.y, selectedObject.layerID, selectedObject.itemID);
|
|
1726
|
+
sPoint.set(centerPos.x, centerPos.y);
|
|
1727
|
+
bNormalFlow = false;
|
|
1728
|
+
} else if (_export.GeometryUtils.validRect(itemRect2, allRect)) {
|
|
1729
|
+
finalPosition = {
|
|
1730
|
+
x: centerPos.x,
|
|
1731
|
+
y: centerPos.y,
|
|
1732
|
+
rotRad: itemRect2.rotRad,
|
|
1733
|
+
rot: itemRect2.rotRad / Math.PI * 180
|
|
1734
|
+
};
|
|
1735
|
+
sPoint.set(centerPos.x, centerPos.y);
|
|
1736
|
+
}
|
|
1737
|
+
}
|
|
1738
|
+
}
|
|
1739
|
+
var nPos = new Three.Vector2(cx, cy);
|
|
1740
|
+
if (!_this2.collisionHoleCheck(item3D, nPos, item.rotation, {
|
|
1741
|
+
userData: {
|
|
1742
|
+
itemId: null
|
|
1743
|
+
}
|
|
1744
|
+
}, item, _this2.context.catalog)) {
|
|
1745
|
+
_this2.collisionSlide(item3D, originPos, layer, sVertices, tPos, item);
|
|
1746
|
+
}
|
|
1747
|
+
itemRect = _objectSpread(_objectSpread({}, allItemRect.cur), {}, {
|
|
1748
|
+
pos: {
|
|
1749
|
+
x: finalPosition.x,
|
|
1750
|
+
y: finalPosition.y
|
|
1751
|
+
},
|
|
1752
|
+
rotRad: finalPosition.rotRad
|
|
1753
|
+
});
|
|
1754
|
+
|
|
1755
|
+
// if the room is fullfilled with items or can't calc snap correctly
|
|
1756
|
+
if (!_export.GeometryUtils.validRect(itemRect, allRect)) {
|
|
1757
|
+
// then place the item at cursor position
|
|
1758
|
+
actions.itemsActions.updateDraggingItemChanged(Point.x, Point.y, selectedObject.layerID, selectedObject.itemID);
|
|
1759
|
+
sPoint.set(Point.x, Point.y);
|
|
1760
|
+
bNormalFlow = false;
|
|
1761
|
+
}
|
|
1762
|
+
if (bNormalFlow) {
|
|
1763
|
+
actions.itemsActions.updateDraggingItemChanged(finalPosition.x, finalPosition.y, selectedObject.layerID, selectedObject.itemID);
|
|
1764
|
+
actions.itemsActions.updateRotatingItemChanged(finalPosition.rot, selectedObject.layerID, selectedObject.itemID);
|
|
1765
|
+
sPoint.set(finalPosition.x, finalPosition.y);
|
|
1766
|
+
}
|
|
1767
|
+
isInitialPhase = false;
|
|
1768
|
+
_this2.handleAfterMovingItem();
|
|
1769
|
+
};
|
|
1608
1770
|
this.mouseMoveEvent = function (event) {
|
|
1609
1771
|
event.preventDefault();
|
|
1610
1772
|
backsplashVisible = false;
|
|
@@ -1645,49 +1807,22 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1645
1807
|
camPos = camera.position;
|
|
1646
1808
|
getPoint(event, altitude);
|
|
1647
1809
|
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 = _export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y);
|
|
1810
|
+
_this2.getSelectedObject();
|
|
1655
1811
|
var _drawingSupport = _this2.props.state.drawingSupport;
|
|
1656
1812
|
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 = _export.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);
|
|
1813
|
+
_this2.context.itemsActions.updateDrawingItem(selectedObject.layerID, Point.x, Point.y);
|
|
1814
|
+
sPoint.set(Point.x, Point.y);
|
|
1679
1815
|
} else {
|
|
1680
|
-
var itemID = _this2.props.state.drawingSupport.get('currentID');
|
|
1681
|
-
selectedObject.itemID = itemID;
|
|
1682
1816
|
var mX = Point.x - sPoint.x;
|
|
1683
1817
|
var mY = Point.y - sPoint.y;
|
|
1818
|
+
var _layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
1684
1819
|
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1685
1820
|
(0, _sceneCreator.deleteSpecifiedMeshObjects)('TransformBox');
|
|
1686
|
-
(0, _sceneCreator.deleteSpecifiedMeshObjects)('WarningBox' + itemID);
|
|
1687
|
-
var item = _layer.
|
|
1821
|
+
(0, _sceneCreator.deleteSpecifiedMeshObjects)('WarningBox' + selectedObject.itemID);
|
|
1822
|
+
var item = _layer.getIn(['items', selectedObject.itemID]);
|
|
1823
|
+
if (!item3D || !item) return;
|
|
1688
1824
|
if (item.counterTop.uri == '') item.counterTop.uri = _layer.counterTop.uri;
|
|
1689
1825
|
var sRot = item.rotation;
|
|
1690
|
-
if (!item3D) return;
|
|
1691
1826
|
var originPos = item3D.position.clone();
|
|
1692
1827
|
var tPos = new Three.Vector2(mX + originPos.x, mY - originPos.z);
|
|
1693
1828
|
var sBounding = item3D.children[0].userData;
|
|
@@ -1706,78 +1841,28 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1706
1841
|
}
|
|
1707
1842
|
}, item, _this2.context.catalog)) {
|
|
1708
1843
|
_this2.collisionSlide(item3D, originPos, _layer, sVertices, tPos, item);
|
|
1709
|
-
//return;
|
|
1710
1844
|
}
|
|
1711
|
-
|
|
1712
|
-
|
|
1845
|
+
var polygonPoint = _export.GeometryUtils.getPoylgonPoints(_layer);
|
|
1846
|
+
if (polygonPoint.length > 0) {
|
|
1847
|
+
var PolygonSect = _export.GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
|
|
1713
1848
|
if (!PolygonSect) {
|
|
1714
|
-
var _GeometryUtils$
|
|
1715
|
-
cx = _GeometryUtils$
|
|
1716
|
-
cy = _GeometryUtils$
|
|
1717
|
-
crot = _GeometryUtils$
|
|
1849
|
+
var _GeometryUtils$calcCr2 = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, polygonPoint),
|
|
1850
|
+
cx = _GeometryUtils$calcCr2.cx,
|
|
1851
|
+
cy = _GeometryUtils$calcCr2.cy,
|
|
1852
|
+
crot = _GeometryUtils$calcCr2.crot;
|
|
1718
1853
|
_nx = cx;
|
|
1719
1854
|
_ny = cy;
|
|
1720
1855
|
rot = crot;
|
|
1721
1856
|
}
|
|
1722
1857
|
}
|
|
1723
|
-
if (
|
|
1724
|
-
var
|
|
1725
|
-
if (!
|
|
1858
|
+
if (polygonPoint.length > 0) {
|
|
1859
|
+
var isSect = _export.GeometryUtils.ContainsPoint(polygonPoint, _nx, _ny);
|
|
1860
|
+
if (!isSect) return;
|
|
1726
1861
|
}
|
|
1727
1862
|
actions.itemsActions.updateDraggingItemChanged(_nx, _ny, selectedObject.layerID, selectedObject.itemID);
|
|
1728
1863
|
actions.itemsActions.updateRotatingItemChanged(rot, selectedObject.layerID, selectedObject.itemID);
|
|
1729
1864
|
sPoint.set(_nx, _ny);
|
|
1730
|
-
|
|
1731
|
-
var pointArray = [],
|
|
1732
|
-
cnt = 0;
|
|
1733
|
-
pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
1734
|
-
pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
|
|
1735
|
-
pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
|
|
1736
|
-
pointArray.push([_sceneCreator.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 = _sceneCreator.fVLine[0].userData.distance;
|
|
1749
|
-
var snapObj = _sceneCreator.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 < _sceneCreator.fVLine.length; _i11++) {
|
|
1758
|
-
if (minDis > _sceneCreator.fVLine[_i11].userData.distance) {
|
|
1759
|
-
minDis = _sceneCreator.fVLine[_i11].userData.distance;
|
|
1760
|
-
snapObj = _sceneCreator.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
|
-
(0, _sceneCreator.getDistances)(_layer, true);
|
|
1772
|
-
var _i12 = 0;
|
|
1773
|
-
for (_i12 = 0; _i12 < _sceneCreator.fVLine.length; _i12++) {
|
|
1774
|
-
if (_sceneCreator.fVLine[_i12].userData.distance < snapDelta) {
|
|
1775
|
-
break;
|
|
1776
|
-
}
|
|
1777
|
-
}
|
|
1778
|
-
if (_i12 === _sceneCreator.fVLine.length) backsplashVisible = false;else backsplashVisible = true;
|
|
1779
|
-
}
|
|
1780
|
-
actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
|
|
1865
|
+
_this2.handleAfterMovingItem();
|
|
1781
1866
|
}
|
|
1782
1867
|
}
|
|
1783
1868
|
if (bRotate) {
|
|
@@ -1845,78 +1930,28 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1845
1930
|
_this2.collisionSlide(_item3D2, _originPos, _layer3, _sVertices, _tPos4, _item5);
|
|
1846
1931
|
//return;
|
|
1847
1932
|
}
|
|
1848
|
-
var
|
|
1849
|
-
if (
|
|
1850
|
-
var _PolygonSect = _export.GeometryUtils.ContainsPoint(
|
|
1933
|
+
var _polygonPoint = _export.GeometryUtils.getPoylgonPoints(_layer3);
|
|
1934
|
+
if (_polygonPoint.length > 0) {
|
|
1935
|
+
var _PolygonSect = _export.GeometryUtils.ContainsPoint(_polygonPoint, _nx3, _ny3);
|
|
1851
1936
|
if (!_PolygonSect) {
|
|
1852
|
-
var _GeometryUtils$
|
|
1853
|
-
_cx3 = _GeometryUtils$
|
|
1854
|
-
_cy = _GeometryUtils$
|
|
1855
|
-
_crot = _GeometryUtils$
|
|
1937
|
+
var _GeometryUtils$calcCr3 = _export.GeometryUtils.calcCreateSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, Point.x, Point.y, _polygonPoint),
|
|
1938
|
+
_cx3 = _GeometryUtils$calcCr3.cx,
|
|
1939
|
+
_cy = _GeometryUtils$calcCr3.cy,
|
|
1940
|
+
_crot = _GeometryUtils$calcCr3.crot;
|
|
1856
1941
|
_nx3 = _cx3;
|
|
1857
1942
|
_ny3 = _cy;
|
|
1858
1943
|
_rot = _crot;
|
|
1859
1944
|
}
|
|
1860
1945
|
}
|
|
1861
|
-
var
|
|
1862
|
-
if (
|
|
1863
|
-
var Sect = _export.GeometryUtils.ContainsPoint(
|
|
1946
|
+
var polygon = _export.GeometryUtils.getPoylgonPoints(_layer3);
|
|
1947
|
+
if (polygon.length > 0) {
|
|
1948
|
+
var Sect = _export.GeometryUtils.ContainsPoint(polygon, _nx3, _ny3);
|
|
1864
1949
|
if (!Sect) return;
|
|
1865
1950
|
}
|
|
1866
1951
|
actions.itemsActions.updateDraggingItemChanged(_nx3, _ny3, selectedObject.layerID, selectedObject.itemID);
|
|
1867
1952
|
actions.itemsActions.updateRotatingItemChanged(_rot, selectedObject.layerID, selectedObject.itemID);
|
|
1868
1953
|
sPoint.set(_nx3, _ny3);
|
|
1869
|
-
|
|
1870
|
-
var _pointArray = [],
|
|
1871
|
-
_cnt = 0;
|
|
1872
|
-
_pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
1873
|
-
_pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
|
|
1874
|
-
_pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
|
|
1875
|
-
_pointArray.push([_sceneCreator.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 = _sceneCreator.fVLine[0].userData.distance;
|
|
1888
|
-
var _snapObj = _sceneCreator.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 < _sceneCreator.fVLine.length; _i13++) {
|
|
1897
|
-
if (_minDis > _sceneCreator.fVLine[_i13].userData.distance) {
|
|
1898
|
-
_minDis = _sceneCreator.fVLine[_i13].userData.distance;
|
|
1899
|
-
_snapObj = _sceneCreator.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
|
-
(0, _sceneCreator.getDistances)(_layer3, true);
|
|
1911
|
-
var _i14 = 0;
|
|
1912
|
-
for (_i14 = 0; _i14 < _sceneCreator.fVLine.length; _i14++) {
|
|
1913
|
-
if (_sceneCreator.fVLine[_i14].userData.distance < snapDelta) {
|
|
1914
|
-
break;
|
|
1915
|
-
}
|
|
1916
|
-
}
|
|
1917
|
-
if (_i14 === _sceneCreator.fVLine.length) backsplashVisible = false;else backsplashVisible = true;
|
|
1918
|
-
}
|
|
1919
|
-
actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
|
|
1954
|
+
_this2.handleAfterMovingItem();
|
|
1920
1955
|
}
|
|
1921
1956
|
}
|
|
1922
1957
|
if (!bMove && !bRotate && !bMoveUP) {
|
|
@@ -1929,13 +1964,13 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1929
1964
|
rayDirection = rayDirection.normalize();
|
|
1930
1965
|
var meshes = (0, _objectsUtils.getAllMeshes)(toIntersect);
|
|
1931
1966
|
var intersects = raycaster.intersectObjects(meshes, true);
|
|
1932
|
-
var
|
|
1967
|
+
var _i11;
|
|
1933
1968
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1934
|
-
for (
|
|
1935
|
-
if (intersects[
|
|
1969
|
+
for (_i11 = 0; _i11 < intersects.length; _i11++) {
|
|
1970
|
+
if (intersects[_i11].object.name === 'warningObj') break;
|
|
1936
1971
|
}
|
|
1937
|
-
if (intersects[
|
|
1938
|
-
var distance = Math.sqrt(Math.pow((intersects[
|
|
1972
|
+
if (intersects[_i11] !== undefined) {
|
|
1973
|
+
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
1974
|
if (distance <= 20) {
|
|
1940
1975
|
var infoPos = {
|
|
1941
1976
|
x: 0,
|
|
@@ -1961,6 +1996,61 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1961
1996
|
}
|
|
1962
1997
|
document.getElementById('warning_box_2d').style.display = 'none';
|
|
1963
1998
|
};
|
|
1999
|
+
|
|
2000
|
+
// handle snapBox, distArray, backsplash
|
|
2001
|
+
this.handleAfterMovingItem = function () {
|
|
2002
|
+
var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
2003
|
+
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2004
|
+
(0, _sceneCreator.getDistances)(layer);
|
|
2005
|
+
var pointArray = [],
|
|
2006
|
+
cnt = 0;
|
|
2007
|
+
pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
2008
|
+
pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
|
|
2009
|
+
pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
|
|
2010
|
+
pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
|
|
2011
|
+
pointArray.forEach(function (pointElement, index) {
|
|
2012
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
2013
|
+
});
|
|
2014
|
+
pointArray.forEach(function (pointElement) {
|
|
2015
|
+
if (pointElement[0] == 0) cnt++;
|
|
2016
|
+
});
|
|
2017
|
+
if (cnt == 4 || cnt == 3) {
|
|
2018
|
+
pointArray[0][0] = 100;
|
|
2019
|
+
pointArray[1][0] = 100;
|
|
2020
|
+
}
|
|
2021
|
+
actions.itemsActions.storeDistArray(selectedObject.layerID, selectedObject.itemID, pointArray);
|
|
2022
|
+
var minDis = _sceneCreator.fVLine[0].userData.distance;
|
|
2023
|
+
var snapObj = _sceneCreator.fVLine[0];
|
|
2024
|
+
var iPos = item3D.position.clone();
|
|
2025
|
+
var snapDis = Math.sqrt((iPos.x - targetPoint.x) * (iPos.x - targetPoint.x) + (iPos.z - targetPoint.z) * (iPos.z - targetPoint.z));
|
|
2026
|
+
if (snapDis >= 100 && snapObj != null) {
|
|
2027
|
+
removeSnapBox();
|
|
2028
|
+
backsplashVisible = false;
|
|
2029
|
+
}
|
|
2030
|
+
for (var _i12 = 1; _i12 < _sceneCreator.fVLine.length; _i12++) {
|
|
2031
|
+
if (minDis > _sceneCreator.fVLine[_i12].userData.distance) {
|
|
2032
|
+
minDis = _sceneCreator.fVLine[_i12].userData.distance;
|
|
2033
|
+
snapObj = _sceneCreator.fVLine[_i12];
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
if (snapBox == null) {
|
|
2037
|
+
snapFlag = false;
|
|
2038
|
+
}
|
|
2039
|
+
actions.sceneActions.updateMovingState(false);
|
|
2040
|
+
if (minDis < snapDelta && !snapFlag) {
|
|
2041
|
+
_this2.snap(snapObj, layer);
|
|
2042
|
+
snapFlag = true;
|
|
2043
|
+
(0, _sceneCreator.getDistances)(layer, true);
|
|
2044
|
+
var _i13 = 0;
|
|
2045
|
+
for (_i13 = 0; _i13 < _sceneCreator.fVLine.length; _i13++) {
|
|
2046
|
+
if (_sceneCreator.fVLine[_i13].userData.distance < snapDelta) {
|
|
2047
|
+
break;
|
|
2048
|
+
}
|
|
2049
|
+
}
|
|
2050
|
+
if (_i13 === _sceneCreator.fVLine.length) backsplashVisible = false;else backsplashVisible = true;
|
|
2051
|
+
}
|
|
2052
|
+
actions.itemsActions.setBacksplashVisible(selectedObject.itemID, backsplashVisible);
|
|
2053
|
+
};
|
|
1964
2054
|
this.onkeydown = function (event) {
|
|
1965
2055
|
if (_this2.props.keyDownEnable && !(0, _helper.isElevationView)(state.mode)) {
|
|
1966
2056
|
switch (event.keyCode) {
|
|
@@ -2016,6 +2106,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2016
2106
|
this.handleKeyDown = function (event) {
|
|
2017
2107
|
_this2.onkeydown(event);
|
|
2018
2108
|
};
|
|
2109
|
+
this.getSelectedObject = function () {
|
|
2110
|
+
var layerID = _this2.props.state.scene.selectedLayer;
|
|
2111
|
+
var itemID = _this2.props.state.drawingSupport.get('currentID');
|
|
2112
|
+
selectedObject = {
|
|
2113
|
+
layerID: layerID,
|
|
2114
|
+
itemID: itemID
|
|
2115
|
+
};
|
|
2116
|
+
};
|
|
2019
2117
|
|
|
2020
2118
|
// Renderer & Event listener
|
|
2021
2119
|
|
|
@@ -2024,6 +2122,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2024
2122
|
if (!this.props.downloadFlag) {
|
|
2025
2123
|
this.renderer.domElement.addEventListener('mousedown', this.mouseDownEvent);
|
|
2026
2124
|
this.renderer.domElement.addEventListener('mouseup', this.mouseUpEvent);
|
|
2125
|
+
this.renderer.domElement.addEventListener('mouseenter', this.mouseEnterEvent);
|
|
2027
2126
|
this.renderer.domElement.addEventListener('mousemove', this.mouseMoveEvent);
|
|
2028
2127
|
window.addEventListener('keydown', this.onkeydown);
|
|
2029
2128
|
window.SPKeyDown = this.handleKeyDown;
|
|
@@ -2044,7 +2143,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2044
2143
|
setTimeout(function () {
|
|
2045
2144
|
try {
|
|
2046
2145
|
currentObject = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2047
|
-
if (
|
|
2146
|
+
if ((0, _util.isUndefined)(currentObject)) return;
|
|
2048
2147
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
2049
2148
|
var itemPos = currentObject.position.clone();
|
|
2050
2149
|
toolObj.position.set(planData.plan.position.x + itemPos.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : planData.plan.position.y + currentObject.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
@@ -2164,9 +2263,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2164
2263
|
function render() {
|
|
2165
2264
|
var delta = clock.getDelta(); // Get time delta for smooth updates
|
|
2166
2265
|
if (!(0, _helper.isElevationView)(state.mode)) cameraControls.update(delta);
|
|
2167
|
-
for (var
|
|
2168
|
-
lights[
|
|
2169
|
-
lights[
|
|
2266
|
+
for (var _i14 = 0; _i14 < lights.length; _i14++) {
|
|
2267
|
+
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);
|
|
2268
|
+
lights[_i14].target.position.set(planData.plan.position.x + lights[_i14].x, planData.plan.position.y, planData.plan.position.z - lights[_i14].y);
|
|
2170
2269
|
}
|
|
2171
2270
|
camera.updateMatrix();
|
|
2172
2271
|
camera.updateMatrixWorld();
|