kitchen-simulator 11.0.0-react.18 → 11.1.0
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/es/AppContext.js +1 -4
- package/es/LiteKitchenConfigurator.js +67 -23
- package/es/LiteRenderer.js +15 -64
- package/es/actions/export.js +25 -12
- package/es/actions/items-actions.js +18 -2
- package/es/analytics/ga4.js +188 -0
- package/es/analytics/posthog.js +60 -0
- package/es/assets/Window.hdr +2100 -0
- package/es/assets/img/default/maple.jpg +0 -0
- package/es/assets/img/default/steel.jpg +0 -0
- package/es/assets/img/loading/loading.gif +0 -0
- package/es/catalog/cabinet/cabinet-assembly-order.js +36 -0
- package/es/catalog/catalog.js +0 -2
- package/es/catalog/factories/area-factory-3d.js +1 -5
- package/es/catalog/factories/wall-factory.js +1 -1
- package/es/catalog/holes/door-double/door_double.png +0 -0
- package/es/catalog/holes/door-panic/panicDoor.png +0 -0
- package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/es/catalog/holes/gate/gate.jpg +0 -0
- package/es/catalog/holes/window-clear/texture.png +0 -0
- package/es/catalog/holes/window-cross/texture.png +0 -0
- package/es/catalog/holes/window-double-hung/texture.png +0 -0
- package/es/catalog/holes/window-vertical/texture.png +0 -0
- package/es/catalog/utils/exporter.js +4 -0
- package/es/catalog/utils/item-loader.js +12 -25
- package/es/class/area.js +0 -1
- package/es/class/export.js +1 -3
- package/es/class/item.js +211 -89
- package/es/class/line.js +1 -3
- package/es/class/project.js +15 -19
- package/es/components/content.js +20 -6
- package/es/components/export.js +3 -5
- package/es/components/style/export.js +2 -28
- package/es/components/style/form-number-input.js +34 -43
- package/es/components/viewer2d/group.js +12 -7
- package/es/components/viewer2d/item.js +159 -168
- package/es/components/viewer2d/line.js +18 -51
- package/es/components/viewer2d/rulerX.js +3 -0
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +67 -47
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +566 -508
- package/es/components/viewer3d/front3D.js +1 -2
- package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/scene-creator.js +113 -120
- package/es/components/viewer3d/three-memory-cleaner.js +0 -14
- package/es/components/viewer3d/viewer3d-first-person.js +132 -134
- package/es/components/viewer3d/viewer3d.js +40 -28
- package/es/constants/catalog/skinPanel.js +9 -0
- package/es/constants.js +19 -8
- package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +241 -173
- package/es/events/external/handleExternalEvent.js +141 -0
- package/es/events/external/handleExternalEvent.util.js +1099 -0
- package/es/events/external/handlers.addItem.js +47 -0
- package/es/events/external/handlers.changeDoorStyle.js +140 -0
- package/es/events/external/handlers.elementOps.js +8 -0
- package/es/events/external/handlers.finishing.js +26 -0
- package/es/events/external/handlers.hole.js +4 -0
- package/es/events/external/handlers.loadProject.js +128 -0
- package/es/events/external/handlers.molding.js +24 -0
- package/es/events/external/handlers.projectLifecycle.js +11 -0
- package/es/events/external/handlers.projectSettings.js +32 -0
- package/es/events/external/handlers.replaceCabinet.js +41 -0
- package/es/events/external/handlers.roomShape.js +8 -0
- package/es/events/external/handlers.syncScene.js +21 -0
- package/es/events/external/handlers.updateSelectedElements.js +11 -0
- package/es/events/external/handlers.viewMode.js +11 -0
- package/es/events/external/handlers.viewerNavigation.js +108 -0
- package/es/events/external/handlers.wall.js +7 -0
- package/es/index.js +36 -76
- package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
- package/es/mappings/external-events/mappers/addItemMapper.js +97 -0
- package/es/mappings/external-events/mappers/ccdfMapper.js +100 -0
- package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +49 -0
- package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
- package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
- package/es/mappings/holesToCatalog.js +139 -0
- package/es/models.js +16 -1
- package/es/plugins/keyboard.js +1 -1
- package/es/reducers/export.js +2 -4
- package/es/reducers/items-reducer.js +4 -2
- package/es/reducers/project-reducer.js +1 -1
- package/es/reducers/reducer.js +2 -3
- package/es/reducers/viewer2d-reducer.js +0 -2
- package/es/shared/domain/cabinet-warning.js +15 -0
- package/es/shared/objects/immutable.js +3 -0
- package/es/utils/geometry.js +418 -95
- package/es/utils/helper.js +41 -35
- package/es/utils/history.js +2 -2
- package/es/utils/molding.js +12 -241
- package/es/utils/name-generator.js +0 -3
- package/es/utils/skinPanelEngine.js +522 -0
- package/lib/@history.js +11 -0
- package/lib/AppContext.js +11 -0
- package/lib/LiteKitchenConfigurator.js +527 -0
- package/lib/LiteRenderer.js +323 -0
- package/lib/actions/area-actions.js +21 -0
- package/lib/actions/export.js +36 -0
- package/lib/actions/groups-actions.js +107 -0
- package/lib/actions/holes-actions.js +140 -0
- package/lib/actions/items-actions.js +383 -0
- package/lib/actions/lines-actions.js +98 -0
- package/lib/actions/project-actions.js +351 -0
- package/lib/actions/scene-actions.js +43 -0
- package/lib/actions/vertices-actions.js +35 -0
- package/lib/actions/viewer2d-actions.js +73 -0
- package/lib/actions/viewer3d-actions.js +32 -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.gltf +1 -0
- package/lib/assets/gltf/door_exterior.gltf +1 -0
- package/lib/assets/gltf/door_interior.gltf +1 -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/TKC_thumbnail.png +0 -0
- package/lib/assets/img/Toggle.png +0 -0
- package/lib/assets/img/default/maple.jpg +0 -0
- package/lib/assets/img/default/steel.jpg +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/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 +13 -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/Cream.svg +3 -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/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 +53 -0
- 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/cabinet/cabinet-assembly-order.js +42 -0
- package/lib/catalog/catalog.js +270 -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/factories/area-factory-3d.js +187 -0
- package/lib/catalog/factories/area-factory.js +88 -0
- package/lib/catalog/factories/export.js +25 -0
- package/lib/catalog/factories/wall-factory-3d.js +212 -0
- package/lib/catalog/factories/wall-factory.js +279 -0
- package/lib/catalog/holes/door-closet/planner-element.js +232 -0
- package/lib/catalog/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-double/planner-element.js +325 -0
- package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
- package/lib/catalog/holes/door-interior/planner-element.js +237 -0
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic/planner-element.js +513 -0
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
- package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
- package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
- package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
- package/lib/catalog/holes/export.js +97 -0
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/planner-element.js +176 -0
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/planner-element.js +175 -0
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/lines/wall/planner-element.js +87 -0
- package/lib/catalog/lines/wall/textures/bricks-normal.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/morden-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden.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 +33 -0
- package/lib/catalog/molding/molding-dcm/texture.png +0 -0
- package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-fbm/texture.png +0 -0
- package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-lrm/texture.png +0 -0
- package/lib/catalog/utils/exporter.js +173 -0
- package/lib/catalog/utils/geom-utils.js +205 -0
- package/lib/catalog/utils/item-loader.js +1603 -0
- package/lib/catalog/utils/load-obj.js +99 -0
- package/lib/catalog/utils/mtl-loader.js +366 -0
- package/lib/catalog/utils/obj-loader.js +486 -0
- package/lib/catalog/windows.png +0 -0
- package/lib/class/area.js +147 -0
- package/lib/class/export.js +88 -0
- package/lib/class/group.js +438 -0
- package/lib/class/guide.js +64 -0
- package/lib/class/hole.js +930 -0
- package/lib/class/item.js +2013 -0
- package/lib/class/layer.js +670 -0
- package/lib/class/line.js +1236 -0
- package/lib/class/project.js +949 -0
- package/lib/class/vertex.js +205 -0
- package/lib/components/content.js +160 -0
- package/lib/components/export.js +7 -0
- package/lib/components/style/export.js +17 -0
- package/lib/components/style/form-number-input.js +192 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/viewer2d/area.js +89 -0
- package/lib/components/viewer2d/export.js +121 -0
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
- package/lib/components/viewer2d/grids/grid-streak.js +44 -0
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
- package/lib/components/viewer2d/grids/grids.js +40 -0
- package/lib/components/viewer2d/group.js +63 -0
- package/lib/components/viewer2d/item.js +244 -0
- package/lib/components/viewer2d/layer.js +172 -0
- package/lib/components/viewer2d/line.js +975 -0
- package/lib/components/viewer2d/ruler.js +92 -0
- package/lib/components/viewer2d/rulerDist.js +110 -0
- package/lib/components/viewer2d/rulerX.js +154 -0
- package/lib/components/viewer2d/rulerY.js +156 -0
- package/lib/components/viewer2d/scene.js +137 -0
- package/lib/components/viewer2d/snap.js +84 -0
- package/lib/components/viewer2d/state.js +83 -0
- package/lib/components/viewer2d/utils.js +200 -0
- package/lib/components/viewer2d/vertex.js +76 -0
- package/lib/components/viewer2d/viewer2d.js +1472 -0
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
- package/lib/components/viewer3d/dcm.js +408 -0
- package/lib/components/viewer3d/fbm.js +421 -0
- package/lib/components/viewer3d/front3D.js +71 -0
- package/lib/components/viewer3d/grid-creator.js +35 -0
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
- package/lib/components/viewer3d/grids/grid-streak.js +36 -0
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
- package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
- package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
- package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
- package/lib/components/viewer3d/libs/obj-loader.js +471 -0
- package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
- package/lib/components/viewer3d/lrm.js +312 -0
- package/lib/components/viewer3d/model.js +714 -0
- package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
- package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
- package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
- package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
- package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
- package/lib/components/viewer3d/scene-creator.js +3850 -0
- package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
- package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
- package/lib/components/viewer3d/viewer3d.js +2673 -0
- package/lib/constants/catalog/skinPanel.js +15 -0
- package/lib/constants.js +791 -0
- package/lib/devLiteRenderer.js +917 -0
- package/lib/events/external/handleExternalEvent.js +148 -0
- package/lib/events/external/handleExternalEvent.util.js +1110 -0
- package/lib/events/external/handlers.addItem.js +54 -0
- package/lib/events/external/handlers.changeDoorStyle.js +147 -0
- package/lib/events/external/handlers.elementOps.js +15 -0
- package/lib/events/external/handlers.finishing.js +32 -0
- package/lib/events/external/handlers.hole.js +10 -0
- package/lib/events/external/handlers.loadProject.js +135 -0
- package/lib/events/external/handlers.molding.js +31 -0
- package/lib/events/external/handlers.projectLifecycle.js +19 -0
- package/lib/events/external/handlers.projectSettings.js +38 -0
- package/lib/events/external/handlers.replaceCabinet.js +48 -0
- package/lib/events/external/handlers.roomShape.js +14 -0
- package/lib/events/external/handlers.syncScene.js +27 -0
- package/lib/events/external/handlers.updateSelectedElements.js +17 -0
- package/lib/events/external/handlers.viewMode.js +19 -0
- package/lib/events/external/handlers.viewerNavigation.js +117 -0
- package/lib/events/external/handlers.wall.js +13 -0
- package/lib/index.js +637 -0
- package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
- package/lib/mappings/external-events/mappers/addItemMapper.js +103 -0
- package/lib/mappings/external-events/mappers/ccdfMapper.js +107 -0
- package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +55 -0
- package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
- package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
- package/lib/mappings/holesToCatalog.js +148 -0
- package/lib/models.js +534 -0
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/areas-reducer.js +19 -0
- package/lib/reducers/export.js +89 -0
- package/lib/reducers/groups-reducer.js +45 -0
- package/lib/reducers/holes-reducer.js +69 -0
- package/lib/reducers/items-reducer.js +152 -0
- package/lib/reducers/lines-reducer.js +52 -0
- package/lib/reducers/project-reducer.js +143 -0
- package/lib/reducers/reducer.js +25 -0
- package/lib/reducers/scene-reducer.js +35 -0
- package/lib/reducers/vertices-reducer.js +26 -0
- package/lib/reducers/viewer2d-reducer.js +84 -0
- package/lib/reducers/viewer3d-reducer.js +65 -0
- package/lib/shared/domain/cabinet-warning.js +20 -0
- package/lib/shared/objects/immutable.js +9 -0
- package/lib/shared-style.js +72 -0
- package/lib/translator/en.js +111 -0
- package/lib/translator/it.js +86 -0
- package/lib/translator/ru.js +86 -0
- package/lib/translator/translator.js +87 -0
- package/lib/utils/browser.js +40 -0
- package/lib/utils/convert-units-lite.js +44 -0
- package/lib/utils/email-validator.js +10 -0
- package/lib/utils/export.js +56 -0
- package/lib/utils/geometry.js +3230 -0
- package/lib/utils/get-edges-of-subgraphs.js +33 -0
- package/lib/utils/graph-cycles.js +239 -0
- package/lib/utils/graph-inner-cycles.js +54 -0
- package/lib/utils/graph.js +153 -0
- package/lib/utils/helper.js +480 -0
- package/lib/utils/history.js +48 -0
- package/lib/utils/id-broker.js +22 -0
- package/lib/utils/logger.js +14 -0
- package/lib/utils/math.js +57 -0
- package/lib/utils/molding.js +1146 -0
- package/lib/utils/name-generator.js +21 -0
- package/lib/utils/objects-utils.js +62 -0
- package/lib/utils/phone-validator.js +10 -0
- package/lib/utils/process-black-list.js +22 -0
- package/lib/utils/react-if.js +25 -0
- package/lib/utils/ruler.js +63 -0
- package/lib/utils/skinPanelEngine.js +530 -0
- package/lib/utils/snap-scene.js +101 -0
- package/lib/utils/snap.js +245 -0
- package/lib/utils/summarizeCart.js +30 -0
- package/lib/utils/threeCSG.es6.js +504 -0
- package/lib/version.js +7 -0
- package/package.json +29 -24
- package/es/WorkSpace.js +0 -30
- package/es/WorkSpaceHostMimic.js +0 -132
- package/es/assets/gltf/door_closet.bin +0 -0
- package/es/assets/gltf/door_closet.fbx +0 -0
- package/es/assets/gltf/door_exterior.bin +0 -0
- package/es/assets/gltf/door_exterior.fbx +0 -0
- package/es/assets/gltf/door_interior.bin +0 -0
- package/es/assets/gltf/door_interior.fbx +0 -0
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/gltf/door_sliding.fbx +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/svg/color/Brown.svg +0 -9
- package/es/assets/img/svg/color/Dark.svg +0 -9
- package/es/assets/img/svg/color/Light.svg +0 -9
- package/es/assets/img/svg/color/Medium.svg +0 -9
- package/es/assets/img/svg/color/Unfinished.svg +0 -9
- package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
- package/es/catalog/properties/export.js +0 -21
- package/es/catalog/properties/property-checkbox.js +0 -68
- package/es/catalog/properties/property-color.js +0 -39
- package/es/catalog/properties/property-enum.js +0 -50
- package/es/catalog/properties/property-hidden.js +0 -19
- package/es/catalog/properties/property-lenght-measure.js +0 -96
- package/es/catalog/properties/property-length-measure.js +0 -80
- package/es/catalog/properties/property-length-measure_hole.js +0 -96
- package/es/catalog/properties/property-number.js +0 -48
- package/es/catalog/properties/property-read-only.js +0 -26
- package/es/catalog/properties/property-string.js +0 -48
- package/es/catalog/properties/property-toggle.js +0 -39
- package/es/catalog/properties/shared-property-style.js +0 -14
- package/es/catalog/utils/FuseUtils.js +0 -79
- package/es/class/FuseUtils.js +0 -79
- package/es/components/style/button.js +0 -106
- package/es/components/style/cancel-button.js +0 -21
- package/es/components/style/content-container.js +0 -30
- package/es/components/style/content-title.js +0 -25
- package/es/components/style/delete-button.js +0 -24
- package/es/components/style/form-block.js +0 -20
- package/es/components/style/form-color-input.js +0 -26
- package/es/components/style/form-label.js +0 -22
- package/es/components/style/form-number-input_2.js +0 -238
- package/es/components/style/form-select.js +0 -19
- package/es/components/style/form-slider.js +0 -60
- package/es/components/style/form-text-input.js +0 -69
- package/es/index.html.ejs +0 -264
- package/es/reducers/user-reducer.js +0 -41
- package/es/utils/isolate-event-handler.js +0 -1622
- /package/{es/catalog/lines/wall/textures/bricks-normal2.jpg → lib/catalog/lines/wall/textures/painted-normal.jpg} +0 -0
|
@@ -4,7 +4,7 @@ import Viewer3D from "./viewer3d";
|
|
|
4
4
|
import State3D from "./ruler-utils/state3D";
|
|
5
5
|
import { isEmpty } from "../viewer2d/utils";
|
|
6
6
|
var k = 0;
|
|
7
|
-
export default function Front3D(_ref
|
|
7
|
+
export default function Front3D(_ref) {
|
|
8
8
|
var width = _ref.width,
|
|
9
9
|
height = _ref.height,
|
|
10
10
|
state = _ref.state,
|
|
@@ -12,7 +12,6 @@ export default function Front3D(_ref, _ref2) {
|
|
|
12
12
|
replaceCabinet = _ref.replaceCabinet,
|
|
13
13
|
keyDownEnable = _ref.keyDownEnable,
|
|
14
14
|
catalog = _ref.catalog;
|
|
15
|
-
var viewer2DActions = _ref2.viewer2DActions;
|
|
16
15
|
var _useState = useState(''),
|
|
17
16
|
_useState2 = _slicedToArray(_useState, 2),
|
|
18
17
|
mode = _useState2[0],
|
|
@@ -22,94 +22,4 @@ export function initPointerLock(camera, rendererElement) {
|
|
|
22
22
|
pointerlockChangeEvent: pointerlockchange,
|
|
23
23
|
requestPointerLockEvent: requestPointerLockEvent
|
|
24
24
|
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/* Funzione per il calcolo delle collisioni con gli oggetti contenuti all'interno di un array.
|
|
28
|
-
* L'idea è quella di utilizzare il ray casting. Per tenere conto del fatto che ci possiamo
|
|
29
|
-
* muovere nelle quattro direzioni, applico una matrice di rotazione alla direzione verso la
|
|
30
|
-
* quale l'oggetto del pointer lock è orientato. */
|
|
31
|
-
|
|
32
|
-
function collision(controls, collisionArray) {
|
|
33
|
-
var rotationMatrix;
|
|
34
|
-
var cameraDirection = controls.getDirection(new THREE.Vector3(0, 0, 0)).clone();
|
|
35
|
-
if (controls.moveForward()) {
|
|
36
|
-
// Nothing to do!
|
|
37
|
-
} else if (controls.moveBackward()) {
|
|
38
|
-
rotationMatrix = new THREE.Matrix4();
|
|
39
|
-
rotationMatrix.makeRotationY(180 * Math.PI / 180);
|
|
40
|
-
} else if (controls.moveLeft()) {
|
|
41
|
-
rotationMatrix = new THREE.Matrix4();
|
|
42
|
-
rotationMatrix.makeRotationY(90 * Math.PI / 180);
|
|
43
|
-
} else if (controls.moveRight()) {
|
|
44
|
-
rotationMatrix = new THREE.Matrix4();
|
|
45
|
-
rotationMatrix.makeRotationY((360 - 90) * Math.PI / 180);
|
|
46
|
-
} else return;
|
|
47
|
-
if (rotationMatrix !== undefined) {
|
|
48
|
-
cameraDirection.applyMatrix4(rotationMatrix);
|
|
49
|
-
}
|
|
50
|
-
var rayCaster = new THREE.Raycaster(controls.getObject().position, cameraDirection.normalize());
|
|
51
|
-
var intersects = rayCaster.intersectObjects(collisionArray, true);
|
|
52
|
-
if (intersects.length > 0 && intersects[0].distance < 10) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/* Funzione meno raffinata per il calcolo delle collisioni.
|
|
59
|
-
* In pratica viene definita una bounding geometry (in questo caso la skymap) e poi vengono fatti
|
|
60
|
-
* partire una serie di raggi dall'object del controller fino ai vertici di questa geometria. Se uno di questi interseca
|
|
61
|
-
* uno degli oggetti dei quali vogliamo controllare la collisione, allora la funzione restituirà il valore true */
|
|
62
|
-
/*
|
|
63
|
-
function collision(object, boundingGeometry, collisionArray ) {
|
|
64
|
-
|
|
65
|
-
for (let vertexIndex = 0; vertexIndex < boundingGeometry.geometry.vertices.length; vertexIndex++) {
|
|
66
|
-
let localVertex = boundingGeometry.geometry.vertices[vertexIndex].clone();
|
|
67
|
-
let globalVertex = localVertex.applyMatrix4( object.matrix );
|
|
68
|
-
let directionVector = globalVertex.sub( object.position );
|
|
69
|
-
|
|
70
|
-
let ray = new THREE.Raycaster(object.position, directionVector.clone().normalize());
|
|
71
|
-
let collisionResults = ray.intersectObjects(collisionArray, true);
|
|
72
|
-
if (collisionResults.length > 0 && collisionResults[0].distance < directionVector.length() - 1293) {
|
|
73
|
-
console.log("collisione: ",collisionResults[0].distance," ",directionVector.length()-1293);
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
*/
|
|
80
|
-
|
|
81
|
-
/* Questa funzione si occupa di determinare se il controllo si trova su un oggetto, in caso negativo cade verso il basso
|
|
82
|
-
* (vedi esempio pointer lock) */
|
|
83
|
-
|
|
84
|
-
function translateY(controls, ray, objects) {
|
|
85
|
-
controls.isOnObject(false);
|
|
86
|
-
ray.ray.origin.copy(controls.getObject().position);
|
|
87
|
-
ray.ray.origin.y -= 10;
|
|
88
|
-
var intersections = ray.intersectObjects(objects, true);
|
|
89
|
-
if (intersections.length > 0) {
|
|
90
|
-
var distance = intersections[0].distance;
|
|
91
|
-
if (distance > 0 && distance < 10) {
|
|
92
|
-
controls.isOnObject(true);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/* Queste funzioni bloccano o sbloccano il movimento del controller (utili in caso di collisione) */
|
|
98
|
-
|
|
99
|
-
function lockDirection(controls) {
|
|
100
|
-
if (controls.moveForward()) {
|
|
101
|
-
controls.lockMoveForward(true);
|
|
102
|
-
} else if (controls.moveBackward()) {
|
|
103
|
-
controls.lockMoveBackward(true);
|
|
104
|
-
} else if (controls.moveLeft()) {
|
|
105
|
-
controls.lockMoveLeft(true);
|
|
106
|
-
} else if (controls.moveRight()) {
|
|
107
|
-
controls.lockMoveRight(true);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function unlockAllDirection(controls) {
|
|
111
|
-
controls.lockMoveForward(false);
|
|
112
|
-
controls.lockMoveBackward(false);
|
|
113
|
-
controls.lockMoveLeft(false);
|
|
114
|
-
controls.lockMoveRight(false);
|
|
115
25
|
}
|
|
@@ -94,8 +94,8 @@ export default function Layer3D(_ref) {
|
|
|
94
94
|
depth: depth,
|
|
95
95
|
altitude: altitude
|
|
96
96
|
};
|
|
97
|
-
val.layoutpos =
|
|
98
|
-
val.is_corner =
|
|
97
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
98
|
+
val.is_corner = item.is_corner;
|
|
99
99
|
val.item = item.toJS();
|
|
100
100
|
var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
|
|
101
101
|
if (isSnapped(calcrect.rect[3], calcrect.rect[2]) || isSnapped(calcrect.rect[2], calcrect.rect[1]) || isSnapped(calcrect.rect[0], calcrect.rect[3])) {
|
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
4
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
5
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
6
3
|
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; }
|
|
7
4
|
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; }
|
|
8
5
|
import * as Three from 'three';
|
|
9
6
|
import { Color, Group } from 'three';
|
|
10
7
|
import createGrid from "./grid-creator";
|
|
11
8
|
import { disposeObject } from "./three-memory-cleaner";
|
|
12
|
-
import { ANIMATE_STEP_MAX, ANIMATE_STEP_MIN, ARRAY_3D_MODES, ARROW_TEXT_BACKCOLOR, ARROW_TEXT_FONTFACE, ARROW_TEXT_FORECOLOR, BASE_CABINET_LAYOUTPOS, BOTTOM_MOLDING_LOCATION, DECIMAL_PLACES_2, DIFFERENT_VALUES_PATH_LENGTH, DISTANCE_EPSILON, EPSILON, MIDDLE_MOLDING_LOCATION, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, TOP_MOLDING_LOCATION, UNIT_CENTIMETER, UNIT_FOOT, UNIT_INCH, UNIT_METER, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
9
|
+
import { ANIMATE_STEP_MAX, ANIMATE_STEP_MIN, ARRAY_3D_MODES, ARROW_TEXT_BACKCOLOR, ARROW_TEXT_FONTFACE, ARROW_TEXT_FORECOLOR, BASE_CABINET_LAYOUTPOS, BOTTOM_MOLDING_LOCATION, DECIMAL_PLACES_2, DIFFERENT_VALUES_PATH_LENGTH, DISTANCE_EPSILON, EPSILON, ITEM_TYPE, MIDDLE_MOLDING_LOCATION, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, TOP_MOLDING_LOCATION, UNIT_CENTIMETER, UNIT_FOOT, UNIT_INCH, UNIT_METER, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
13
10
|
import { GeometryUtils, IDBroker, MoldingUtils } from "../../utils/export";
|
|
14
11
|
import { convert } from "../../utils/convert-units-lite";
|
|
15
|
-
import { calcDistancesFromItemToWalls, getSnappedWallLines, verticesDistance } from "../../utils/geometry";
|
|
12
|
+
import { calcDistancesFromItemToWalls, getLineSnapPointsOfItem, getSnappedWallLines, isOverlappedTwoItemsOnOneLine, pointsDistance, verticesDistance } from "../../utils/geometry";
|
|
16
13
|
import * as GeomUtils from "../../catalog/utils/geom-utils";
|
|
17
14
|
import { loadTexture } from "../../catalog/utils/item-loader";
|
|
15
|
+
import { isWarningCabinet } from "../../shared/domain/cabinet-warning";
|
|
18
16
|
import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
|
|
19
17
|
import { animateDoor, isElevationView, isEmpty, isImmutable, replaceMeshesWithLineSegments, translateDrawer } from "../../utils/helper";
|
|
20
18
|
import { formatNumber } from "../../utils/math";
|
|
21
|
-
|
|
19
|
+
import { toJSIfNeeded } from "../../shared/objects/immutable";
|
|
22
20
|
export var fVLine = [];
|
|
23
21
|
var scene_mode = null;
|
|
24
22
|
export function parseData(sceneData, actions, catalog, camera, renderer, mode) {
|
|
@@ -506,16 +504,14 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
506
504
|
}
|
|
507
505
|
var mBoxColor = 0x99c3fb;
|
|
508
506
|
var _item = item.toJS();
|
|
509
|
-
if (_item
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
item3D.add(mBox);
|
|
518
|
-
}
|
|
507
|
+
if (isWarningCabinet(_item)) {
|
|
508
|
+
mBoxColor = 'rgba(232,187,47,1)';
|
|
509
|
+
var mBox = GeomUtils.makeMBoxfromObject(item3D, mBoxColor);
|
|
510
|
+
var warningObj = createWarningObject();
|
|
511
|
+
warningObj.position.set(0, item.properties.get('height').get('length') / 3, 0);
|
|
512
|
+
if (mBox) {
|
|
513
|
+
mBox.add(warningObj);
|
|
514
|
+
item3D.add(mBox);
|
|
519
515
|
}
|
|
520
516
|
}
|
|
521
517
|
}
|
|
@@ -696,16 +692,14 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
696
692
|
if (item3D) {
|
|
697
693
|
var _mBoxColor = 0x99c3fb;
|
|
698
694
|
var _item2 = item.toJS();
|
|
699
|
-
if (_item2
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
item3D.add(_mBox2);
|
|
708
|
-
}
|
|
695
|
+
if (isWarningCabinet(_item2)) {
|
|
696
|
+
_mBoxColor = 'rgba(232,187,47,1)';
|
|
697
|
+
var _mBox2 = GeomUtils.makeMBoxfromObject(item3D, _mBoxColor);
|
|
698
|
+
var _warningObj = createWarningObject();
|
|
699
|
+
_warningObj.position.set(0, item.properties.get('height').get('length') / 3, 0);
|
|
700
|
+
if (_mBox2) {
|
|
701
|
+
_mBox2.add(_warningObj);
|
|
702
|
+
item3D.add(_mBox2);
|
|
709
703
|
}
|
|
710
704
|
}
|
|
711
705
|
}
|
|
@@ -828,10 +822,8 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
828
822
|
}
|
|
829
823
|
var _mBoxColor2 = 0x99c3fb;
|
|
830
824
|
var _item3 = item.toJS();
|
|
831
|
-
if (_item3
|
|
832
|
-
|
|
833
|
-
_mBoxColor2 = 'rgba(232,187,47,1)';
|
|
834
|
-
}
|
|
825
|
+
if (isWarningCabinet(_item3)) {
|
|
826
|
+
_mBoxColor2 = 'rgba(232,187,47,1)';
|
|
835
827
|
}
|
|
836
828
|
rItem.children[0].children.forEach(function (rItemElement) {
|
|
837
829
|
rItemElement.visible = false;
|
|
@@ -2051,27 +2043,28 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2051
2043
|
if (pivot) {
|
|
2052
2044
|
var mBoxColor = 0x99c3fb;
|
|
2053
2045
|
var _item = item.toJS();
|
|
2054
|
-
if (_item
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
pivot.add(mBox);
|
|
2068
|
-
}
|
|
2046
|
+
if (isWarningCabinet(_item)) {
|
|
2047
|
+
mBoxColor = 'rgba(232,187,47,1)';
|
|
2048
|
+
} else {
|
|
2049
|
+
pivot.children[0].children.forEach(function (pivotElement) {
|
|
2050
|
+
pivotElement.visible = false;
|
|
2051
|
+
});
|
|
2052
|
+
}
|
|
2053
|
+
var mBox = GeomUtils.makeMBoxfromObject(pivot, mBoxColor);
|
|
2054
|
+
var warningObj = createWarningObject();
|
|
2055
|
+
warningObj.position.set(0, item.properties.get('height').get('length') / 3, 0);
|
|
2056
|
+
if (mBox) {
|
|
2057
|
+
mBox.add(warningObj);
|
|
2058
|
+
pivot.add(mBox);
|
|
2069
2059
|
}
|
|
2070
2060
|
}
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2061
|
+
|
|
2062
|
+
// if (item.selected) {
|
|
2063
|
+
// let tranformControl = item3D.children[item3D.children.length - 1];
|
|
2064
|
+
// transformBox =
|
|
2065
|
+
// tranformControl.children[tranformControl.children.length - 1];
|
|
2066
|
+
// }
|
|
2067
|
+
|
|
2075
2068
|
pivot.rotation.y = item.rotation * Math.PI / 180 + Math.PI;
|
|
2076
2069
|
// pivot.rotation.y = item.rotation;
|
|
2077
2070
|
pivot.position.x = item.x;
|
|
@@ -2160,8 +2153,8 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2160
2153
|
height: height,
|
|
2161
2154
|
depth: depth
|
|
2162
2155
|
};
|
|
2163
|
-
val.layoutpos =
|
|
2164
|
-
val.is_corner =
|
|
2156
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
2157
|
+
val.is_corner = item === null || item === void 0 ? void 0 : item.is_corner;
|
|
2165
2158
|
val.item = item;
|
|
2166
2159
|
var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
|
|
2167
2160
|
|
|
@@ -2188,13 +2181,9 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2188
2181
|
});
|
|
2189
2182
|
if (pivot.children.length > 1) {
|
|
2190
2183
|
var _item4 = item.toJS();
|
|
2191
|
-
if (_item4.
|
|
2192
|
-
if (
|
|
2193
|
-
|
|
2194
|
-
return element.itemID === item.itemID;
|
|
2195
|
-
})) {
|
|
2196
|
-
pivot.children.pop();
|
|
2197
|
-
}
|
|
2184
|
+
if (_item4.category === ITEM_TYPE.CABINET) {
|
|
2185
|
+
if (!isWarningCabinet(item)) {
|
|
2186
|
+
pivot.children.pop();
|
|
2198
2187
|
} else {
|
|
2199
2188
|
pivot.children.pop();
|
|
2200
2189
|
}
|
|
@@ -2911,31 +2900,6 @@ export function threedfabs(a) {
|
|
|
2911
2900
|
export function getDistanceBetweenLineSegment(pos1, pos2, pos3, pos4) {
|
|
2912
2901
|
if (pos1.x == pos2.x && pos3.x == pos4.x) return pos3.x - pos1.x;else if (pos1.y == pos2.y && pos3.y == pos4.y) return pos3.y - pos1.y;else return -1;
|
|
2913
2902
|
}
|
|
2914
|
-
|
|
2915
|
-
/**
|
|
2916
|
-
* check to see if an item is suitable for the given doorStyle.
|
|
2917
|
-
* @param _item
|
|
2918
|
-
* @returns true if it's not suitable.
|
|
2919
|
-
*/
|
|
2920
|
-
export function showYelloBox(_item) {
|
|
2921
|
-
var _doorStyle;
|
|
2922
|
-
var doorStyle = _item === null || _item === void 0 ? void 0 : _item.doorStyle;
|
|
2923
|
-
|
|
2924
|
-
// If doorStyle is an Immutable Map, convert to plain JS
|
|
2925
|
-
if (doorStyle && typeof doorStyle.toJS === 'function') {
|
|
2926
|
-
doorStyle = doorStyle.toJS();
|
|
2927
|
-
}
|
|
2928
|
-
var isItemCabinet = (_item === null || _item === void 0 ? void 0 : _item.category) === 'cabinet';
|
|
2929
|
-
var cds = (_doorStyle = doorStyle) === null || _doorStyle === void 0 || (_doorStyle = _doorStyle.doorStyles) === null || _doorStyle === void 0 ? void 0 : _doorStyle.cds;
|
|
2930
|
-
|
|
2931
|
-
// hasItemCDS: item is suitable if its itemID exists in cds
|
|
2932
|
-
var hasItemCDS = isItemCabinet && Array.isArray(cds) ? cds.some(function (element) {
|
|
2933
|
-
return element.itemID === _item.itemID;
|
|
2934
|
-
}) : false;
|
|
2935
|
-
|
|
2936
|
-
// return true if it's a cabinet but not suitable for the current doorStyle
|
|
2937
|
-
return isItemCabinet && !hasItemCDS;
|
|
2938
|
-
}
|
|
2939
2903
|
function isSimilar(a, b) {
|
|
2940
2904
|
if (threedfabs(a - b) <= 0.01) return 1;
|
|
2941
2905
|
return 0;
|
|
@@ -3014,11 +2978,11 @@ export function createBacksplash(item, layer, planData, scene) {
|
|
|
3014
2978
|
var wLines = getSnappedWallLines(item.itemInfo, layer, planData.catalog);
|
|
3015
2979
|
var curLine = wLines.length > 0 ? wLines[0] : null;
|
|
3016
2980
|
|
|
3017
|
-
// Get wall items
|
|
2981
|
+
// Get wall items which snapped to the curLine
|
|
3018
2982
|
|
|
3019
2983
|
var i,
|
|
3020
2984
|
wallItems = [];
|
|
3021
|
-
var allWallItems = GeometryUtils.getAllItemSpecified(scene, planData.catalog, WALL_CABINET_LAYOUTPOS);
|
|
2985
|
+
var allWallItems = GeometryUtils.getAllItemSpecified(scene, planData.catalog, WALL_CABINET_LAYOUTPOS, curLine === null || curLine === void 0 ? void 0 : curLine.lineRect);
|
|
3022
2986
|
for (i = 0; i < allWallItems.others.length; i++) wallItems.push(allWallItems.others[i]);
|
|
3023
2987
|
if (allWallItems.cur) wallItems.push(allWallItems.cur);
|
|
3024
2988
|
|
|
@@ -3038,13 +3002,23 @@ export function createBacksplash(item, layer, planData, scene) {
|
|
|
3038
3002
|
*/
|
|
3039
3003
|
var altItems = [],
|
|
3040
3004
|
flag = false;
|
|
3005
|
+
var D0 = {},
|
|
3006
|
+
D1 = {};
|
|
3041
3007
|
wallItems.map(function (wallItem) {
|
|
3042
3008
|
var _wallItem$itemInfo, _wallItem$itemInfo2;
|
|
3043
3009
|
var altitude = (_wallItem$itemInfo = wallItem.itemInfo) === null || _wallItem$itemInfo === void 0 || (_wallItem$itemInfo = _wallItem$itemInfo.properties) === null || _wallItem$itemInfo === void 0 ? void 0 : _wallItem$itemInfo.get('altitude').get('_length');
|
|
3044
3010
|
var altitudeUnit = ((_wallItem$itemInfo2 = wallItem.itemInfo) === null || _wallItem$itemInfo2 === void 0 || (_wallItem$itemInfo2 = _wallItem$itemInfo2.properties) === null || _wallItem$itemInfo2 === void 0 ? void 0 : _wallItem$itemInfo2.get('altitude').get('_unit')) || 'cm';
|
|
3045
3011
|
if (!isEmpty(altitude) && !isEmpty(altitudeUnit)) {
|
|
3046
3012
|
altitude = convert(altitude).from(altitudeUnit).to('cm');
|
|
3013
|
+
var altPoints = getLineSnapPointsOfItem(layer, curLine, wallItem);
|
|
3014
|
+
if (altPoints.length > 1) {
|
|
3015
|
+
D0 = altPoints[0];
|
|
3016
|
+
D1 = altPoints[1];
|
|
3017
|
+
}
|
|
3047
3018
|
altItems.push({
|
|
3019
|
+
D0: D0,
|
|
3020
|
+
// D0, D1: item's snapped points with line
|
|
3021
|
+
D1: D1,
|
|
3048
3022
|
x: wallItem.pos.x,
|
|
3049
3023
|
width: wallItem.size.width,
|
|
3050
3024
|
altitude: altitude
|
|
@@ -3052,10 +3026,29 @@ export function createBacksplash(item, layer, planData, scene) {
|
|
|
3052
3026
|
}
|
|
3053
3027
|
});
|
|
3054
3028
|
layer.holes.map(function (hole) {
|
|
3055
|
-
var _hole$properties, _hole$properties2;
|
|
3029
|
+
var _hole$properties, _hole$properties2, _layer$lines, _layer$vertices, _line$vertices, _layer$vertices2, _line$vertices2;
|
|
3056
3030
|
var width = (_hole$properties = hole.properties) === null || _hole$properties === void 0 ? void 0 : _hole$properties.getIn(['width', 'length']);
|
|
3057
3031
|
var altitude = (_hole$properties2 = hole.properties) === null || _hole$properties2 === void 0 ? void 0 : _hole$properties2.getIn(['altitude', 'length']);
|
|
3032
|
+
var line = (_layer$lines = layer.lines) === null || _layer$lines === void 0 ? void 0 : _layer$lines.get(curLine === null || curLine === void 0 ? void 0 : curLine.id);
|
|
3033
|
+
var v0 = (_layer$vertices = layer.vertices) === null || _layer$vertices === void 0 ? void 0 : _layer$vertices.get(line === null || line === void 0 || (_line$vertices = line.vertices) === null || _line$vertices === void 0 ? void 0 : _line$vertices.get(0));
|
|
3034
|
+
var v1 = (_layer$vertices2 = layer.vertices) === null || _layer$vertices2 === void 0 ? void 0 : _layer$vertices2.get(line === null || line === void 0 || (_line$vertices2 = line.vertices) === null || _line$vertices2 === void 0 ? void 0 : _line$vertices2.get(1));
|
|
3035
|
+
if (!isEmpty(v0) || !isEmpty(v1)) {
|
|
3036
|
+
var lineLength = pointsDistance(v0.x, v0.y, v1.x, v1.y);
|
|
3037
|
+
var disD0 = lineLength * hole.offset - width / 2;
|
|
3038
|
+
var disD1 = lineLength * hole.offset + width / 2;
|
|
3039
|
+
D0 = {
|
|
3040
|
+
x: v0.x + disD0 * Math.cos(hole.rotRad),
|
|
3041
|
+
y: v0.y + disD0 * Math.sin(hole.rotRad)
|
|
3042
|
+
};
|
|
3043
|
+
D1 = {
|
|
3044
|
+
x: v0.x + disD1 * Math.cos(hole.rotRad),
|
|
3045
|
+
y: v0.y + disD1 * Math.sin(hole.rotRad)
|
|
3046
|
+
};
|
|
3047
|
+
}
|
|
3058
3048
|
if (!isEmpty(width) && !isEmpty(altitude) && hole.line === (curLine === null || curLine === void 0 ? void 0 : curLine.id)) altItems.push({
|
|
3049
|
+
D0: D0,
|
|
3050
|
+
// D0, D1: hole's two points
|
|
3051
|
+
D1: D1,
|
|
3059
3052
|
x: hole.x,
|
|
3060
3053
|
width: width,
|
|
3061
3054
|
altitude: altitude
|
|
@@ -3064,7 +3057,7 @@ export function createBacksplash(item, layer, planData, scene) {
|
|
|
3064
3057
|
if (altItems.length > 0) {
|
|
3065
3058
|
depth = altItems[0].altitude;
|
|
3066
3059
|
altItems.map(function (altItem) {
|
|
3067
|
-
if (
|
|
3060
|
+
if (isOverlappedTwoItemsOnOneLine(layer, curLine, item, altItem)) {
|
|
3068
3061
|
if (depth >= altItem.altitude) {
|
|
3069
3062
|
depth = altItem.altitude;
|
|
3070
3063
|
flag = true;
|
|
@@ -3095,37 +3088,37 @@ export function createBacksplash(item, layer, planData, scene) {
|
|
|
3095
3088
|
|
|
3096
3089
|
// Find mergeable other backsplashes
|
|
3097
3090
|
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3091
|
+
// let info,
|
|
3092
|
+
// wholeWidth,
|
|
3093
|
+
// /** Width factor */ factor,
|
|
3094
|
+
// distance,
|
|
3095
|
+
// halfWidth,
|
|
3096
|
+
// /** To get new center */ centerFactor;
|
|
3097
|
+
|
|
3098
|
+
// for (let back of backsplashes) {
|
|
3099
|
+
// info = back.info;
|
|
3100
|
+
// if (info.height === splashHeight && info.rotY === rotY) {
|
|
3101
|
+
// factor = Math.cos(rotY) || 1;
|
|
3102
|
+
// distance = Math.hypot(posX - info.posX, posZ - info.posZ) / factor;
|
|
3103
|
+
// halfWidth = (info.width + splashWidth) / 2;
|
|
3104
|
+
|
|
3105
|
+
// if (Math.abs(distance - halfWidth) < 1e-2) {
|
|
3106
|
+
// // dispose `back`
|
|
3107
|
+
// if (info.id) {
|
|
3108
|
+
// deleteSpecifiedMeshObjects('backsplash' + info.id);
|
|
3109
|
+
// }
|
|
3110
|
+
|
|
3111
|
+
// // Get center position
|
|
3112
|
+
// wholeWidth = info.width + splashWidth;
|
|
3113
|
+
// centerFactor = info.width / wholeWidth;
|
|
3114
|
+
// posX = posX + centerFactor * (info.posX - posX);
|
|
3115
|
+
// posZ = posZ + centerFactor * (info.posZ - posZ);
|
|
3116
|
+
|
|
3117
|
+
// splashWidth = wholeWidth;
|
|
3118
|
+
// }
|
|
3119
|
+
// }
|
|
3120
|
+
// }
|
|
3114
3121
|
|
|
3115
|
-
// Get center position
|
|
3116
|
-
wholeWidth = info.width + splashWidth;
|
|
3117
|
-
centerFactor = info.width / wholeWidth;
|
|
3118
|
-
posX = posX + centerFactor * (info.posX - posX);
|
|
3119
|
-
posZ = posZ + centerFactor * (info.posZ - posZ);
|
|
3120
|
-
splashWidth = wholeWidth;
|
|
3121
|
-
}
|
|
3122
|
-
}
|
|
3123
|
-
}
|
|
3124
|
-
} catch (err) {
|
|
3125
|
-
_iterator.e(err);
|
|
3126
|
-
} finally {
|
|
3127
|
-
_iterator.f();
|
|
3128
|
-
}
|
|
3129
3122
|
itemToSave.info.posX = posX;
|
|
3130
3123
|
itemToSave.info.posY = posY;
|
|
3131
3124
|
itemToSave.info.posZ = posZ;
|
|
@@ -3174,9 +3167,9 @@ export function createBacksplash(item, layer, planData, scene) {
|
|
|
3174
3167
|
}
|
|
3175
3168
|
itemToSave.info.id = item.itemInfo.id;
|
|
3176
3169
|
deleteSpecifiedMeshObjects('backsplash' + item.itemInfo.id);
|
|
3177
|
-
if (item.rotRad % (Math.PI / 2)
|
|
3170
|
+
if (Math.abs(item.rotRad % (Math.PI / 2)) < EPSILON || Math.abs(item.rotRad % (Math.PI / 2) - Math.PI / 2) < EPSILON) planData.plan.add(backsplash);
|
|
3178
3171
|
backsplash.name = name;
|
|
3179
|
-
backsplash.visible = item.itemInfo.get('backsplashVisible') && backsplashApplied && item.rotRad % (Math.PI / 2)
|
|
3172
|
+
backsplash.visible = item.itemInfo.get('backsplashVisible') && backsplashApplied && Math.abs(item.rotRad % (Math.PI / 2)) < EPSILON || Math.abs(item.rotRad % (Math.PI / 2) - Math.PI / 2) < EPSILON;
|
|
3180
3173
|
|
|
3181
3174
|
// Save to scene graph
|
|
3182
3175
|
|
|
@@ -3445,7 +3438,7 @@ export function addMolding(MGArray, addItem, planData, layer, itemActions, mode)
|
|
|
3445
3438
|
if (addItem.selected && [MODE_DRAGGING_ITEM_3D, MODE_ROTATING_ITEM_3D].includes(mode)) return false;
|
|
3446
3439
|
|
|
3447
3440
|
// If the item is not available for current doorStyle
|
|
3448
|
-
if (
|
|
3441
|
+
if (isWarningCabinet(addItem))
|
|
3449
3442
|
// Do not add molding to that item
|
|
3450
3443
|
return MGArray;
|
|
3451
3444
|
|
|
@@ -2,20 +2,6 @@ import * as Three from 'three';
|
|
|
2
2
|
function disposeGeometry(geometry) {
|
|
3
3
|
geometry.dispose();
|
|
4
4
|
}
|
|
5
|
-
function disposeTexture(texture) {
|
|
6
|
-
if (!texture) {
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
texture.dispose();
|
|
10
|
-
}
|
|
11
|
-
function disposeMultimaterial(material) {
|
|
12
|
-
if (!(material.isMaterial && !Array.isArray(material))) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
material.materials.forEach(function (material) {
|
|
16
|
-
disposeMaterial(material);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
5
|
function disposeMaterial(material) {
|
|
20
6
|
if (!(material instanceof Three.Material)) {
|
|
21
7
|
return;
|