kitchen-simulator 5.0.0-test.3 → 5.0.0-test.4
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/KitchenConfigurator.js +1 -1
- package/es/KitchenConfigurator.js.map +1 -1
- package/package.json +8 -12
- package/src/KitchenConfigurator.jsx +1 -1
- package/lib/@history.js +0 -11
- package/lib/@history.js.map +0 -1
- package/lib/AppContext.js +0 -11
- package/lib/AppContext.js.map +0 -1
- package/lib/KitchenConfigurator.js +0 -1353
- package/lib/KitchenConfigurator.js.map +0 -1
- package/lib/KitchenConfiguratorApp.js +0 -539
- package/lib/KitchenConfiguratorApp.js.map +0 -1
- package/lib/actions/area-actions.js +0 -22
- package/lib/actions/area-actions.js.map +0 -1
- package/lib/actions/export.js +0 -44
- package/lib/actions/export.js.map +0 -1
- package/lib/actions/groups-actions.js +0 -108
- package/lib/actions/groups-actions.js.map +0 -1
- package/lib/actions/holes-actions.js +0 -141
- package/lib/actions/holes-actions.js.map +0 -1
- package/lib/actions/items-actions.js +0 -365
- package/lib/actions/items-actions.js.map +0 -1
- package/lib/actions/lines-actions.js +0 -98
- package/lib/actions/lines-actions.js.map +0 -1
- package/lib/actions/project-actions.js +0 -333
- package/lib/actions/project-actions.js.map +0 -1
- package/lib/actions/scene-actions.js +0 -44
- package/lib/actions/scene-actions.js.map +0 -1
- package/lib/actions/user-actions.js +0 -69
- package/lib/actions/user-actions.js.map +0 -1
- package/lib/actions/vertices-actions.js +0 -36
- package/lib/actions/vertices-actions.js.map +0 -1
- package/lib/actions/viewer2d-actions.js +0 -74
- package/lib/actions/viewer2d-actions.js.map +0 -1
- package/lib/actions/viewer3d-actions.js +0 -33
- package/lib/actions/viewer3d-actions.js.map +0 -1
- package/lib/catalog/areas/area/planner-element.js +0 -47
- package/lib/catalog/areas/area/planner-element.js.map +0 -1
- package/lib/catalog/catalog.js +0 -283
- package/lib/catalog/catalog.js.map +0 -1
- package/lib/catalog/factories/area-factory-3d.js +0 -192
- package/lib/catalog/factories/area-factory-3d.js.map +0 -1
- package/lib/catalog/factories/area-factory.js +0 -90
- package/lib/catalog/factories/area-factory.js.map +0 -1
- package/lib/catalog/factories/export.js +0 -26
- package/lib/catalog/factories/export.js.map +0 -1
- package/lib/catalog/factories/wall-factory-3d.js +0 -213
- package/lib/catalog/factories/wall-factory-3d.js.map +0 -1
- package/lib/catalog/factories/wall-factory.js +0 -279
- package/lib/catalog/factories/wall-factory.js.map +0 -1
- package/lib/catalog/holes/door-closet/planner-element.js +0 -232
- package/lib/catalog/holes/door-closet/planner-element.js.map +0 -1
- package/lib/catalog/holes/door-double/planner-element.js +0 -325
- package/lib/catalog/holes/door-double/planner-element.js.map +0 -1
- package/lib/catalog/holes/door-exterior/planner-element.js +0 -225
- package/lib/catalog/holes/door-exterior/planner-element.js.map +0 -1
- package/lib/catalog/holes/door-interior/planner-element.js +0 -237
- package/lib/catalog/holes/door-interior/planner-element.js.map +0 -1
- package/lib/catalog/holes/door-panic/planner-element.js +0 -513
- package/lib/catalog/holes/door-panic/planner-element.js.map +0 -1
- package/lib/catalog/holes/door-panic-double/planner-element.js +0 -473
- package/lib/catalog/holes/door-panic-double/planner-element.js.map +0 -1
- package/lib/catalog/holes/door-sliding/planner-element.js +0 -235
- package/lib/catalog/holes/door-sliding/planner-element.js.map +0 -1
- package/lib/catalog/holes/doorway-framed/planner-element.js +0 -155
- package/lib/catalog/holes/doorway-framed/planner-element.js.map +0 -1
- package/lib/catalog/holes/doorway-frameless/planner-element.js +0 -114
- package/lib/catalog/holes/doorway-frameless/planner-element.js.map +0 -1
- package/lib/catalog/holes/window-clear/planner-element.js +0 -176
- package/lib/catalog/holes/window-clear/planner-element.js.map +0 -1
- package/lib/catalog/holes/window-cross/planner-element.js +0 -175
- package/lib/catalog/holes/window-cross/planner-element.js.map +0 -1
- package/lib/catalog/holes/window-double-hung/planner-element.js +0 -313
- package/lib/catalog/holes/window-double-hung/planner-element.js.map +0 -1
- package/lib/catalog/holes/window-vertical/planner-element.js +0 -286
- package/lib/catalog/holes/window-vertical/planner-element.js.map +0 -1
- package/lib/catalog/lines/wall/planner-element.js +0 -77
- package/lib/catalog/lines/wall/planner-element.js.map +0 -1
- package/lib/catalog/molding/molding-dcm/planner-element.js +0 -39
- package/lib/catalog/molding/molding-dcm/planner-element.js.map +0 -1
- package/lib/catalog/molding/molding-fbm/planner-element.js +0 -39
- package/lib/catalog/molding/molding-fbm/planner-element.js.map +0 -1
- package/lib/catalog/molding/molding-lrm/planner-element.js +0 -39
- package/lib/catalog/molding/molding-lrm/planner-element.js.map +0 -1
- package/lib/catalog/properties/export.js +0 -82
- package/lib/catalog/properties/export.js.map +0 -1
- package/lib/catalog/properties/property-checkbox.js +0 -79
- package/lib/catalog/properties/property-checkbox.js.map +0 -1
- package/lib/catalog/properties/property-color.js +0 -47
- package/lib/catalog/properties/property-color.js.map +0 -1
- package/lib/catalog/properties/property-enum.js +0 -63
- package/lib/catalog/properties/property-enum.js.map +0 -1
- package/lib/catalog/properties/property-hidden.js +0 -27
- package/lib/catalog/properties/property-hidden.js.map +0 -1
- package/lib/catalog/properties/property-lenght-measure.js +0 -109
- package/lib/catalog/properties/property-lenght-measure.js.map +0 -1
- package/lib/catalog/properties/property-length-measure.js +0 -93
- package/lib/catalog/properties/property-length-measure.js.map +0 -1
- package/lib/catalog/properties/property-length-measure_hole.js +0 -109
- package/lib/catalog/properties/property-length-measure_hole.js.map +0 -1
- package/lib/catalog/properties/property-number.js +0 -56
- package/lib/catalog/properties/property-number.js.map +0 -1
- package/lib/catalog/properties/property-read-only.js +0 -34
- package/lib/catalog/properties/property-read-only.js.map +0 -1
- package/lib/catalog/properties/property-string.js +0 -56
- package/lib/catalog/properties/property-string.js.map +0 -1
- package/lib/catalog/properties/property-toggle.js +0 -47
- package/lib/catalog/properties/property-toggle.js.map +0 -1
- package/lib/catalog/properties/shared-property-style.js +0 -21
- package/lib/catalog/properties/shared-property-style.js.map +0 -1
- package/lib/catalog/utils/FuseUtils.js +0 -89
- package/lib/catalog/utils/FuseUtils.js.map +0 -1
- package/lib/catalog/utils/exporter.js +0 -156
- package/lib/catalog/utils/exporter.js.map +0 -1
- package/lib/catalog/utils/geom-utils.js +0 -206
- package/lib/catalog/utils/geom-utils.js.map +0 -1
- package/lib/catalog/utils/item-loader.js +0 -1534
- package/lib/catalog/utils/item-loader.js.map +0 -1
- package/lib/catalog/utils/load-obj.js +0 -100
- package/lib/catalog/utils/load-obj.js.map +0 -1
- package/lib/catalog/utils/mtl-loader.js +0 -360
- package/lib/catalog/utils/mtl-loader.js.map +0 -1
- package/lib/catalog/utils/obj-loader.js +0 -479
- package/lib/catalog/utils/obj-loader.js.map +0 -1
- package/lib/class/FuseUtils.js +0 -89
- package/lib/class/FuseUtils.js.map +0 -1
- package/lib/class/area.js +0 -151
- package/lib/class/area.js.map +0 -1
- package/lib/class/export.js +0 -97
- package/lib/class/export.js.map +0 -1
- package/lib/class/group.js +0 -446
- package/lib/class/group.js.map +0 -1
- package/lib/class/guide.js +0 -68
- package/lib/class/guide.js.map +0 -1
- package/lib/class/hole.js +0 -935
- package/lib/class/hole.js.map +0 -1
- package/lib/class/item.js +0 -1894
- package/lib/class/item.js.map +0 -1
- package/lib/class/layer.js +0 -673
- package/lib/class/layer.js.map +0 -1
- package/lib/class/line.js +0 -1296
- package/lib/class/line.js.map +0 -1
- package/lib/class/project.js +0 -829
- package/lib/class/project.js.map +0 -1
- package/lib/class/vertex.js +0 -272
- package/lib/class/vertex.js.map +0 -1
- package/lib/components/atoms/Snackbar/index.js +0 -57
- package/lib/components/atoms/Snackbar/index.js.map +0 -1
- package/lib/components/atoms/radio-button/index.js +0 -33
- package/lib/components/atoms/radio-button/index.js.map +0 -1
- package/lib/components/atoms/radio-button/styles.js +0 -12
- package/lib/components/atoms/radio-button/styles.js.map +0 -1
- package/lib/components/button/MainButton.js +0 -98
- package/lib/components/button/MainButton.js.map +0 -1
- package/lib/components/button/ToggleMeasureButton.js +0 -63
- package/lib/components/button/ToggleMeasureButton.js.map +0 -1
- package/lib/components/catalog-view/catalog-breadcrumb.js +0 -61
- package/lib/components/catalog-view/catalog-breadcrumb.js.map +0 -1
- package/lib/components/catalog-view/catalog-item.js +0 -233
- package/lib/components/catalog-view/catalog-item.js.map +0 -1
- package/lib/components/catalog-view/catalog-list.js +0 -189
- package/lib/components/catalog-view/catalog-list.js.map +0 -1
- package/lib/components/catalog-view/catalog-page-item.js +0 -137
- package/lib/components/catalog-view/catalog-page-item.js.map +0 -1
- package/lib/components/catalog-view/catalog-turn-back-page-item.js +0 -113
- package/lib/components/catalog-view/catalog-turn-back-page-item.js.map +0 -1
- package/lib/components/configurator/custom-configurator.js +0 -101
- package/lib/components/configurator/custom-configurator.js.map +0 -1
- package/lib/components/configurator/project-configurator.js +0 -138
- package/lib/components/configurator/project-configurator.js.map +0 -1
- package/lib/components/content.js +0 -132
- package/lib/components/content.js.map +0 -1
- package/lib/components/export.js +0 -90
- package/lib/components/export.js.map +0 -1
- package/lib/components/firstsetting/button/styles.js +0 -34
- package/lib/components/firstsetting/button/styles.js.map +0 -1
- package/lib/components/firstsetting/export.js +0 -16
- package/lib/components/firstsetting/export.js.map +0 -1
- package/lib/components/firstsetting/firstsetting-content-button.js +0 -224
- package/lib/components/firstsetting/firstsetting-content-button.js.map +0 -1
- package/lib/components/firstsetting/firstsetting-toggle-button.js +0 -133
- package/lib/components/firstsetting/firstsetting-toggle-button.js.map +0 -1
- package/lib/components/firstsetting/firstsetting.js +0 -633
- package/lib/components/firstsetting/firstsetting.js.map +0 -1
- package/lib/components/footerbar/button/ControlButton.js +0 -79
- package/lib/components/footerbar/button/ControlButton.js.map +0 -1
- package/lib/components/footerbar/button/DirectionButton.js +0 -76
- package/lib/components/footerbar/button/DirectionButton.js.map +0 -1
- package/lib/components/footerbar/button/DirectionPanSpinButton.js +0 -57
- package/lib/components/footerbar/button/DirectionPanSpinButton.js.map +0 -1
- package/lib/components/footerbar/button/ToggleButton.js +0 -83
- package/lib/components/footerbar/button/ToggleButton.js.map +0 -1
- package/lib/components/footerbar/button/ToggleConvertButton.js +0 -80
- package/lib/components/footerbar/button/ToggleConvertButton.js.map +0 -1
- package/lib/components/footerbar/button/ToggleMeasureButton.js +0 -59
- package/lib/components/footerbar/button/ToggleMeasureButton.js.map +0 -1
- package/lib/components/footerbar/button/styles.js +0 -29
- package/lib/components/footerbar/button/styles.js.map +0 -1
- package/lib/components/footerbar/export.js +0 -16
- package/lib/components/footerbar/export.js.map +0 -1
- package/lib/components/footerbar/footer-content-button.js +0 -224
- package/lib/components/footerbar/footer-content-button.js.map +0 -1
- package/lib/components/footerbar/footer-toggle-button.js +0 -133
- package/lib/components/footerbar/footer-toggle-button.js.map +0 -1
- package/lib/components/footerbar/footerbar.js +0 -808
- package/lib/components/footerbar/footerbar.js.map +0 -1
- package/lib/components/footerbar/styles.js +0 -41
- package/lib/components/footerbar/styles.js.map +0 -1
- package/lib/components/header/button/MenuButton.js +0 -77
- package/lib/components/header/button/MenuButton.js.map +0 -1
- package/lib/components/header/button/SaveButton.js +0 -57
- package/lib/components/header/button/SaveButton.js.map +0 -1
- package/lib/components/header/button/styles.js +0 -68
- package/lib/components/header/button/styles.js.map +0 -1
- package/lib/components/header/export.js +0 -12
- package/lib/components/header/export.js.map +0 -1
- package/lib/components/header/header.js +0 -556
- package/lib/components/header/header.js.map +0 -1
- package/lib/components/header/styles.js +0 -47
- package/lib/components/header/styles.js.map +0 -1
- package/lib/components/login/Login.js +0 -94
- package/lib/components/login/Login.js.map +0 -1
- package/lib/components/login/LoginForm/index.js +0 -140
- package/lib/components/login/LoginForm/index.js.map +0 -1
- package/lib/components/login/Register.js +0 -104
- package/lib/components/login/Register.js.map +0 -1
- package/lib/components/login/RegisterForm/index.js +0 -237
- package/lib/components/login/RegisterForm/index.js.map +0 -1
- package/lib/components/login/jwtService.js +0 -239
- package/lib/components/login/jwtService.js.map +0 -1
- package/lib/components/molecules/slider/index.js +0 -22
- package/lib/components/molecules/slider/index.js.map +0 -1
- package/lib/components/molecules/slider/styles.js +0 -2
- package/lib/components/molecules/slider/styles.js.map +0 -1
- package/lib/components/myprojects/export.js +0 -12
- package/lib/components/myprojects/export.js.map +0 -1
- package/lib/components/myprojects/index.js +0 -453
- package/lib/components/myprojects/index.js.map +0 -1
- package/lib/components/myprojects/styles.js +0 -31
- package/lib/components/myprojects/styles.js.map +0 -1
- package/lib/components/sidebar/custom-accordion.js +0 -45
- package/lib/components/sidebar/custom-accordion.js.map +0 -1
- package/lib/components/sidebar/export.js +0 -50
- package/lib/components/sidebar/export.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js +0 -74
- package/lib/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js +0 -124
- package/lib/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js +0 -135
- package/lib/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js +0 -260
- package/lib/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js +0 -84
- package/lib/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/element-editor.js +0 -884
- package/lib/components/sidebar/panel-element-editor/element-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js +0 -2
- package/lib/components/sidebar/panel-element-editor/multi-elements-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/panel-element-editor.js +0 -56
- package/lib/components/sidebar/panel-element-editor/panel-element-editor.js.map +0 -1
- package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js +0 -125
- package/lib/components/sidebar/panel-element-editor/panel-multi-elements-editor.js.map +0 -1
- package/lib/components/sidebar/panel-group-editor.js +0 -218
- package/lib/components/sidebar/panel-group-editor.js.map +0 -1
- package/lib/components/sidebar/panel-groups.js +0 -274
- package/lib/components/sidebar/panel-groups.js.map +0 -1
- package/lib/components/sidebar/panel-guides.js +0 -192
- package/lib/components/sidebar/panel-guides.js.map +0 -1
- package/lib/components/sidebar/panel-layer-elements.js +0 -258
- package/lib/components/sidebar/panel-layer-elements.js.map +0 -1
- package/lib/components/sidebar/panel-layers.js +0 -347
- package/lib/components/sidebar/panel-layers.js.map +0 -1
- package/lib/components/sidebar/panel.js +0 -110
- package/lib/components/sidebar/panel.js.map +0 -1
- package/lib/components/sidebar/sidebar.js +0 -117
- package/lib/components/sidebar/sidebar.js.map +0 -1
- package/lib/components/sidebar/toolbar-panel.js +0 -171
- package/lib/components/sidebar/toolbar-panel.js.map +0 -1
- package/lib/components/sign/export.js +0 -18
- package/lib/components/sign/export.js.map +0 -1
- package/lib/components/sign/main/index.js +0 -567
- package/lib/components/sign/main/index.js.map +0 -1
- package/lib/components/sign/main/styles.js +0 -27
- package/lib/components/sign/main/styles.js.map +0 -1
- package/lib/components/style/button.js +0 -121
- package/lib/components/style/button.js.map +0 -1
- package/lib/components/style/cancel-button.js +0 -30
- package/lib/components/style/cancel-button.js.map +0 -1
- package/lib/components/style/content-container.js +0 -41
- package/lib/components/style/content-container.js.map +0 -1
- package/lib/components/style/content-title.js +0 -38
- package/lib/components/style/content-title.js.map +0 -1
- package/lib/components/style/delete-button.js +0 -35
- package/lib/components/style/delete-button.js.map +0 -1
- package/lib/components/style/export.js +0 -122
- package/lib/components/style/export.js.map +0 -1
- package/lib/components/style/form-block.js +0 -32
- package/lib/components/style/form-block.js.map +0 -1
- package/lib/components/style/form-color-input.js +0 -35
- package/lib/components/style/form-color-input.js.map +0 -1
- package/lib/components/style/form-label.js +0 -34
- package/lib/components/style/form-label.js.map +0 -1
- package/lib/components/style/form-number-input.js +0 -197
- package/lib/components/style/form-number-input.js.map +0 -1
- package/lib/components/style/form-number-input_2.js +0 -214
- package/lib/components/style/form-number-input_2.js.map +0 -1
- package/lib/components/style/form-select.js +0 -30
- package/lib/components/style/form-select.js.map +0 -1
- package/lib/components/style/form-slider.js +0 -53
- package/lib/components/style/form-slider.js.map +0 -1
- package/lib/components/style/form-submit-button.js +0 -36
- package/lib/components/style/form-submit-button.js.map +0 -1
- package/lib/components/style/form-text-input.js +0 -84
- package/lib/components/style/form-text-input.js.map +0 -1
- package/lib/components/toolbar/button/ControlButton.js +0 -76
- package/lib/components/toolbar/button/ControlButton.js.map +0 -1
- package/lib/components/toolbar/button/DirectionButton.js +0 -57
- package/lib/components/toolbar/button/DirectionButton.js.map +0 -1
- package/lib/components/toolbar/button/RightButton.js +0 -140
- package/lib/components/toolbar/button/RightButton.js.map +0 -1
- package/lib/components/toolbar/button/ToggleButton.js +0 -66
- package/lib/components/toolbar/button/ToggleButton.js.map +0 -1
- package/lib/components/toolbar/button/index.js +0 -94
- package/lib/components/toolbar/button/index.js.map +0 -1
- package/lib/components/toolbar/button/styles.js +0 -21
- package/lib/components/toolbar/button/styles.js.map +0 -1
- package/lib/components/toolbar/components/DoorStyleMenu.js +0 -112
- package/lib/components/toolbar/components/DoorStyleMenu.js.map +0 -1
- package/lib/components/toolbar/components/Pricing.js +0 -110
- package/lib/components/toolbar/components/Pricing.js.map +0 -1
- package/lib/components/toolbar/components/ReviewForQuote.js +0 -485
- package/lib/components/toolbar/components/ReviewForQuote.js.map +0 -1
- package/lib/components/toolbar/export.js +0 -50
- package/lib/components/toolbar/export.js.map +0 -1
- package/lib/components/toolbar/main/Alert.js +0 -132
- package/lib/components/toolbar/main/Alert.js.map +0 -1
- package/lib/components/toolbar/main/TakePictureModal.js +0 -109
- package/lib/components/toolbar/main/TakePictureModal.js.map +0 -1
- package/lib/components/toolbar/main/confirm-popup.js +0 -95
- package/lib/components/toolbar/main/confirm-popup.js.map +0 -1
- package/lib/components/toolbar/main/index.js +0 -4619
- package/lib/components/toolbar/main/index.js.map +0 -1
- package/lib/components/toolbar/main/myComponents.js +0 -125
- package/lib/components/toolbar/main/myComponents.js.map +0 -1
- package/lib/components/toolbar/main/styles.js +0 -73
- package/lib/components/toolbar/main/styles.js.map +0 -1
- package/lib/components/toolbar/plugin-item.js +0 -156
- package/lib/components/toolbar/plugin-item.js.map +0 -1
- package/lib/components/toolbar/popup/appliance/appliance-category/index.js +0 -86
- package/lib/components/toolbar/popup/appliance/appliance-category/index.js.map +0 -1
- package/lib/components/toolbar/popup/appliance/choose-appliance/index.js +0 -85
- package/lib/components/toolbar/popup/appliance/choose-appliance/index.js.map +0 -1
- package/lib/components/toolbar/popup/appliance/index.js +0 -89
- package/lib/components/toolbar/popup/appliance/index.js.map +0 -1
- package/lib/components/toolbar/popup/autosaveprompt/index.js +0 -99
- package/lib/components/toolbar/popup/autosaveprompt/index.js.map +0 -1
- package/lib/components/toolbar/popup/autosaveprompt/styles.js +0 -16
- package/lib/components/toolbar/popup/autosaveprompt/styles.js.map +0 -1
- package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js +0 -86
- package/lib/components/toolbar/popup/cabinet/cabinet-category/index.js.map +0 -1
- package/lib/components/toolbar/popup/cabinet/choose-product/index.js +0 -107
- package/lib/components/toolbar/popup/cabinet/choose-product/index.js.map +0 -1
- package/lib/components/toolbar/popup/cabinet/index.js +0 -91
- package/lib/components/toolbar/popup/cabinet/index.js.map +0 -1
- package/lib/components/toolbar/popup/doorStyle/choose-style/index.js +0 -59
- package/lib/components/toolbar/popup/doorStyle/choose-style/index.js.map +0 -1
- package/lib/components/toolbar/popup/doorStyle/index.js +0 -68
- package/lib/components/toolbar/popup/doorStyle/index.js.map +0 -1
- package/lib/components/toolbar/popup/doorStyle/style-category/index.js +0 -152
- package/lib/components/toolbar/popup/doorStyle/style-category/index.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -9
- package/lib/components/toolbar/popup/downloadsummary/downloadSummaryContext.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js +0 -128
- package/lib/components/toolbar/popup/downloadsummary/downloadSummaryTemp.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/index.js +0 -572
- package/lib/components/toolbar/popup/downloadsummary/index.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js +0 -60
- package/lib/components/toolbar/popup/downloadsummary/show2D/show2DView.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js +0 -200
- package/lib/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js +0 -254
- package/lib/components/toolbar/popup/downloadsummary/show3D/show3DView.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js +0 -1762
- package/lib/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -96
- package/lib/components/toolbar/popup/downloadsummary/showCabinetInfo.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js +0 -125
- package/lib/components/toolbar/popup/downloadsummary/showElevation/showElevationView.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js +0 -1713
- package/lib/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js +0 -184
- package/lib/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/showWarranty.js +0 -115
- package/lib/components/toolbar/popup/downloadsummary/showWarranty.js.map +0 -1
- package/lib/components/toolbar/popup/downloadsummary/styles.js +0 -47
- package/lib/components/toolbar/popup/downloadsummary/styles.js.map +0 -1
- package/lib/components/toolbar/popup/finishingtouch/category/index.js +0 -44
- package/lib/components/toolbar/popup/finishingtouch/category/index.js.map +0 -1
- package/lib/components/toolbar/popup/finishingtouch/index.js +0 -54
- package/lib/components/toolbar/popup/finishingtouch/index.js.map +0 -1
- package/lib/components/toolbar/popup/finishingtouch/material-edit.js +0 -163
- package/lib/components/toolbar/popup/finishingtouch/material-edit.js.map +0 -1
- package/lib/components/toolbar/popup/finishingtouch/product/index.js +0 -65
- package/lib/components/toolbar/popup/finishingtouch/product/index.js.map +0 -1
- package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js +0 -124
- package/lib/components/toolbar/popup/floorplan/choose-floor/confirm-popup.js.map +0 -1
- package/lib/components/toolbar/popup/floorplan/choose-floor/index.js +0 -255
- package/lib/components/toolbar/popup/floorplan/choose-floor/index.js.map +0 -1
- package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -20
- package/lib/components/toolbar/popup/floorplan/choose-floor/styles.js.map +0 -1
- package/lib/components/toolbar/popup/floorplan/floor-category/index.js +0 -99
- package/lib/components/toolbar/popup/floorplan/floor-category/index.js.map +0 -1
- package/lib/components/toolbar/popup/floorplan/index.js +0 -56
- package/lib/components/toolbar/popup/floorplan/index.js.map +0 -1
- package/lib/components/toolbar/popup/index.js +0 -195
- package/lib/components/toolbar/popup/index.js.map +0 -1
- package/lib/components/toolbar/popup/newproject/index.js +0 -75
- package/lib/components/toolbar/popup/newproject/index.js.map +0 -1
- package/lib/components/toolbar/popup/newproject/styles.js +0 -16
- package/lib/components/toolbar/popup/newproject/styles.js.map +0 -1
- package/lib/components/toolbar/popup/product/appliance.js +0 -73
- package/lib/components/toolbar/popup/product/appliance.js.map +0 -1
- package/lib/components/toolbar/popup/product/cabinetproduct.js +0 -33
- package/lib/components/toolbar/popup/product/cabinetproduct.js.map +0 -1
- package/lib/components/toolbar/popup/product/doorstyle.js +0 -59
- package/lib/components/toolbar/popup/product/doorstyle.js.map +0 -1
- package/lib/components/toolbar/popup/product/doorstyleproduct.js +0 -59
- package/lib/components/toolbar/popup/product/doorstyleproduct.js.map +0 -1
- package/lib/components/toolbar/popup/product/floor.js +0 -59
- package/lib/components/toolbar/popup/product/floor.js.map +0 -1
- package/lib/components/toolbar/popup/product/floorproduct.js +0 -68
- package/lib/components/toolbar/popup/product/floorproduct.js.map +0 -1
- package/lib/components/toolbar/popup/product/index.js +0 -59
- package/lib/components/toolbar/popup/product/index.js.map +0 -1
- package/lib/components/toolbar/popup/product/primary.js +0 -71
- package/lib/components/toolbar/popup/product/primary.js.map +0 -1
- package/lib/components/toolbar/popup/product/productline.js +0 -128
- package/lib/components/toolbar/popup/product/productline.js.map +0 -1
- package/lib/components/toolbar/popup/product/reviewItem.js +0 -346
- package/lib/components/toolbar/popup/product/reviewItem.js.map +0 -1
- package/lib/components/toolbar/popup/product/reviewMolding.js +0 -291
- package/lib/components/toolbar/popup/product/reviewMolding.js.map +0 -1
- package/lib/components/toolbar/popup/product/styles.js +0 -79
- package/lib/components/toolbar/popup/product/styles.js.map +0 -1
- package/lib/components/toolbar/popup/savedesign/FullPictureForm.js +0 -169
- package/lib/components/toolbar/popup/savedesign/FullPictureForm.js.map +0 -1
- package/lib/components/toolbar/popup/savedesign/index.js +0 -516
- package/lib/components/toolbar/popup/savedesign/index.js.map +0 -1
- package/lib/components/toolbar/popup/savedesign/styles.js +0 -26
- package/lib/components/toolbar/popup/savedesign/styles.js.map +0 -1
- package/lib/components/toolbar/popup/setDoorStyleOption/index.js +0 -64
- package/lib/components/toolbar/popup/setDoorStyleOption/index.js.map +0 -1
- package/lib/components/toolbar/popup/styles.js +0 -104
- package/lib/components/toolbar/popup/styles.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js +0 -166
- package/lib/components/toolbar/popup/submitforquote/AddToCartOptions.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js +0 -93
- package/lib/components/toolbar/popup/submitforquote/CustomerRequestsForm.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js +0 -45
- package/lib/components/toolbar/popup/submitforquote/SkipDesignerReview.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/StepDots.js +0 -40
- package/lib/components/toolbar/popup/submitforquote/StepDots.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/cart-choice.js +0 -141
- package/lib/components/toolbar/popup/submitforquote/cart-choice.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -50
- package/lib/components/toolbar/popup/submitforquote/doorstyle-menus.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/index.js +0 -698
- package/lib/components/toolbar/popup/submitforquote/index.js.map +0 -1
- package/lib/components/toolbar/popup/submitforquote/styles.js +0 -38
- package/lib/components/toolbar/popup/submitforquote/styles.js.map +0 -1
- package/lib/components/toolbar/popup/submitprompt/index.js +0 -79
- package/lib/components/toolbar/popup/submitprompt/index.js.map +0 -1
- package/lib/components/toolbar/popup/submitprompt/styles.js +0 -16
- package/lib/components/toolbar/popup/submitprompt/styles.js.map +0 -1
- package/lib/components/toolbar/toolbar-button.js +0 -111
- package/lib/components/toolbar/toolbar-button.js.map +0 -1
- package/lib/components/toolbar/toolbar-load-button.js +0 -36
- package/lib/components/toolbar/toolbar-load-button.js.map +0 -1
- package/lib/components/toolbar/toolbar-save-button.js +0 -34
- package/lib/components/toolbar/toolbar-save-button.js.map +0 -1
- package/lib/components/tutorial-view/Modal.js +0 -503
- package/lib/components/tutorial-view/Modal.js.map +0 -1
- package/lib/components/tutorial-view/styles.js +0 -13
- package/lib/components/tutorial-view/styles.js.map +0 -1
- package/lib/components/viewer2d/area.js +0 -90
- package/lib/components/viewer2d/area.js.map +0 -1
- package/lib/components/viewer2d/export.js +0 -122
- package/lib/components/viewer2d/export.js.map +0 -1
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -45
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js.map +0 -1
- package/lib/components/viewer2d/grids/grid-streak.js +0 -45
- package/lib/components/viewer2d/grids/grid-streak.js.map +0 -1
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -45
- package/lib/components/viewer2d/grids/grid-vertical-streak.js.map +0 -1
- package/lib/components/viewer2d/grids/grids.js +0 -45
- package/lib/components/viewer2d/grids/grids.js.map +0 -1
- package/lib/components/viewer2d/group.js +0 -63
- package/lib/components/viewer2d/group.js.map +0 -1
- package/lib/components/viewer2d/item.js +0 -522
- package/lib/components/viewer2d/item.js.map +0 -1
- package/lib/components/viewer2d/layer.js +0 -172
- package/lib/components/viewer2d/layer.js.map +0 -1
- package/lib/components/viewer2d/line.js +0 -899
- package/lib/components/viewer2d/line.js.map +0 -1
- package/lib/components/viewer2d/ruler.js +0 -108
- package/lib/components/viewer2d/ruler.js.map +0 -1
- package/lib/components/viewer2d/rulerDist.js +0 -154
- package/lib/components/viewer2d/rulerDist.js.map +0 -1
- package/lib/components/viewer2d/rulerX.js +0 -159
- package/lib/components/viewer2d/rulerX.js.map +0 -1
- package/lib/components/viewer2d/rulerY.js +0 -161
- package/lib/components/viewer2d/rulerY.js.map +0 -1
- package/lib/components/viewer2d/scene.js +0 -148
- package/lib/components/viewer2d/scene.js.map +0 -1
- package/lib/components/viewer2d/snap.js +0 -84
- package/lib/components/viewer2d/snap.js.map +0 -1
- package/lib/components/viewer2d/state.js +0 -88
- package/lib/components/viewer2d/state.js.map +0 -1
- package/lib/components/viewer2d/utils.js +0 -174
- package/lib/components/viewer2d/utils.js.map +0 -1
- package/lib/components/viewer2d/vertex.js +0 -76
- package/lib/components/viewer2d/vertex.js.map +0 -1
- package/lib/components/viewer2d/viewer2d.js +0 -1409
- package/lib/components/viewer2d/viewer2d.js.map +0 -1
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2598
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js.map +0 -1
- package/lib/components/viewer3d/dcm.js +0 -408
- package/lib/components/viewer3d/dcm.js.map +0 -1
- package/lib/components/viewer3d/fbm.js +0 -421
- package/lib/components/viewer3d/fbm.js.map +0 -1
- package/lib/components/viewer3d/front3D.js +0 -76
- package/lib/components/viewer3d/front3D.js.map +0 -1
- package/lib/components/viewer3d/grid-creator.js +0 -35
- package/lib/components/viewer3d/grid-creator.js.map +0 -1
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -45
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js.map +0 -1
- package/lib/components/viewer3d/grids/grid-streak.js +0 -36
- package/lib/components/viewer3d/grids/grid-streak.js.map +0 -1
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -45
- package/lib/components/viewer3d/grids/grid-vertical-streak.js.map +0 -1
- package/lib/components/viewer3d/libs/first-person-controls.js +0 -75
- package/lib/components/viewer3d/libs/first-person-controls.js.map +0 -1
- package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1288
- package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js.map +0 -1
- package/lib/components/viewer3d/libs/mtl-loader.js +0 -360
- package/lib/components/viewer3d/libs/mtl-loader.js.map +0 -1
- package/lib/components/viewer3d/libs/obj-loader.js +0 -465
- package/lib/components/viewer3d/libs/obj-loader.js.map +0 -1
- package/lib/components/viewer3d/libs/orbit-controls.js +0 -701
- package/lib/components/viewer3d/libs/orbit-controls.js.map +0 -1
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -48
- package/lib/components/viewer3d/libs/pointer-lock-controls.js.map +0 -1
- package/lib/components/viewer3d/lrm.js +0 -312
- package/lib/components/viewer3d/lrm.js.map +0 -1
- package/lib/components/viewer3d/model.js +0 -715
- package/lib/components/viewer3d/model.js.map +0 -1
- package/lib/components/viewer3d/pointer-lock-navigation.js +0 -123
- package/lib/components/viewer3d/pointer-lock-navigation.js.map +0 -1
- package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -69
- package/lib/components/viewer3d/ruler-utils/itemRect.js.map +0 -1
- package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -503
- package/lib/components/viewer3d/ruler-utils/layer3D.js.map +0 -1
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -235
- package/lib/components/viewer3d/ruler-utils/ruler3D.js.map +0 -1
- package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -70
- package/lib/components/viewer3d/ruler-utils/scene3D.js.map +0 -1
- package/lib/components/viewer3d/ruler-utils/state3D.js +0 -26
- package/lib/components/viewer3d/ruler-utils/state3D.js.map +0 -1
- package/lib/components/viewer3d/scene-creator.js +0 -3641
- package/lib/components/viewer3d/scene-creator.js.map +0 -1
- package/lib/components/viewer3d/three-memory-cleaner.js +0 -61
- package/lib/components/viewer3d/three-memory-cleaner.js.map +0 -1
- package/lib/components/viewer3d/viewer3d-first-person.js +0 -321
- package/lib/components/viewer3d/viewer3d-first-person.js.map +0 -1
- package/lib/components/viewer3d/viewer3d.js +0 -2508
- package/lib/components/viewer3d/viewer3d.js.map +0 -1
- package/lib/components/wizardstep/button/styles.js +0 -67
- package/lib/components/wizardstep/button/styles.js.map +0 -1
- package/lib/components/wizardstep/export.js +0 -12
- package/lib/components/wizardstep/export.js.map +0 -1
- package/lib/components/wizardstep/index.js +0 -978
- package/lib/components/wizardstep/index.js.map +0 -1
- package/lib/components/wizardstep/styles.js +0 -68
- package/lib/components/wizardstep/styles.js.map +0 -1
- package/lib/components/wizardstep/wizardstep-content-button.js +0 -224
- package/lib/components/wizardstep/wizardstep-content-button.js.map +0 -1
- package/lib/components/wizardstep/wizardstep-toggle-button.js +0 -133
- package/lib/components/wizardstep/wizardstep-toggle-button.js.map +0 -1
- package/lib/constants.js +0 -646
- package/lib/constants.js.map +0 -1
- package/lib/hooks/useCheckCart.js +0 -60
- package/lib/hooks/useCheckCart.js.map +0 -1
- package/lib/hooks/useGetPricesBySku.js +0 -81
- package/lib/hooks/useGetPricesBySku.js.map +0 -1
- package/lib/hooks/useValidateToken.js +0 -207
- package/lib/hooks/useValidateToken.js.map +0 -1
- package/lib/index.js +0 -102
- package/lib/index.js.map +0 -1
- package/lib/models.js +0 -518
- package/lib/models.js.map +0 -1
- package/lib/plugins/SVGLoader.js +0 -1418
- package/lib/plugins/SVGLoader.js.map +0 -1
- package/lib/plugins/autosave.js +0 -40
- package/lib/plugins/autosave.js.map +0 -1
- package/lib/plugins/console-debugger.js +0 -45
- package/lib/plugins/console-debugger.js.map +0 -1
- package/lib/plugins/export.js +0 -34
- package/lib/plugins/export.js.map +0 -1
- package/lib/plugins/keyboard.js +0 -108
- package/lib/plugins/keyboard.js.map +0 -1
- package/lib/reducers/areas-reducer.js +0 -19
- package/lib/reducers/areas-reducer.js.map +0 -1
- package/lib/reducers/export.js +0 -98
- package/lib/reducers/export.js.map +0 -1
- package/lib/reducers/groups-reducer.js +0 -45
- package/lib/reducers/groups-reducer.js.map +0 -1
- package/lib/reducers/holes-reducer.js +0 -69
- package/lib/reducers/holes-reducer.js.map +0 -1
- package/lib/reducers/items-reducer.js +0 -147
- package/lib/reducers/items-reducer.js.map +0 -1
- package/lib/reducers/lines-reducer.js +0 -52
- package/lib/reducers/lines-reducer.js.map +0 -1
- package/lib/reducers/project-reducer.js +0 -136
- package/lib/reducers/project-reducer.js.map +0 -1
- package/lib/reducers/reducer.js +0 -27
- package/lib/reducers/reducer.js.map +0 -1
- package/lib/reducers/scene-reducer.js +0 -35
- package/lib/reducers/scene-reducer.js.map +0 -1
- package/lib/reducers/user-reducer.js +0 -48
- package/lib/reducers/user-reducer.js.map +0 -1
- package/lib/reducers/vertices-reducer.js +0 -26
- package/lib/reducers/vertices-reducer.js.map +0 -1
- package/lib/reducers/viewer2d-reducer.js +0 -83
- package/lib/reducers/viewer2d-reducer.js.map +0 -1
- package/lib/reducers/viewer3d-reducer.js +0 -64
- package/lib/reducers/viewer3d-reducer.js.map +0 -1
- package/lib/shared-style.js +0 -73
- package/lib/shared-style.js.map +0 -1
- package/lib/styles/export.js +0 -14
- package/lib/styles/export.js.map +0 -1
- package/lib/translator/en.js +0 -111
- package/lib/translator/en.js.map +0 -1
- package/lib/translator/it.js +0 -86
- package/lib/translator/it.js.map +0 -1
- package/lib/translator/ru.js +0 -86
- package/lib/translator/ru.js.map +0 -1
- package/lib/translator/translator.js +0 -91
- package/lib/translator/translator.js.map +0 -1
- package/lib/utils/browser.js +0 -41
- package/lib/utils/browser.js.map +0 -1
- package/lib/utils/email-validator.js +0 -11
- package/lib/utils/email-validator.js.map +0 -1
- package/lib/utils/export.js +0 -57
- package/lib/utils/export.js.map +0 -1
- package/lib/utils/geometry.js +0 -2329
- package/lib/utils/geometry.js.map +0 -1
- package/lib/utils/get-edges-of-subgraphs.js +0 -29
- package/lib/utils/get-edges-of-subgraphs.js.map +0 -1
- package/lib/utils/graph-cycles.js +0 -241
- package/lib/utils/graph-cycles.js.map +0 -1
- package/lib/utils/graph-inner-cycles.js +0 -55
- package/lib/utils/graph-inner-cycles.js.map +0 -1
- package/lib/utils/graph.js +0 -152
- package/lib/utils/graph.js.map +0 -1
- package/lib/utils/helper.js +0 -360
- package/lib/utils/helper.js.map +0 -1
- package/lib/utils/history.js +0 -37
- package/lib/utils/history.js.map +0 -1
- package/lib/utils/id-broker.js +0 -26
- package/lib/utils/id-broker.js.map +0 -1
- package/lib/utils/logger.js +0 -15
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/math.js +0 -58
- package/lib/utils/math.js.map +0 -1
- package/lib/utils/molding.js +0 -864
- package/lib/utils/molding.js.map +0 -1
- package/lib/utils/name-generator.js +0 -24
- package/lib/utils/name-generator.js.map +0 -1
- package/lib/utils/objects-utils.js +0 -61
- package/lib/utils/objects-utils.js.map +0 -1
- package/lib/utils/phone-validator.js +0 -11
- package/lib/utils/phone-validator.js.map +0 -1
- package/lib/utils/process-black-list.js +0 -25
- package/lib/utils/process-black-list.js.map +0 -1
- package/lib/utils/react-if.js +0 -25
- package/lib/utils/react-if.js.map +0 -1
- package/lib/utils/snap-scene.js +0 -106
- package/lib/utils/snap-scene.js.map +0 -1
- package/lib/utils/snap.js +0 -250
- package/lib/utils/snap.js.map +0 -1
- package/lib/utils/threeCSG.es6.js +0 -504
- package/lib/utils/threeCSG.es6.js.map +0 -1
- package/lib/version.js +0 -8
- package/lib/version.js.map +0 -1
package/lib/utils/molding.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"molding.js","names":["_constants","require","Three","_interopRequireWildcard","_convertUnits","_interopRequireDefault","_idBroker","_utils","_export","_helper","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_createForOfIteratorHelper","_n","F","s","done","a","u","next","toString","slice","constructor","name","test","getItemRect","item","x","y","rotRad","rotation","Math","PI","itemWidth","properties","itemWidthUnit","convert","to","itemDepth","itemDepthUnit","mx","cos","my","sin","x0","y0","x3","y3","x1","y1","x2","y2","rect","hasMoldingLayout","molding","layoutpos","types","molding_type","includes","isEnableItemForMolding","layer","selItem","undefined","allLineRects","GeometryUtils","buildRectFromLines","getAllLines","result","isEmpty","category","BASE_CABINET_LAYOUTPOS","isSnappedLine","WALL_CABINET_LAYOUTPOS","TALL_CABINET_LAYOUTPOS","getDelta","selRectPos1","selRectPos2","curRectPos1","curRectPos2","abs","verticesDistance","isItemSnappedItem","curItem","selRect","curRect","flag30","EPSILON","flag21","flag23","flag01","flag03","isItemSnappedGroup","itemGroup","some","sortItemsByDistance","items","sort","b","pointsDistance","isSameMoldingLayoutpos","isItemSameItemByLocation","item1","item2","location","item1Altitude","item1AltitudeUnit","item1Height","item1HeightUnit","item2Altitude","item2AltitudeUnit","item2Height","item2HeightUnit","flag","TOP_MOLDING_LOCATION","sameDistances","MIDDLE_MOLDING_LOCATION","BOTTOM_MOLDING_LOCATION","tryMergeMDItem","id","location_type","getItemGroupFromMolding","selectedItem","getIn","selected","toJS","temp_layer_items","toArray","idx","tryMergeItemWithLocation","getAllMoldingGroups","itemGroups","temp_items","it","MOLDING_LOCATIONS","ig","IDBroker","acquireID","lines","pointGroups","meshes","rot","pos","getLinesOfItem","catalog","outline","element","elements","returnReplaceableDeepSearchType","newWidth","wUnit","newDepth","hUnit","info","outlinePaths","paths","outlineWidth","svgWidth","outlineHeight","svgHeight","outlinePoints","_iterator","_step","path","_iterator2","subPaths","_step2","subPath","concat","getPoints","err","reverse","rotatePointAroundPoint","line","isParallelLines","line1","line2","isParallel","isLinesOverlapped","l1","l2","samePoints","mergeOverlappedLines","line1_idx","line2_idx","idx1","idx2","getLinesFromItems2","moldingGroup","MGlines","MGlinesOtherSnapped","itemsOtherSnapped","itemLines","itemAltitude","itemAltitudeUnit","itemHeight","itemHeightUnit","altitude","height","itLine","ret","srcLine","j","bCheck","destLine","rst","relationshipOfTwoOverlappedLines","OVERLAP_SAME","OVERLAP_INCLUDED","removeLineIds","newLines","_loop","_loop3","OVERLAP_SOME","lineSegs","getTrimmedContourLineSegs","trimmedSegs","v","_ret2","newMGlines","filteredMGlines","_loop2","_i2","mergedResult","getMergedLine","mergedLine","_ret","mergeResult","_loop4","OVERLAP_LINK","linkedLine","otherLines","cnt","returnSegs","bContourSeg","_loop5","tLineSegs","_ret3","console","log","getLinesFromItems","_loop6","temp_MGLines","findIndex","itemLine","curItemLine","MGLine","splice","snapped_other_items","mgroupAltitude","mgroupAltitudeUnit","mgroupHeight","mgroupHeightUnit","mgl","itl","curITL","getMDPoints","newMD","maxX","minX","maxY","minY","cPos","newSize","size","width","depth","MDlines","_loop7","Vector2","lastPoint","res","newPos","firstPoint","z","zUnit","heightUnit","createMonldingGroup","oldMG","newMG"],"sources":["../../src/utils/molding.js"],"sourcesContent":["import {\n BASE_CABINET_LAYOUTPOS,\n BOTTOM_MOLDING_LOCATION,\n EPSILON,\n MIDDLE_MOLDING_LOCATION,\n MOLDING_LOCATIONS,\n OVERLAP_INCLUDED,\n OVERLAP_LINK,\n OVERLAP_SAME,\n OVERLAP_SOME,\n TALL_CABINET_LAYOUTPOS,\n TOP_MOLDING_LOCATION,\n WALL_CABINET_LAYOUTPOS\n} from '../constants';\nimport * as Three from 'three';\nimport convert from 'convert-units';\nimport IDBroker from './id-broker';\nimport { returnReplaceableDeepSearchType } from '../components/viewer2d/utils';\nimport { GeometryUtils } from './export';\nimport { isEmpty } from './helper';\n\nexport function getItemRect(item) {\n let x = item.x;\n let y = item.y;\n let rotRad = (item.rotation / 180) * Math.PI;\n let itemWidth = item.properties.get('width').get('_length');\n let itemWidthUnit = item.properties.get('width').get('_unit') || 'cm';\n itemWidth = convert(itemWidth / 2)\n .from(itemWidthUnit)\n .to('cm');\n let itemDepth = item.properties.get('depth').get('_length');\n let itemDepthUnit = item.properties.get('depth').get('_unit') || 'cm';\n itemDepth = convert(itemDepth / 2)\n .from(itemDepthUnit)\n .to('cm');\n let mx = x - itemWidth * Math.cos(rotRad);\n let my = y - itemWidth * Math.sin(rotRad);\n let x0 = mx + itemDepth * Math.sin(rotRad);\n let y0 = my - itemDepth * Math.cos(rotRad);\n let x3 = mx * 2 - x0;\n let y3 = my * 2 - y0;\n let x1 = x * 2 - x3;\n let y1 = y * 2 - y3;\n let x2 = x * 2 - x0;\n let y2 = y * 2 - y0;\n return {\n rect: [\n { x: x0, y: y0 },\n { x: x1, y: y1 },\n { x: x2, y: y2 },\n { x: x3, y: y3 }\n ]\n };\n}\n\nexport function hasMoldingLayout(molding, layoutpos) {\n const types = molding?.molding_type;\n return (\n (Array.isArray(types) || typeof types === 'string') &&\n types.includes(layoutpos)\n );\n}\n\nexport function isEnableItemForMolding(layer, selItem, molding = null) {\n let allLineRects = GeometryUtils.buildRectFromLines(\n layer,\n GeometryUtils.getAllLines(layer)\n );\n let result =\n !isEmpty(selItem) &&\n selItem.category === 'cabinet' &&\n ((selItem.layoutpos === BASE_CABINET_LAYOUTPOS &&\n !GeometryUtils.isSnappedLine(getItemRect(selItem), allLineRects)) ||\n ((selItem.layoutpos === WALL_CABINET_LAYOUTPOS ||\n selItem.layoutpos === TALL_CABINET_LAYOUTPOS) &&\n GeometryUtils.isSnappedLine(getItemRect(selItem), allLineRects)));\n\n // check this item is enable for any molding\n if (isEmpty(molding)) return result;\n // check this item is enable for specified molding\n else return result && hasMoldingLayout(molding, selItem.layoutpos);\n}\n\n/**\n * Check two line segments are overlap. The direction of the two line segments must be opposite.\n * s1 c2 s2 c1\n * |--------|------|-----------|\n * Decision Formular: L(s1,c1) + L(s2, c2) = L(s1, s2) + L(c1, c2)\n * @param {*} selRectPos1\n * @param {*} selRectPos2\n * @param {*} curRectPos1\n * @param {*} curRectPos2\n * @returns L(s1,c1) + L(s2, c2) - L(s1, s2) - L(c1, c2)\n */\nfunction getDelta(selRectPos1, selRectPos2, curRectPos1, curRectPos2) {\n return (\n // GeometryUtils.verticesDistance(curRectPos1, selRectPos2) +\n // GeometryUtils.verticesDistance(selRectPos1, curRectPos2) -\n // Math.abs(\n // GeometryUtils.verticesDistance(curRectPos2, curRectPos1) -\n // GeometryUtils.verticesDistance(selRectPos1, selRectPos2)\n // )\n Math.abs(\n GeometryUtils.verticesDistance(curRectPos1, selRectPos1) +\n GeometryUtils.verticesDistance(selRectPos2, curRectPos2) -\n GeometryUtils.verticesDistance(curRectPos2, curRectPos1) -\n GeometryUtils.verticesDistance(selRectPos1, selRectPos2)\n )\n );\n}\n\nexport function isItemSnappedItem(selItem, curItem) {\n const selRect = getItemRect(selItem).rect;\n const curRect = getItemRect(curItem).rect;\n const flag30 =\n getDelta(selRect[3], selRect[0], curRect[1], curRect[2]) < EPSILON;\n const flag21 =\n getDelta(selRect[2], selRect[1], curRect[0], curRect[3]) < EPSILON;\n const flag23 =\n getDelta(selRect[2], selRect[3], curRect[2], curRect[3]) < EPSILON;\n const flag01 =\n getDelta(selRect[1], selRect[0], curRect[0], curRect[3]) < EPSILON;\n const flag03 =\n getDelta(selRect[0], selRect[3], curRect[1], curRect[0]) < EPSILON;\n return flag30 || flag21 || flag23 || flag01 || flag03;\n}\n\nexport function isItemSnappedGroup(selItem, itemGroup) {\n return itemGroup.some(curItem => isItemSnappedItem(selItem, curItem));\n}\n\nexport function sortItemsByDistance(items, selItem) {\n items.sort((a, b) => {\n return (\n GeometryUtils.pointsDistance(a.x, a.y, selItem.x, selItem.y) -\n GeometryUtils.pointsDistance(b.x, b.y, selItem.x, selItem.y)\n );\n });\n return items;\n}\n\nexport function isSameMoldingLayoutpos(curItem, item) {\n return (\n (curItem.layoutpos === BASE_CABINET_LAYOUTPOS &&\n curItem.layoutpos === item.layoutpos) ||\n ([WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS].includes(\n curItem.layoutpos\n ) &&\n [WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS].includes(item.layoutpos))\n );\n}\n\nexport function isItemSameItemByLocation(item1, item2, location) {\n let item1Altitude = item1.properties.get('altitude').get('_length');\n let item1AltitudeUnit = item1.properties.get('altitude').get('_unit');\n item1Altitude = convert(item1Altitude).from(item1AltitudeUnit).to('cm');\n let item1Height = item1.properties.get('height').get('_length');\n let item1HeightUnit = item1.properties.get('height').get('_unit');\n item1Height = convert(item1Height).from(item1HeightUnit).to('cm');\n let item2Altitude = item2.properties.get('altitude').get('_length');\n let item2AltitudeUnit = item2.properties.get('altitude').get('_unit');\n item2Altitude = convert(item2Altitude).from(item2AltitudeUnit).to('cm');\n let item2Height = item2.properties.get('height').get('_length');\n let item2HeightUnit = item2.properties.get('height').get('_unit');\n item2Height = convert(item2Height).from(item2HeightUnit).to('cm');\n let flag = false;\n switch (location) {\n case TOP_MOLDING_LOCATION:\n if (\n GeometryUtils.sameDistances(\n item1Altitude + item1Height,\n item2Altitude + item2Height\n )\n )\n flag = true;\n break;\n case MIDDLE_MOLDING_LOCATION:\n if (\n GeometryUtils.sameDistances(\n item1Altitude + item1Height / 2,\n item2Altitude + item2Height / 2\n )\n )\n flag = true;\n break;\n case BOTTOM_MOLDING_LOCATION:\n if (GeometryUtils.sameDistances(item1Altitude, item2Altitude))\n flag = true;\n break;\n }\n return flag;\n}\n\nexport function tryMergeMDItem(layer, selItem, curItem, itemGroup, molding) {\n return (\n isSameMoldingLayoutpos(selItem, curItem) &&\n isEnableItemForMolding(layer, curItem, molding) &&\n isItemSnappedGroup(curItem, itemGroup) &&\n !itemGroup.some(item => item.id === curItem.id) &&\n isItemSameItemByLocation(selItem, curItem, molding.location_type)\n );\n}\n\nexport function getItemGroupFromMolding(layer, curItem, molding) {\n const selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);\n let itemGroup = [curItem];\n let temp_layer_items = layer.items.toArray().filter(item => {\n return (\n item.category === 'cabinet' &&\n item.id !== curItem.id &&\n item.id !== selectedItem?.id\n );\n });\n temp_layer_items = sortItemsByDistance(temp_layer_items, curItem);\n for (let idx = 0; idx < temp_layer_items.length; idx++) {\n if (\n tryMergeMDItem(layer, curItem, temp_layer_items[idx], itemGroup, molding)\n ) {\n itemGroup.push(temp_layer_items[idx]);\n idx = 0;\n }\n }\n return itemGroup;\n}\n\nfunction tryMergeItemWithLocation(curItem, itemGroup, location) {\n return itemGroup.some(item => {\n return (\n isItemSnappedItem(curItem, item) &&\n isItemSameItemByLocation(curItem, item, location)\n );\n });\n}\n\nexport function getAllMoldingGroups(layer, items = null) {\n if (items === null) items = layer.items.toArray();\n let itemGroups = [];\n items.forEach(curItem => {\n // let allLineRects = GeometryUtils.buildRectFromLines(\n // layer,\n // GeometryUtils.getAllLines(layer)\n // );\n // if (\n // (curItem.category === 'cabinet' &&\n // curItem.layoutpos === BASE_CABINET_LAYOUTPOS &&\n // !GeometryUtils.isSnappedLine(getItemRect(curItem), allLineRects)) ||\n // ((curItem.layoutpos === WALL_CABINET_LAYOUTPOS ||\n // curItem.layoutpos === TALL_CABINET_LAYOUTPOS) &&\n // GeometryUtils.isSnappedLine(getItemRect(curItem), allLineRects))\n // ) {\n if (curItem.category === 'cabinet') {\n let temp_items = items.filter(it => {\n return (\n it.category === 'cabinet' &&\n isSameMoldingLayoutpos(curItem, it) &&\n it.id !== curItem.id\n );\n });\n temp_items = sortItemsByDistance(temp_items, curItem);\n MOLDING_LOCATIONS.forEach(location => {\n if (\n !itemGroups.some(\n ig =>\n ig.items.some(it => it.id === curItem.id) &&\n ig.location_type === location\n )\n ) {\n let itemGroup = [curItem];\n for (let idx = 0; idx < temp_items.length; idx++) {\n if (\n tryMergeItemWithLocation(temp_items[idx], itemGroup, location)\n ) {\n itemGroup.push(temp_items[idx]);\n }\n }\n itemGroups.push({\n id: IDBroker.acquireID(),\n items: itemGroup,\n location_type: location,\n molding: null,\n lines: null,\n pointGroups: null,\n meshes: [],\n rot: 0,\n pos: 0\n });\n }\n });\n }\n // }\n });\n return itemGroups;\n}\n\nexport function getLinesOfItem(item, allLineRects, catalog) {\n let lines = [];\n let outline = null;\n let element = catalog.elements[item.get('type')];\n if (!element)\n element =\n catalog.elements[returnReplaceableDeepSearchType(item.get('type'))];\n // get edge lines\n let newWidth = item.properties.get('width').get('_length');\n let wUnit = item.properties.get('width').get('_unit') || 'cm';\n newWidth = convert(newWidth).from(wUnit).to('cm');\n let newDepth = item.properties.get('depth').get('_length');\n let hUnit = item.properties.get('depth').get('_unit') || 'cm';\n newDepth = convert(newDepth).from(hUnit).to('cm');\n if (item) {\n // Get Outline Data of Selected Item\n outline = element.info.outline;\n\n if (outline) {\n // Extract Points from `outline`\n var outlinePaths = outline.paths;\n var outlineWidth = outline.svgWidth;\n var outlineHeight = outline.svgHeight;\n var outlinePoints = []; // Hold Points Of SVG\n for (let path of outlinePaths) {\n for (let subPath of path.subPaths) {\n outlinePoints = outlinePoints.concat(subPath.getPoints());\n }\n }\n outline.reverse && outlinePoints.reverse();\n for (let i = 0; i < outlinePoints.length - 1; i++) {\n lines.push([\n GeometryUtils.rotatePointAroundPoint(\n (outlinePoints[i].x / outlineWidth - 0.5) * newWidth + item.x,\n (outlinePoints[i].y / outlineHeight - 0.5) * newDepth + item.y,\n item.x,\n item.y,\n item.rotation + 90\n ),\n GeometryUtils.rotatePointAroundPoint(\n (outlinePoints[i + 1].x / outlineWidth - 0.5) * newWidth + item.x,\n (outlinePoints[i + 1].y / outlineHeight - 0.5) * newDepth + item.y,\n item.x,\n item.y,\n item.rotation + 90\n ),\n IDBroker.acquireID()\n ]);\n }\n } else {\n let pos = [\n [-1, -1],\n [1, -1],\n [1, 1],\n [-1, 1]\n ];\n for (let i = 0; i < 4; i++) {\n lines.push([\n GeometryUtils.rotatePointAroundPoint(\n (pos[i][0] * newWidth) / 2 + item.x,\n (pos[i][1] * newDepth) / 2 + item.y,\n item.x,\n item.y,\n item.rotation\n ),\n GeometryUtils.rotatePointAroundPoint(\n (pos[(i + 1) % 4][0] * newWidth) / 2 + item.x,\n (pos[(i + 1) % 4][1] * newDepth) / 2 + item.y,\n item.x,\n item.y,\n item.rotation\n ),\n IDBroker.acquireID()\n ]);\n }\n }\n }\n if (item.layoutpos !== BASE_CABINET_LAYOUTPOS) {\n lines = lines.filter(\n line =>\n !GeometryUtils.isSnappedLine(\n { rect: [{ x: 0, y: 0 }, { x: 0, y: 0 }, line[0], line[1]] },\n allLineRects\n )\n );\n }\n return lines;\n}\n\nfunction isParallelLines(line1, line2) {\n let isParallel = false;\n if (\n Math.abs(line1[0].y - line1[1].y) <= EPSILON &&\n Math.abs(line2[0].y - line2[1].y) <= EPSILON\n )\n isParallel = true;\n if (\n Math.abs(line1[0].x - line1[1].x) <= EPSILON &&\n Math.abs(line2[0].x - line2[1].x) <= EPSILON\n )\n isParallel = true;\n if (\n Math.abs(\n (line1[0].x - line1[1].x) / (line1[0].y - line1[1].y) -\n (line2[0].x - line2[1].x) / (line2[0].y - line2[1].y)\n ) <= EPSILON\n )\n isParallel = true;\n if (isParallel) {\n return true;\n }\n return false;\n}\n\nexport function isLinesOverlapped(line1, line2) {\n return (\n isParallelLines(line1, line2) &&\n line1.some(l1 => line2.some(l2 => GeometryUtils.samePoints(l1, l2)))\n );\n}\n\nexport function mergeOverlappedLines(line1, line2) {\n let line1_idx = 0,\n line2_idx = 0;\n line1.forEach((l1, idx1) => {\n if (idx1 !== line1.length - 1) {\n line2.forEach((l2, idx2) => {\n if (idx2 !== line2.length - 1) {\n if (GeometryUtils.samePoints(l1, l2)) {\n line1_idx = idx1;\n line2_idx = idx2;\n }\n }\n });\n }\n });\n //If line1 's end point and line2 's start point is same, two lines merge into a line with\n //the line1's start point as the start point and line2's end point as the end point.\n if (line1_idx === 1) {\n return [line1[1 - line1_idx], line2[1 - line2_idx], IDBroker.acquireID()];\n } else {\n return [line2[1 - line2_idx], line1[1 - line1_idx], IDBroker.acquireID()];\n }\n}\n\n/**\n * Get the contour line array of moldingGroup items\n * @param {*} moldingGroup\n * @param {*} layer\n * @param {*} catalog\n * @returns contour line array of moldingGroup items\n */\nexport function getLinesFromItems2(moldingGroup, layer, catalog) {\n // wall lines\n let allLineRects = GeometryUtils.buildRectFromLines(\n layer,\n GeometryUtils.getAllLines(layer)\n );\n let MGlines = [];\n let MGlinesOtherSnapped = [];\n\n let items = [...moldingGroup.items];\n // The other item's lines (these items are snapped to the moldingGroup items)\n let itemsOtherSnapped = layer.items.toArray().filter(item => {\n if (items.some(it => item.id === it.id)) return false;\n if (isItemSnappedGroup(item, items)) {\n const itemLines = getLinesOfItem(item, allLineRects, catalog);\n let itemAltitude = item.properties.get('altitude').get('_length');\n let itemAltitudeUnit = item.properties.get('altitude').get('_unit');\n itemAltitude = convert(itemAltitude).from(itemAltitudeUnit).to('cm');\n let itemHeight = item.properties.get('height').get('_length');\n let itemHeightUnit = item.properties.get('height').get('_unit');\n itemHeight = convert(itemHeight).from(itemHeightUnit).to('cm');\n itemLines.forEach(line => {\n line.push({ altitude: itemAltitude, height: itemHeight });\n });\n MGlinesOtherSnapped = [...MGlinesOtherSnapped, ...itemLines];\n return true;\n } else return false;\n });\n\n // get all lines of moldingGroup items\n items.forEach(item => {\n let itemAltitude = item.properties.get('altitude').get('_length');\n let itemAltitudeUnit = item.properties.get('altitude').get('_unit');\n itemAltitude = convert(itemAltitude).from(itemAltitudeUnit).to('cm');\n let itemHeight = item.properties.get('height').get('_length');\n let itemHeightUnit = item.properties.get('height').get('_unit');\n itemHeight = convert(itemHeight).from(itemHeightUnit).to('cm');\n\n let itemLines = getLinesOfItem(item, allLineRects, catalog);\n\n // remove the edge that overlapped with other snapped items\n itemLines = itemLines.filter(itLine => {\n let ret = true;\n const srcLine = {\n x1: itLine[0].x,\n y1: itLine[0].y,\n x2: itLine[1].x,\n y2: itLine[1].y\n };\n for (let j = 0; j < MGlinesOtherSnapped.length; j++) {\n let bCheck = false;\n switch (moldingGroup.location_type) {\n case TOP_MOLDING_LOCATION:\n bCheck =\n MGlinesOtherSnapped[j][3].altitude +\n MGlinesOtherSnapped[j][3].height >\n itemAltitude + itemHeight;\n break;\n case MIDDLE_MOLDING_LOCATION:\n bCheck = true;\n break;\n case BOTTOM_MOLDING_LOCATION:\n bCheck = MGlinesOtherSnapped[j][3].altitude < itemAltitude;\n break;\n }\n if (\n item.category !== 'cabinet' ||\n ![\n BASE_CABINET_LAYOUTPOS,\n WALL_CABINET_LAYOUTPOS,\n TALL_CABINET_LAYOUTPOS\n ].includes(item.layoutpos)\n )\n bCheck = true;\n if (bCheck) {\n const destLine = {\n x1: MGlinesOtherSnapped[j][0].x,\n y1: MGlinesOtherSnapped[j][0].y,\n x2: MGlinesOtherSnapped[j][1].x,\n y2: MGlinesOtherSnapped[j][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result === OVERLAP_SAME || rst.result === OVERLAP_INCLUDED) {\n ret = false;\n break;\n }\n }\n }\n return ret;\n });\n MGlines = [...MGlines, ...itemLines];\n });\n\n // Filtering overlapped edges and get contour edges\n let removeLineIds = []; // remove the edge that fully overlapped to other edge\n let newLines = []; // new countour edge segment that except the overlapped part\n for (let i = 0; i < MGlines.length; i++) {\n const srcLine = {\n x1: MGlines[i][0].x,\n y1: MGlines[i][0].y,\n x2: MGlines[i][1].x,\n y2: MGlines[i][1].y\n };\n for (let j = 0; j < MGlines.length; j++) {\n if (i === j) continue;\n const destLine = {\n x1: MGlines[j][0].x,\n y1: MGlines[j][0].y,\n x2: MGlines[j][1].x,\n y2: MGlines[j][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result === OVERLAP_SAME || rst.result === OVERLAP_INCLUDED) {\n removeLineIds.push(i);\n break;\n } else if (rst.result === OVERLAP_SOME) {\n removeLineIds.push(i);\n const lineSegs = getTrimmedContourLineSegs(\n rst.trimmedSegs,\n MGlines.filter((v, idx) => idx !== i && idx !== j),\n 0\n );\n if (lineSegs.length > 0) newLines = [...newLines, ...lineSegs];\n break;\n }\n }\n }\n\n MGlines = MGlines.filter(\n (line, idx) => !removeLineIds.some(id => idx === id)\n );\n if (newLines.length > 0) MGlines = [...MGlines, ...newLines];\n\n // merge the collinear linked lines to one line\n let newMGlines = [];\n let filteredMGlines = MGlines;\n for (let i = 0; i < MGlines.length; i++) {\n if (filteredMGlines.length < 1) break;\n if (!filteredMGlines.some(v => v[2] === MGlines[i][2])) continue;\n let mergedResult = getMergedLine(MGlines[i], filteredMGlines);\n newMGlines.push(mergedResult.mergedLine);\n filteredMGlines = mergedResult.filteredMGlines;\n }\n\n return newMGlines;\n}\n\n/**\n * Get the line that colinear linked with [line], and merge them to a new line\n * @param {*} line\n * @param {*} MGlines\n * @returns\n * - returns merged new line\n * - returns filtered new line group (remove linked line from [MGlines])\n */\nfunction getMergedLine(line, MGlines) {\n let newMGlines = MGlines.filter(v => line[2] !== v[2]);\n let mergeResult = {\n mergedLine: line,\n filteredMGlines: newMGlines\n };\n const srcLine = {\n x1: line[0].x,\n y1: line[0].y,\n x2: line[1].x,\n y2: line[1].y\n };\n for (let i = 0; i < newMGlines.length; i++) {\n const destLine = {\n x1: newMGlines[i][0].x,\n y1: newMGlines[i][0].y,\n x2: newMGlines[i][1].x,\n y2: newMGlines[i][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result === OVERLAP_LINK) {\n let mergedLine = [\n { x: rst.linkedLine.x1, y: rst.linkedLine.y1 },\n { x: rst.linkedLine.x2, y: rst.linkedLine.y2 },\n IDBroker.acquireID()\n ];\n mergeResult = getMergedLine(\n mergedLine,\n newMGlines.filter((v, idx) => idx !== i)\n );\n }\n }\n return mergeResult;\n}\n\n/**\n * Get the contour line segments from [lineSegs]\n * @param {*} lineSegs\n * @param {*} otherLines\n * @returns\n */\nfunction getTrimmedContourLineSegs(lineSegs, otherLines, cnt) {\n try {\n cnt++;\n if (cnt > 5000) return [];\n let returnSegs = [];\n for (let i = 0; i < lineSegs.length; i++) {\n const srcLine = {\n x1: lineSegs[i].x1,\n y1: lineSegs[i].y1,\n x2: lineSegs[i].x2,\n y2: lineSegs[i].y2\n };\n let bContourSeg = true;\n for (let j = 0; j < otherLines.length; j++) {\n const destLine = {\n x1: otherLines[j][0].x,\n y1: otherLines[j][0].y,\n x2: otherLines[j][1].x,\n y2: otherLines[j][1].y\n };\n const rst = GeometryUtils.relationshipOfTwoOverlappedLines(\n srcLine,\n destLine\n );\n if (rst.result == OVERLAP_SAME || rst.result == OVERLAP_INCLUDED) {\n bContourSeg = false;\n break;\n } else if (rst.result == OVERLAP_SOME) {\n const tLineSegs = getTrimmedContourLineSegs(\n rst.trimmedSegs,\n otherLines.filter((v, idx) => idx !== j),\n cnt\n );\n if (tLineSegs.length > 0) returnSegs = [...returnSegs, ...tLineSegs];\n bContourSeg = false;\n break;\n }\n }\n if (bContourSeg)\n returnSegs.push([\n { x: lineSegs[i].x1, y: lineSegs[i].y1 },\n { x: lineSegs[i].x2, y: lineSegs[i].y2 },\n IDBroker.acquireID()\n ]);\n }\n return returnSegs;\n } catch (e) {\n console.log('molding catched :', e);\n return [];\n }\n}\n\nexport function getLinesFromItems(moldingGroup, layer, catalog) {\n let allLineRects = GeometryUtils.buildRectFromLines(\n layer,\n GeometryUtils.getAllLines(layer)\n );\n let items = [...moldingGroup.items];\n let MGlines = getLinesOfItem(items[0], allLineRects, catalog);\n items = sortItemsByDistance(items, items[0]);\n for (let i = 1; i < items.length; i++) {\n let itemLines = getLinesOfItem(items[i], allLineRects, catalog);\n let temp_MGLines = [];\n MGlines.forEach(line => {\n let idx = itemLines.findIndex(itemLine =>\n isLinesOverlapped(line, itemLine)\n );\n const curItemLine = itemLines[idx];\n if (idx > -1) {\n if (\n !(\n (GeometryUtils.samePoints(line[0], curItemLine[0]) &&\n GeometryUtils.samePoints(line[1], curItemLine[1])) ||\n (GeometryUtils.samePoints(line[0], curItemLine[1]) &&\n GeometryUtils.samePoints(line[1], curItemLine[0]))\n )\n ) {\n let MGLine = mergeOverlappedLines(line, curItemLine);\n temp_MGLines.push(MGLine);\n }\n itemLines.splice(idx, 1);\n } else {\n temp_MGLines.push(line);\n }\n });\n itemLines.forEach(itemLine => temp_MGLines.push(itemLine));\n MGlines = [...temp_MGLines];\n }\n // return MGlines;\n let snapped_other_items = layer.items.toArray().filter(item => {\n if (items.some(it => item.id === it.id)) return false;\n return isItemSnappedGroup(item, items);\n });\n snapped_other_items.forEach(item => {\n let itemAltitude = item.properties.get('altitude').get('_length');\n let itemAltitudeUnit = item.properties.get('altitude').get('_unit');\n itemAltitude = convert(itemAltitude).from(itemAltitudeUnit).to('cm');\n let itemHeight = item.properties.get('height').get('_length');\n let itemHeightUnit = item.properties.get('height').get('_unit');\n itemHeight = convert(itemHeight).from(itemHeightUnit).to('cm');\n let mgroupAltitude = items[0].properties.get('altitude').get('_length');\n let mgroupAltitudeUnit = items[0].properties.get('altitude').get('_unit');\n mgroupAltitude = convert(mgroupAltitude).from(mgroupAltitudeUnit).to('cm');\n let mgroupHeight = items[0].properties.get('height').get('_length');\n let mgroupHeightUnit = items[0].properties.get('height').get('_unit');\n mgroupHeight = convert(mgroupHeight).from(mgroupHeightUnit).to('cm');\n let flag = false;\n switch (moldingGroup.location_type) {\n case TOP_MOLDING_LOCATION:\n flag = itemAltitude + itemHeight > mgroupAltitude + mgroupHeight;\n break;\n case MIDDLE_MOLDING_LOCATION:\n flag = true;\n break;\n case BOTTOM_MOLDING_LOCATION:\n flag = itemAltitude < mgroupAltitude;\n break;\n }\n if (\n item.category !== 'cabinet' ||\n ![\n BASE_CABINET_LAYOUTPOS,\n WALL_CABINET_LAYOUTPOS,\n TALL_CABINET_LAYOUTPOS\n ].includes(item.layoutpos)\n )\n flag = true;\n if (flag) {\n let itemLines = getLinesOfItem(item, allLineRects, catalog);\n let temp_MGLines = [];\n MGlines.forEach(mgl => {\n let idx = itemLines.findIndex(itl => isLinesOverlapped(mgl, itl));\n const curITL = itemLines[idx];\n if (idx > -1) {\n if (\n getDelta(mgl[0], mgl[1], curITL[1], curITL[0]) < EPSILON ||\n getDelta(mgl[0], mgl[1], curITL[0], curITL[1]) < EPSILON\n ) {\n if (\n GeometryUtils.verticesDistance(mgl[0], mgl[1]) >\n GeometryUtils.verticesDistance(curITL[0], curITL[1])\n ) {\n let MGLine = mergeOverlappedLines(mgl, curITL);\n temp_MGLines.push(MGLine);\n }\n itemLines.splice(idx, 1);\n } else {\n temp_MGLines.push(mgl);\n }\n } else {\n temp_MGLines.push(mgl);\n }\n });\n MGlines = [...temp_MGLines];\n }\n });\n return MGlines;\n}\n\nfunction getMDPoints(newMD) {\n if (newMD.lines.length < 1)\n return {\n ...newMD,\n pointGroups: []\n };\n // let maxX = newMD.lines[0][0].x,\n let maxX = newMD.lines[0][0].x,\n minX = newMD.lines[0][0].x;\n let maxY = newMD.lines[0][0].y,\n minY = newMD.lines[0][0].y;\n\n newMD.lines.forEach(line => {\n if (line[0].x > maxX) {\n maxX = line[0].x;\n }\n if (line[0].x < minX) {\n minX = line[0].x;\n }\n if (line[1].x > maxX) {\n maxX = line[1].x;\n }\n if (line[1].x < minX) {\n minX = line[1].x;\n }\n if (line[0].y > maxY) {\n maxY = line[0].y;\n }\n if (line[0].y < minY) {\n minY = line[0].y;\n }\n if (line[1].y > maxY) {\n maxY = line[1].y;\n }\n if (line[1].y < minY) {\n minY = line[1].y;\n }\n });\n\n let cPos = {\n x: (maxX + minX) / 2,\n y: (maxY + minY) / 2\n };\n\n let newSize = { ...newMD.size, width: maxX - minX, depth: maxY - minY };\n\n // get vertex points\n let MDlines = [...newMD.lines];\n let pointGroups = [[]];\n let flag = 1;\n let i = 0;\n while (MDlines.length !== 0) {\n if (pointGroups[i].length === 0) {\n pointGroups[i].push(\n new Three.Vector2(MDlines[0][0].x - cPos.x, MDlines[0][0].y - cPos.y),\n new Three.Vector2(MDlines[0][1].x - cPos.x, MDlines[0][1].y - cPos.y)\n );\n MDlines.splice(0, 1);\n } else {\n if (flag) {\n let lastPoint = pointGroups[i][pointGroups[i].length - 1];\n let res = MDlines.findIndex(\n a =>\n GeometryUtils.samePoints(\n { x: a[0].x - cPos.x, y: a[0].y - cPos.y },\n lastPoint\n ) ||\n GeometryUtils.samePoints(\n { x: a[1].x - cPos.x, y: a[1].y - cPos.y },\n lastPoint\n )\n );\n if (res > -1) {\n let newPos = {\n x: MDlines[res][0].x - cPos.x,\n y: MDlines[res][0].y - cPos.y\n };\n if (GeometryUtils.samePoints(newPos, lastPoint)) {\n newPos = {\n x: MDlines[res][1].x - cPos.x,\n y: MDlines[res][1].y - cPos.y\n };\n }\n pointGroups[i].push(new Three.Vector2(newPos.x, newPos.y));\n MDlines.splice(res, 1);\n } else {\n flag = 0;\n }\n } else {\n let firstPoint = pointGroups[i][0];\n let res = MDlines.findIndex(\n a =>\n GeometryUtils.samePoints(\n { x: a[0].x - cPos.x, y: a[0].y - cPos.y },\n firstPoint\n ) ||\n GeometryUtils.samePoints(\n { x: a[1].x - cPos.x, y: a[1].y - cPos.y },\n firstPoint\n )\n );\n if (res > -1) {\n let newPos = {\n x: MDlines[res][0].x - cPos.x,\n y: MDlines[res][0].y - cPos.y\n };\n if (GeometryUtils.samePoints(newPos, firstPoint)) {\n newPos = {\n x: MDlines[res][1].x - cPos.x,\n y: MDlines[res][1].y - cPos.y\n };\n }\n pointGroups[i] = [\n new Three.Vector2(newPos.x, newPos.y),\n ...pointGroups[i]\n ];\n MDlines.splice(res, 1);\n } else {\n flag = 1;\n i++;\n if (MDlines.length !== 0) pointGroups.push([]);\n }\n }\n }\n }\n\n let z = newMD.items[0].properties.get('altitude').get('_length');\n let zUnit = newMD.items[0].properties.get('altitude').get('_unit') || 'cm';\n z = convert(z).from(zUnit).to('cm');\n let height = newMD.items[0].properties.get('height').get('_length');\n let heightUnit = newMD.items[0].properties.get('height').get('_unit') || 'cm';\n height = convert(height).from(heightUnit).to('cm');\n\n switch (newMD.location_type) {\n case TOP_MOLDING_LOCATION:\n z += height;\n break;\n case MIDDLE_MOLDING_LOCATION:\n z += height / 2;\n break;\n case BOTTOM_MOLDING_LOCATION:\n z += 0;\n break;\n default:\n break;\n }\n\n return {\n ...newMD,\n pointGroups,\n pos: { ...cPos, z: z },\n size: newSize\n };\n}\n\nexport function createMonldingGroup(oldMG, layer, molding, catalog) {\n let newMG = { ...oldMG };\n newMG.molding = molding;\n newMG.lines = getLinesFromItems2(oldMG, layer, catalog);\n newMG.lines.reverse();\n newMG = getMDPoints(newMG);\n return newMG;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
var NameGenerator = exports["default"] = /*#__PURE__*/function () {
|
|
14
|
-
function NameGenerator() {
|
|
15
|
-
_classCallCheck(this, NameGenerator);
|
|
16
|
-
}
|
|
17
|
-
return _createClass(NameGenerator, null, [{
|
|
18
|
-
key: "generateName",
|
|
19
|
-
value: function generateName(prototype, type) {
|
|
20
|
-
return type.substr(0, 1).toUpperCase() + type.substr(1);
|
|
21
|
-
}
|
|
22
|
-
}]);
|
|
23
|
-
}();
|
|
24
|
-
//# sourceMappingURL=name-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"name-generator.js","names":["NameGenerator","exports","_classCallCheck","_createClass","key","value","generateName","prototype","type","substr","toUpperCase"],"sources":["../../src/utils/name-generator.js"],"sourcesContent":["export default class NameGenerator {\r\n static generateName(prototype, type) {\r\n return type.substr(0, 1).toUpperCase() + type.substr(1);\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;IAAqBA,aAAa,GAAAC,OAAA;EAAA,SAAAD,cAAA;IAAAE,eAAA,OAAAF,aAAA;EAAA;EAAA,OAAAG,YAAA,CAAAH,aAAA;IAAAI,GAAA;IAAAC,KAAA,EAChC,SAAOC,YAAYA,CAACC,SAAS,EAAEC,IAAI,EAAE;MACnC,OAAOA,IAAI,CAACC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC;IACzD;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getAllMeshes = getAllMeshes;
|
|
7
|
-
exports.objectsCompare = objectsCompare;
|
|
8
|
-
exports.objectsMap = objectsMap;
|
|
9
|
-
exports.vectorIntersectWithMesh = vectorIntersectWithMesh;
|
|
10
|
-
var Three = _interopRequireWildcard(require("three"));
|
|
11
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
-
String.prototype.isLeftPlaceholder = function () {
|
|
14
|
-
return this.match(/_L$|_L_\d$/) != null;
|
|
15
|
-
};
|
|
16
|
-
String.prototype.isRightPlaceholder = function () {
|
|
17
|
-
return this.match(/_R$|_R_\d$/) != null;
|
|
18
|
-
};
|
|
19
|
-
function objectsMap(object, func) {
|
|
20
|
-
var mappedObject = {};
|
|
21
|
-
for (var key in object) {
|
|
22
|
-
mappedObject[key] = func(key, mappedObject[key]);
|
|
23
|
-
}
|
|
24
|
-
return mappedObject;
|
|
25
|
-
}
|
|
26
|
-
function objectsCompare(x, y) {
|
|
27
|
-
if (x === y) return true;
|
|
28
|
-
if (!(x instanceof Object) || !(y instanceof Object)) return false;
|
|
29
|
-
if (x.constructor !== y.constructor) return false;
|
|
30
|
-
for (var p in x) {
|
|
31
|
-
if (!x.hasOwnProperty(p)) continue;
|
|
32
|
-
if (!y.hasOwnProperty(p)) return false;
|
|
33
|
-
if (x[p] === y[p]) continue;
|
|
34
|
-
if (_typeof(x[p]) !== 'object') return false;
|
|
35
|
-
if (!objectsCompare(x[p], y[p])) return false;
|
|
36
|
-
}
|
|
37
|
-
for (var _p in y) {
|
|
38
|
-
if (y.hasOwnProperty(_p) && !x.hasOwnProperty(_p)) return false;
|
|
39
|
-
}
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
function getAllMeshes(objects) {
|
|
43
|
-
var meshes = [];
|
|
44
|
-
objects.forEach(function (object) {
|
|
45
|
-
if (!object) return;
|
|
46
|
-
object.traverse(function (o) {
|
|
47
|
-
if (o.isMesh && o.geometry) {
|
|
48
|
-
meshes.push(o);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
return meshes;
|
|
53
|
-
}
|
|
54
|
-
function vectorIntersectWithMesh(origin, target) {
|
|
55
|
-
var vectorDir = new Three.Vector3(origin.x, origin.y - 1000, origin.z);
|
|
56
|
-
var ray = new Three.Raycaster();
|
|
57
|
-
ray.set(origin, vectorDir);
|
|
58
|
-
var intersects = ray.intersectObject(target, true);
|
|
59
|
-
return intersects.length > 0;
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=objects-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"objects-utils.js","names":["Three","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Symbol","iterator","constructor","prototype","String","isLeftPlaceholder","match","isRightPlaceholder","objectsMap","object","func","mappedObject","key","objectsCompare","x","y","p","getAllMeshes","objects","meshes","forEach","traverse","isMesh","geometry","push","vectorIntersectWithMesh","origin","target","vectorDir","Vector3","z","ray","Raycaster","intersects","intersectObject","length"],"sources":["../../src/utils/objects-utils.js"],"sourcesContent":["import * as Three from 'three';\r\nString.prototype.isLeftPlaceholder = function () {\r\n return this.match(/_L$|_L_\\d$/) != null;\r\n};\r\n\r\nString.prototype.isRightPlaceholder = function () {\r\n return this.match(/_R$|_R_\\d$/) != null;\r\n};\r\n\r\nexport function objectsMap(object, func) {\r\n let mappedObject = {};\r\n for (let key in object) {\r\n mappedObject[key] = func(key, mappedObject[key]);\r\n }\r\n return mappedObject;\r\n}\r\n\r\nexport function objectsCompare(x, y) {\r\n if (x === y) return true;\r\n if (!(x instanceof Object) || !(y instanceof Object)) return false;\r\n if (x.constructor !== y.constructor) return false;\r\n\r\n for (let p in x) {\r\n if (!x.hasOwnProperty(p)) continue;\r\n if (!y.hasOwnProperty(p)) return false;\r\n if (x[p] === y[p]) continue;\r\n if (typeof x[p] !== 'object') return false;\r\n if (!objectsCompare(x[p], y[p])) return false;\r\n }\r\n\r\n for (let p in y) {\r\n if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) return false;\r\n }\r\n\r\n return true;\r\n}\r\nexport function getAllMeshes(objects) {\r\n const meshes = [];\r\n objects.forEach(object => {\r\n if (!object) return;\r\n object.traverse(o => {\r\n if (o.isMesh && o.geometry) {\r\n meshes.push(o);\r\n }\r\n });\r\n });\r\n return meshes;\r\n}\r\n\r\nexport function vectorIntersectWithMesh(origin, target) {\r\n const vectorDir = new Three.Vector3(origin.x, origin.y - 1000, origin.z);\r\n const ray = new Three.Raycaster();\r\n ray.set(origin, vectorDir);\r\n const intersects = ray.intersectObject(target, true);\r\n return intersects.length > 0;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.phoneValidation = void 0;
|
|
7
|
-
var phoneValidation = exports.phoneValidation = function phoneValidation(phone) {
|
|
8
|
-
var result = /^(\+1\s?)?(\(?\d{3}\)?[\s.-]?)?\d{3}[\s.-]?\d{4}$/;
|
|
9
|
-
return result.test(String(phone).toLowerCase());
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=phone-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phone-validator.js","names":["phoneValidation","exports","phone","result","test","String","toLowerCase"],"sources":["../../src/utils/phone-validator.js"],"sourcesContent":["export let phoneValidation = phone => {\n const result = /^(\\+1\\s?)?(\\(?\\d{3}\\)?[\\s.-]?)?\\d{3}[\\s.-]?\\d{4}$/;\n return result.test(String(phone).toLowerCase());\n};\n"],"mappings":";;;;;;AAAO,IAAIA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAGE,KAAK,EAAI;EACpC,IAAMC,MAAM,GAAG,mDAAmD;EAClE,OAAOA,MAAM,CAACC,IAAI,CAACC,MAAM,CAACH,KAAK,CAAC,CAACI,WAAW,CAAC,CAAC,CAAC;AACjD,CAAC","ignoreList":[]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.buildCurrentCabinetObject = void 0;
|
|
7
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
-
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; }
|
|
9
|
-
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; }
|
|
10
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
var buildCurrentCabinetObject = exports.buildCurrentCabinetObject = function buildCurrentCabinetObject(cabinet, texture) {
|
|
14
|
-
return {
|
|
15
|
-
type: cabinet.name,
|
|
16
|
-
// e.g. "B09"
|
|
17
|
-
name: cabinet.name,
|
|
18
|
-
category: cabinet.type,
|
|
19
|
-
// "cabinet"
|
|
20
|
-
doorStyle: _objectSpread({}, texture),
|
|
21
|
-
itemID: cabinet.itemID,
|
|
22
|
-
sku_number: cabinet.name
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=process-black-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-black-list.js","names":["buildCurrentCabinetObject","exports","cabinet","texture","type","name","category","doorStyle","_objectSpread","itemID","sku_number"],"sources":["../../src/utils/process-black-list.js"],"sourcesContent":["export const buildCurrentCabinetObject = (cabinet, texture) => {\r\n return {\r\n type: cabinet.name, // e.g. \"B09\"\r\n name: cabinet.name,\r\n category: cabinet.type, // \"cabinet\"\r\n doorStyle: { ...texture },\r\n itemID: cabinet.itemID,\r\n sku_number: cabinet.name\r\n };\r\n};\r\n"],"mappings":";;;;;;;;;;;;AAAO,IAAMA,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,SAA5BA,yBAAyBA,CAAIE,OAAO,EAAEC,OAAO,EAAK;EAC7D,OAAO;IACLC,IAAI,EAAEF,OAAO,CAACG,IAAI;IAAE;IACpBA,IAAI,EAAEH,OAAO,CAACG,IAAI;IAClBC,QAAQ,EAAEJ,OAAO,CAACE,IAAI;IAAE;IACxBG,SAAS,EAAAC,aAAA,KAAOL,OAAO,CAAE;IACzBM,MAAM,EAAEP,OAAO,CAACO,MAAM;IACtBC,UAAU,EAAER,OAAO,CAACG;EACtB,CAAC;AACH,CAAC","ignoreList":[]}
|
package/lib/utils/react-if.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = If;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
|
-
/**
|
|
11
|
-
* @return {null}
|
|
12
|
-
*/
|
|
13
|
-
function If(_ref) {
|
|
14
|
-
var condition = _ref.condition,
|
|
15
|
-
style = _ref.style,
|
|
16
|
-
children = _ref.children;
|
|
17
|
-
return condition ? Array.isArray(children) ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
18
|
-
style: style
|
|
19
|
-
}, children) : children : null;
|
|
20
|
-
}
|
|
21
|
-
If.propTypes = {
|
|
22
|
-
condition: _propTypes["default"].bool.isRequired,
|
|
23
|
-
style: _propTypes["default"].object
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=react-if.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-if.js","names":["_react","_interopRequireDefault","require","_propTypes","e","__esModule","If","_ref","condition","style","children","Array","isArray","createElement","propTypes","PropTypes","bool","isRequired","object"],"sources":["../../src/utils/react-if.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n/**\r\n * @return {null}\r\n */\r\nexport default function If({ condition, style, children }) {\r\n return condition ? (\r\n Array.isArray(children) ? (\r\n <div style={style}>{children}</div>\r\n ) : (\r\n children\r\n )\r\n ) : null;\r\n}\r\n\r\nIf.propTypes = {\r\n condition: PropTypes.bool.isRequired,\r\n style: PropTypes.object\r\n};\r\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAmC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAEnC;AACA;AACA;AACe,SAASE,EAAEA,CAAAC,IAAA,EAAiC;EAAA,IAA9BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EACrD,OAAOF,SAAS,GACdG,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,gBACrBV,MAAA,YAAAa,aAAA;IAAKJ,KAAK,EAAEA;EAAM,GAAEC,QAAc,CAAC,GAEnCA,QACD,GACC,IAAI;AACV;AAEAJ,EAAE,CAACQ,SAAS,GAAG;EACbN,SAAS,EAAEO,qBAAS,CAACC,IAAI,CAACC,UAAU;EACpCR,KAAK,EAAEM,qBAAS,CAACG;AACnB,CAAC","ignoreList":[]}
|
package/lib/utils/snap-scene.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sceneSnapElements = sceneSnapElements;
|
|
7
|
-
var _snap = require("./snap");
|
|
8
|
-
var _export = require("./export");
|
|
9
|
-
var _immutable = require("immutable");
|
|
10
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
11
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
-
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; } }
|
|
13
|
-
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; }
|
|
14
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
15
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
16
|
-
function sceneSnapElements(scene) {
|
|
17
|
-
var snapElements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _immutable.List();
|
|
18
|
-
var snapMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new _immutable.Map();
|
|
19
|
-
var width = scene.width,
|
|
20
|
-
height = scene.height;
|
|
21
|
-
var a, b, c;
|
|
22
|
-
return snapElements.withMutations(function (snapElements) {
|
|
23
|
-
scene.layers.forEach(function (layer) {
|
|
24
|
-
var lines = layer.lines,
|
|
25
|
-
vertices = layer.vertices;
|
|
26
|
-
vertices.forEach(function (_ref) {
|
|
27
|
-
var vertexID = _ref.id,
|
|
28
|
-
x = _ref.x,
|
|
29
|
-
y = _ref.y;
|
|
30
|
-
if (snapMask.get(_snap.SNAP_POINT)) {
|
|
31
|
-
(0, _snap.addPointSnap)(snapElements, x, y, 10, 10, vertexID);
|
|
32
|
-
}
|
|
33
|
-
if (snapMask.get(_snap.SNAP_LINE)) {
|
|
34
|
-
var _GeometryUtils$horizo = _export.GeometryUtils.horizontalLine(y);
|
|
35
|
-
a = _GeometryUtils$horizo.a;
|
|
36
|
-
b = _GeometryUtils$horizo.b;
|
|
37
|
-
c = _GeometryUtils$horizo.c;
|
|
38
|
-
(0, _snap.addLineSnap)(snapElements, a, b, c, 10, 1, vertexID);
|
|
39
|
-
var _GeometryUtils$vertic = _export.GeometryUtils.verticalLine(x);
|
|
40
|
-
a = _GeometryUtils$vertic.a;
|
|
41
|
-
b = _GeometryUtils$vertic.b;
|
|
42
|
-
c = _GeometryUtils$vertic.c;
|
|
43
|
-
(0, _snap.addLineSnap)(snapElements, a, b, c, 10, 1, vertexID);
|
|
44
|
-
var _GeometryUtils$upcros = _export.GeometryUtils.upcrossLine(x, y);
|
|
45
|
-
a = _GeometryUtils$upcros.a;
|
|
46
|
-
b = _GeometryUtils$upcros.b;
|
|
47
|
-
c = _GeometryUtils$upcros.c;
|
|
48
|
-
(0, _snap.addLineSnap)(snapElements, a, b, c, 10, 3, null);
|
|
49
|
-
var _GeometryUtils$downcr = _export.GeometryUtils.downcrossLine(x, y);
|
|
50
|
-
a = _GeometryUtils$downcr.a;
|
|
51
|
-
b = _GeometryUtils$downcr.b;
|
|
52
|
-
c = _GeometryUtils$downcr.c;
|
|
53
|
-
(0, _snap.addLineSnap)(snapElements, a, b, c, 10, 3, null);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
if (snapMask.get(_snap.SNAP_SEGMENT)) {
|
|
57
|
-
lines.forEach(function (_ref2) {
|
|
58
|
-
var lineID = _ref2.id,
|
|
59
|
-
_ref2$vertices = _slicedToArray(_ref2.vertices, 2),
|
|
60
|
-
v0 = _ref2$vertices[0],
|
|
61
|
-
v1 = _ref2$vertices[1];
|
|
62
|
-
var _vertices$get = vertices.get(v0),
|
|
63
|
-
x1 = _vertices$get.x,
|
|
64
|
-
y1 = _vertices$get.y;
|
|
65
|
-
var _vertices$get2 = vertices.get(v1),
|
|
66
|
-
x2 = _vertices$get2.x,
|
|
67
|
-
y2 = _vertices$get2.y;
|
|
68
|
-
(0, _snap.addLineSegmentSnap)(snapElements, x1, y1, x2, y2, 20, 1, lineID);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
if (snapMask.get(_snap.SNAP_GRID)) {
|
|
73
|
-
var divider = 5;
|
|
74
|
-
var gridCellSize = 100 / divider;
|
|
75
|
-
var xCycle = width / gridCellSize;
|
|
76
|
-
var yCycle = height / gridCellSize;
|
|
77
|
-
for (var x = 0; x < xCycle; x++) {
|
|
78
|
-
var xMul = x * gridCellSize;
|
|
79
|
-
for (var y = 0; y < yCycle; y++) {
|
|
80
|
-
var yMul = y * gridCellSize;
|
|
81
|
-
var onXCross = !(x % divider) ? true : false;
|
|
82
|
-
var onYCross = !(y % divider) ? true : false;
|
|
83
|
-
(0, _snap.addGridSnap)(snapElements, xMul, yMul, 10, onXCross && onYCross ? 15 : 10, null);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if (snapMask.get(_snap.SNAP_GUIDE)) {
|
|
88
|
-
var horizontal = scene.getIn(['guides', 'horizontal']);
|
|
89
|
-
var vertical = scene.getIn(['guides', 'vertical']);
|
|
90
|
-
var hValues = horizontal.valueSeq();
|
|
91
|
-
var vValues = vertical.valueSeq();
|
|
92
|
-
hValues.forEach(function (hVal) {
|
|
93
|
-
vValues.forEach(function (vVal) {
|
|
94
|
-
(0, _snap.addPointSnap)(snapElements, vVal, hVal, 10, 10);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
hValues.forEach(function (hVal) {
|
|
98
|
-
return (0, _snap.addLineSegmentSnap)(snapElements, 0, hVal, width, hVal, 20, 1);
|
|
99
|
-
});
|
|
100
|
-
vValues.forEach(function (vVal) {
|
|
101
|
-
return (0, _snap.addLineSegmentSnap)(snapElements, vVal, 0, vVal, height, 20, 1);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=snap-scene.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snap-scene.js","names":["_snap","require","_export","_immutable","_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","sceneSnapElements","scene","snapElements","arguments","undefined","List","snapMask","Map","width","height","b","c","withMutations","layers","forEach","layer","lines","vertices","_ref","vertexID","id","x","y","get","SNAP_POINT","addPointSnap","SNAP_LINE","_GeometryUtils$horizo","GeometryUtils","horizontalLine","addLineSnap","_GeometryUtils$vertic","verticalLine","_GeometryUtils$upcros","upcrossLine","_GeometryUtils$downcr","downcrossLine","SNAP_SEGMENT","_ref2","lineID","_ref2$vertices","v0","v1","_vertices$get","x1","y1","_vertices$get2","x2","y2","addLineSegmentSnap","SNAP_GRID","divider","gridCellSize","xCycle","yCycle","xMul","yMul","onXCross","onYCross","addGridSnap","SNAP_GUIDE","horizontal","getIn","vertical","hValues","valueSeq","vValues","hVal","vVal"],"sources":["../../src/utils/snap-scene.js"],"sourcesContent":["import {\r\n SNAP_POINT,\r\n SNAP_LINE,\r\n SNAP_SEGMENT,\r\n SNAP_GRID,\r\n SNAP_GUIDE,\r\n addPointSnap,\r\n addLineSnap,\r\n addLineSegmentSnap,\r\n addGridSnap\r\n} from './snap';\r\nimport { GeometryUtils } from './export';\r\nimport { Map, List } from 'immutable';\r\n\r\nexport function sceneSnapElements(\r\n scene,\r\n snapElements = new List(),\r\n snapMask = new Map()\r\n) {\r\n let { width, height } = scene;\r\n\r\n let a, b, c;\r\n return snapElements.withMutations(snapElements => {\r\n scene.layers.forEach(layer => {\r\n let { lines, vertices } = layer;\r\n\r\n vertices.forEach(({ id: vertexID, x, y }) => {\r\n if (snapMask.get(SNAP_POINT)) {\r\n addPointSnap(snapElements, x, y, 10, 10, vertexID);\r\n }\r\n\r\n if (snapMask.get(SNAP_LINE)) {\r\n ({ a, b, c } = GeometryUtils.horizontalLine(y));\r\n addLineSnap(snapElements, a, b, c, 10, 1, vertexID);\r\n ({ a, b, c } = GeometryUtils.verticalLine(x));\r\n addLineSnap(snapElements, a, b, c, 10, 1, vertexID);\r\n ({ a, b, c } = GeometryUtils.upcrossLine(x, y));\r\n addLineSnap(snapElements, a, b, c, 10, 3, null);\r\n ({ a, b, c } = GeometryUtils.downcrossLine(x, y));\r\n addLineSnap(snapElements, a, b, c, 10, 3, null);\r\n }\r\n });\r\n\r\n if (snapMask.get(SNAP_SEGMENT)) {\r\n lines.forEach(({ id: lineID, vertices: [v0, v1] }) => {\r\n let { x: x1, y: y1 } = vertices.get(v0);\r\n let { x: x2, y: y2 } = vertices.get(v1);\r\n\r\n addLineSegmentSnap(snapElements, x1, y1, x2, y2, 20, 1, lineID);\r\n });\r\n }\r\n });\r\n\r\n if (snapMask.get(SNAP_GRID)) {\r\n let divider = 5;\r\n let gridCellSize = 100 / divider;\r\n let xCycle = width / gridCellSize;\r\n let yCycle = height / gridCellSize;\r\n\r\n for (let x = 0; x < xCycle; x++) {\r\n let xMul = x * gridCellSize;\r\n\r\n for (let y = 0; y < yCycle; y++) {\r\n let yMul = y * gridCellSize;\r\n\r\n let onXCross = !(x % divider) ? true : false;\r\n let onYCross = !(y % divider) ? true : false;\r\n\r\n addGridSnap(\r\n snapElements,\r\n xMul,\r\n yMul,\r\n 10,\r\n onXCross && onYCross ? 15 : 10,\r\n null\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (snapMask.get(SNAP_GUIDE)) {\r\n let horizontal = scene.getIn(['guides', 'horizontal']);\r\n let vertical = scene.getIn(['guides', 'vertical']);\r\n\r\n let hValues = horizontal.valueSeq();\r\n let vValues = vertical.valueSeq();\r\n\r\n hValues.forEach(hVal => {\r\n vValues.forEach(vVal => {\r\n addPointSnap(snapElements, vVal, hVal, 10, 10);\r\n });\r\n });\r\n\r\n hValues.forEach(hVal =>\r\n addLineSegmentSnap(snapElements, 0, hVal, width, hVal, 20, 1)\r\n );\r\n vValues.forEach(vVal =>\r\n addLineSegmentSnap(snapElements, vVal, 0, vVal, height, 20, 1)\r\n );\r\n }\r\n });\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|