kitchen-simulator 1.1.1-test.7 → 1.1.1-test.70
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/@history.js +8 -2
- package/es/AppContext.js +8 -3
- package/es/KitchenConfigurator.js +93 -106
- package/es/KitchenConfiguratorApp.js +143 -154
- package/es/actions/area-actions.js +10 -5
- package/es/actions/export.js +27 -12
- package/es/actions/groups-actions.js +43 -27
- package/es/actions/holes-actions.js +53 -34
- package/es/actions/items-actions.js +143 -94
- package/es/actions/lines-actions.js +34 -21
- package/es/actions/project-actions.js +143 -94
- package/es/actions/scene-actions.js +19 -11
- package/es/actions/vertices-actions.js +13 -7
- package/es/actions/viewer2d-actions.js +34 -21
- package/es/actions/viewer3d-actions.js +16 -9
- package/es/catalog/areas/area/planner-element.js +16 -8
- package/es/catalog/catalog.js +19 -24
- package/es/catalog/factories/area-factory-3d.js +29 -22
- package/es/catalog/factories/area-factory.js +18 -14
- package/es/catalog/factories/export.js +12 -6
- package/es/catalog/factories/wall-factory-3d.js +39 -31
- package/es/catalog/factories/wall-factory.js +29 -21
- package/es/catalog/holes/door-closet/planner-element.js +22 -15
- package/es/catalog/holes/door-double/planner-element.js +22 -15
- package/es/catalog/holes/door-exterior/planner-element.js +23 -16
- package/es/catalog/holes/door-interior/planner-element.js +23 -16
- package/es/catalog/holes/door-panic/planner-element.js +14 -7
- package/es/catalog/holes/door-panic-double/planner-element.js +22 -15
- package/es/catalog/holes/door-sliding/planner-element.js +23 -16
- package/es/catalog/holes/doorway-framed/planner-element.js +18 -11
- package/es/catalog/holes/doorway-frameless/planner-element.js +14 -7
- package/es/catalog/holes/export.js +31 -13
- package/es/catalog/holes/window-clear/planner-element.js +17 -10
- package/es/catalog/holes/window-cross/planner-element.js +17 -10
- package/es/catalog/holes/window-double-hung/planner-element.js +17 -10
- package/es/catalog/holes/window-vertical/planner-element.js +17 -10
- package/es/catalog/lines/wall/planner-element.js +19 -11
- package/es/catalog/molding/molding-dcm/planner-element.js +12 -5
- package/es/catalog/molding/molding-fbm/planner-element.js +12 -5
- package/es/catalog/molding/molding-lrm/planner-element.js +12 -5
- package/es/catalog/properties/export.js +33 -20
- package/es/catalog/properties/property-checkbox.js +82 -35
- package/es/catalog/properties/property-color.js +21 -16
- package/es/catalog/properties/property-enum.js +70 -28
- package/es/catalog/properties/property-hidden.js +14 -9
- package/es/catalog/properties/property-lenght-measure.js +43 -39
- package/es/catalog/properties/property-length-measure.js +82 -34
- package/es/catalog/properties/property-length-measure_hole.js +43 -39
- package/es/catalog/properties/property-number.js +22 -17
- package/es/catalog/properties/property-read-only.js +21 -16
- package/es/catalog/properties/property-string.js +21 -16
- package/es/catalog/properties/property-toggle.js +21 -16
- package/es/catalog/properties/shared-property-style.js +5 -1
- package/es/catalog/utils/FuseUtils.js +13 -11
- package/es/catalog/utils/exporter.js +13 -11
- package/es/catalog/utils/geom-utils.js +27 -13
- package/es/catalog/utils/item-loader.js +95 -91
- package/es/catalog/utils/load-obj.js +26 -20
- package/es/catalog/utils/mtl-loader.js +7 -3
- package/es/catalog/utils/obj-loader.js +7 -3
- package/es/class/FuseUtils.js +13 -11
- package/es/class/area.js +26 -26
- package/es/class/export.js +38 -23
- package/es/class/group.js +57 -62
- package/es/class/guide.js +19 -19
- package/es/class/hole.js +87 -88
- package/es/class/item.js +148 -155
- package/es/class/layer.js +63 -63
- package/es/class/line.js +141 -144
- package/es/class/project.js +96 -94
- package/es/class/vertex.js +33 -33
- package/es/components/content.js +27 -19
- package/es/components/disclaimer/disclaimer.js +79 -93
- package/es/components/export.js +15 -8
- package/es/components/style/button.js +29 -30
- package/es/components/style/cancel-button.js +12 -8
- package/es/components/style/content-container.js +14 -12
- package/es/components/style/content-title.js +18 -15
- package/es/components/style/delete-button.js +15 -9
- package/es/components/style/export.js +48 -30
- package/es/components/style/form-block.js +13 -12
- package/es/components/style/form-color-input.js +12 -8
- package/es/components/style/form-label.js +13 -12
- package/es/components/style/form-number-input.js +71 -47
- package/es/components/style/form-number-input_2.js +42 -42
- package/es/components/style/form-select.js +58 -14
- package/es/components/style/form-slider.js +36 -16
- package/es/components/style/form-submit-button.js +15 -9
- package/es/components/style/form-text-input.js +55 -37
- package/es/components/viewer2d/area.js +22 -17
- package/es/components/viewer2d/export.js +48 -30
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +15 -11
- package/es/components/viewer2d/grids/grid-streak.js +15 -11
- package/es/components/viewer2d/grids/grid-vertical-streak.js +15 -11
- package/es/components/viewer2d/grids/grids.js +17 -15
- package/es/components/viewer2d/group.js +22 -15
- package/es/components/viewer2d/item.js +68 -68
- package/es/components/viewer2d/layer.js +28 -23
- package/es/components/viewer2d/line.js +109 -104
- package/es/components/viewer2d/ruler.js +27 -23
- package/es/components/viewer2d/rulerDist.js +26 -21
- package/es/components/viewer2d/rulerX.js +45 -45
- package/es/components/viewer2d/rulerY.js +43 -43
- package/es/components/viewer2d/scene.js +40 -46
- package/es/components/viewer2d/snap.js +20 -13
- package/es/components/viewer2d/state.js +25 -23
- package/es/components/viewer2d/utils.js +63 -21
- package/es/components/viewer2d/vertex.js +15 -8
- package/es/components/viewer2d/viewer2d.js +169 -166
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +21 -24
- package/es/components/viewer3d/dcm.js +5 -1
- package/es/components/viewer3d/fbm.js +5 -1
- package/es/components/viewer3d/front3D.js +19 -17
- package/es/components/viewer3d/grid-creator.js +15 -8
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +12 -6
- package/es/components/viewer3d/grids/grid-streak.js +11 -5
- package/es/components/viewer3d/grids/grid-vertical-streak.js +12 -6
- package/es/components/viewer3d/libs/first-person-controls.js +7 -2
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +5 -1
- package/es/components/viewer3d/libs/mtl-loader.js +6 -2
- package/es/components/viewer3d/libs/obj-loader.js +6 -2
- package/es/components/viewer3d/libs/orbit-controls.js +10 -5
- package/es/components/viewer3d/libs/pointer-lock-controls.js +9 -4
- package/es/components/viewer3d/lrm.js +5 -1
- package/es/components/viewer3d/model.js +5 -1
- package/es/components/viewer3d/pointer-lock-navigation.js +8 -3
- package/es/components/viewer3d/ruler-utils/itemRect.js +23 -18
- package/es/components/viewer3d/ruler-utils/layer3D.js +64 -59
- package/es/components/viewer3d/ruler-utils/ruler3D.js +44 -42
- package/es/components/viewer3d/ruler-utils/scene3D.js +16 -11
- package/es/components/viewer3d/ruler-utils/state3D.js +9 -4
- package/es/components/viewer3d/scene-creator.js +225 -198
- package/es/components/viewer3d/three-memory-cleaner.js +10 -3
- package/es/components/viewer3d/viewer3d-first-person.js +44 -46
- package/es/components/viewer3d/viewer3d.js +206 -209
- package/es/constants.js +356 -349
- package/es/index.js +20 -15
- package/es/models.js +183 -183
- package/es/plugins/SVGLoader.js +51 -48
- package/es/plugins/autosave.js +7 -3
- package/es/plugins/console-debugger.js +10 -8
- package/es/plugins/export.js +15 -8
- package/es/plugins/keyboard.js +33 -29
- package/es/reducers/areas-reducer.js +11 -7
- package/es/reducers/export.js +39 -24
- package/es/reducers/groups-reducer.js +35 -31
- package/es/reducers/holes-reducer.js +47 -43
- package/es/reducers/items-reducer.js +110 -109
- package/es/reducers/lines-reducer.js +32 -28
- package/es/reducers/project-reducer.js +109 -105
- package/es/reducers/reducer.js +21 -16
- package/es/reducers/scene-reducer.js +19 -15
- package/es/reducers/user-reducer.js +9 -6
- package/es/reducers/vertices-reducer.js +15 -11
- package/es/reducers/viewer2d-reducer.js +22 -18
- package/es/reducers/viewer3d-reducer.js +20 -16
- package/es/shared-style.js +14 -10
- package/es/styles/export.js +9 -3
- package/es/translator/en.js +5 -1
- package/es/translator/it.js +5 -1
- package/es/translator/ru.js +5 -1
- package/es/translator/translator.js +17 -17
- package/es/utils/browser.js +7 -2
- package/es/utils/convert-units-lite.js +33 -0
- package/es/utils/email-validator.js +5 -1
- package/es/utils/export.js +32 -15
- package/es/utils/geometry.js +277 -191
- package/es/utils/get-edges-of-subgraphs.js +7 -1
- package/es/utils/graph-cycles.js +9 -9
- package/es/utils/graph-inner-cycles.js +16 -10
- package/es/utils/graph.js +15 -12
- package/es/utils/helper.js +61 -109
- package/es/utils/history.js +13 -8
- package/es/utils/id-broker.js +13 -12
- package/es/utils/logger.js +5 -1
- package/es/utils/math.js +10 -5
- package/es/utils/molding.js +175 -158
- package/es/utils/name-generator.js +11 -11
- package/es/utils/objects-utils.js +17 -7
- package/es/utils/phone-validator.js +5 -1
- package/es/utils/process-black-list.js +8 -6
- package/es/utils/react-if.js +10 -6
- package/es/utils/snap-scene.js +32 -32
- package/es/utils/snap.js +57 -51
- package/es/utils/summarizeCart.js +5 -1
- package/es/utils/threeCSG.es6.js +20 -17
- package/es/version.js +5 -1
- package/lib/@history.js +3 -2
- package/lib/AppContext.js +3 -2
- package/lib/KitchenConfigurator.js +70 -88
- package/lib/KitchenConfiguratorApp.js +98 -113
- package/lib/actions/export.js +1 -1
- package/lib/catalog/areas/area/planner-element.js +13 -8
- package/lib/catalog/catalog.js +9 -16
- package/lib/catalog/factories/area-factory-3d.js +1 -1
- package/lib/catalog/factories/area-factory.js +6 -7
- package/lib/catalog/factories/export.js +1 -1
- package/lib/catalog/factories/wall-factory-3d.js +4 -4
- package/lib/catalog/factories/wall-factory.js +4 -3
- package/lib/catalog/holes/door-closet/planner-element.js +4 -3
- package/lib/catalog/holes/door-double/planner-element.js +4 -3
- package/lib/catalog/holes/door-exterior/planner-element.js +4 -3
- package/lib/catalog/holes/door-interior/planner-element.js +4 -3
- package/lib/catalog/holes/door-panic/planner-element.js +4 -3
- package/lib/catalog/holes/door-panic-double/planner-element.js +4 -3
- package/lib/catalog/holes/door-sliding/planner-element.js +4 -3
- package/lib/catalog/holes/doorway-framed/planner-element.js +4 -3
- package/lib/catalog/holes/doorway-frameless/planner-element.js +4 -3
- package/lib/catalog/holes/export.js +14 -14
- package/lib/catalog/holes/window-clear/planner-element.js +4 -3
- package/lib/catalog/holes/window-cross/planner-element.js +4 -3
- package/lib/catalog/holes/window-double-hung/planner-element.js +4 -3
- package/lib/catalog/holes/window-vertical/planner-element.js +4 -3
- package/lib/catalog/lines/wall/planner-element.js +16 -11
- package/lib/catalog/molding/molding-dcm/planner-element.js +4 -3
- package/lib/catalog/molding/molding-fbm/planner-element.js +4 -3
- package/lib/catalog/molding/molding-lrm/planner-element.js +4 -3
- package/lib/catalog/properties/export.js +1 -1
- package/lib/catalog/properties/property-checkbox.js +68 -25
- package/lib/catalog/properties/property-color.js +3 -2
- package/lib/catalog/properties/property-enum.js +54 -16
- package/lib/catalog/properties/property-hidden.js +3 -2
- package/lib/catalog/properties/property-lenght-measure.js +10 -10
- package/lib/catalog/properties/property-length-measure.js +61 -17
- package/lib/catalog/properties/property-length-measure_hole.js +10 -10
- package/lib/catalog/properties/property-number.js +3 -2
- package/lib/catalog/properties/property-read-only.js +3 -2
- package/lib/catalog/properties/property-string.js +3 -2
- package/lib/catalog/properties/property-toggle.js +3 -2
- package/lib/catalog/properties/shared-property-style.js +2 -1
- package/lib/catalog/utils/FuseUtils.js +10 -11
- package/lib/catalog/utils/exporter.js +10 -12
- package/lib/catalog/utils/geom-utils.js +1 -1
- package/lib/catalog/utils/item-loader.js +29 -35
- package/lib/catalog/utils/mtl-loader.js +7 -3
- package/lib/catalog/utils/obj-loader.js +7 -3
- package/lib/class/FuseUtils.js +10 -11
- package/lib/class/area.js +9 -11
- package/lib/class/export.js +1 -1
- package/lib/class/group.js +13 -20
- package/lib/class/guide.js +9 -12
- package/lib/class/hole.js +7 -9
- package/lib/class/item.js +25 -35
- package/lib/class/layer.js +7 -9
- package/lib/class/line.js +14 -20
- package/lib/class/project.js +10 -11
- package/lib/class/vertex.js +9 -11
- package/lib/components/content.js +5 -3
- package/lib/components/disclaimer/disclaimer.js +69 -88
- package/lib/components/export.js +1 -1
- package/lib/components/style/button.js +17 -22
- package/lib/components/style/cancel-button.js +7 -7
- package/lib/components/style/content-container.js +5 -7
- package/lib/components/style/content-title.js +10 -12
- package/lib/components/style/delete-button.js +8 -8
- package/lib/components/style/export.js +1 -1
- package/lib/components/style/form-block.js +9 -12
- package/lib/components/style/form-color-input.js +7 -7
- package/lib/components/style/form-label.js +9 -12
- package/lib/components/style/form-number-input.js +43 -23
- package/lib/components/style/form-number-input_2.js +15 -19
- package/lib/components/style/form-select.js +53 -15
- package/lib/components/style/form-slider.js +28 -12
- package/lib/components/style/form-submit-button.js +8 -8
- package/lib/components/style/form-text-input.js +46 -32
- package/lib/components/viewer2d/area.js +8 -7
- package/lib/components/viewer2d/export.js +1 -1
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +3 -3
- package/lib/components/viewer2d/grids/grid-streak.js +3 -3
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +3 -3
- package/lib/components/viewer2d/grids/grids.js +6 -10
- package/lib/components/viewer2d/group.js +4 -3
- package/lib/components/viewer2d/item.js +14 -19
- package/lib/components/viewer2d/layer.js +3 -2
- package/lib/components/viewer2d/line.js +4 -7
- package/lib/components/viewer2d/ruler.js +9 -9
- package/lib/components/viewer2d/rulerDist.js +7 -6
- package/lib/components/viewer2d/rulerX.js +15 -19
- package/lib/components/viewer2d/rulerY.js +15 -19
- package/lib/components/viewer2d/scene.js +24 -34
- package/lib/components/viewer2d/snap.js +4 -3
- package/lib/components/viewer2d/state.js +7 -11
- package/lib/components/viewer2d/utils.js +35 -2
- package/lib/components/viewer2d/vertex.js +4 -3
- package/lib/components/viewer2d/viewer2d.js +40 -41
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
- package/lib/components/viewer3d/dcm.js +2 -1
- package/lib/components/viewer3d/fbm.js +2 -1
- package/lib/components/viewer3d/front3D.js +6 -10
- package/lib/components/viewer3d/grid-creator.js +4 -3
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +3 -2
- package/lib/components/viewer3d/grids/grid-streak.js +3 -2
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +3 -2
- package/lib/components/viewer3d/libs/mtl-loader.js +7 -2
- package/lib/components/viewer3d/libs/obj-loader.js +7 -2
- package/lib/components/viewer3d/libs/orbit-controls.js +10 -5
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +9 -4
- package/lib/components/viewer3d/lrm.js +2 -1
- package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
- package/lib/components/viewer3d/ruler-utils/itemRect.js +10 -9
- package/lib/components/viewer3d/ruler-utils/layer3D.js +35 -34
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +5 -7
- package/lib/components/viewer3d/ruler-utils/scene3D.js +4 -5
- package/lib/components/viewer3d/ruler-utils/state3D.js +3 -2
- package/lib/components/viewer3d/scene-creator.js +40 -45
- package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
- package/lib/components/viewer3d/viewer3d-first-person.js +13 -17
- package/lib/components/viewer3d/viewer3d.js +34 -38
- package/lib/index.js +16 -88
- package/lib/models.js +58 -63
- package/lib/plugins/autosave.js +2 -1
- package/lib/plugins/console-debugger.js +5 -7
- package/lib/plugins/export.js +1 -1
- package/lib/plugins/keyboard.js +2 -1
- package/lib/reducers/areas-reducer.js +2 -1
- package/lib/reducers/export.js +1 -1
- package/lib/reducers/groups-reducer.js +2 -1
- package/lib/reducers/holes-reducer.js +2 -1
- package/lib/reducers/items-reducer.js +2 -1
- package/lib/reducers/lines-reducer.js +2 -1
- package/lib/reducers/project-reducer.js +2 -1
- package/lib/reducers/scene-reducer.js +2 -1
- package/lib/reducers/user-reducer.js +2 -2
- package/lib/reducers/vertices-reducer.js +2 -1
- package/lib/reducers/viewer2d-reducer.js +5 -5
- package/lib/reducers/viewer3d-reducer.js +5 -5
- package/lib/styles/export.js +1 -1
- package/lib/translator/en.js +2 -1
- package/lib/translator/it.js +2 -1
- package/lib/translator/ru.js +2 -1
- package/lib/translator/translator.js +7 -10
- package/lib/utils/convert-units-lite.js +35 -0
- package/lib/utils/export.js +2 -2
- package/lib/utils/geometry.js +20 -28
- package/lib/utils/get-edges-of-subgraphs.js +7 -1
- package/lib/utils/graph-cycles.js +9 -9
- package/lib/utils/graph-inner-cycles.js +1 -1
- package/lib/utils/graph.js +15 -12
- package/lib/utils/helper.js +14 -83
- package/lib/utils/history.js +1 -1
- package/lib/utils/id-broker.js +7 -10
- package/lib/utils/molding.js +66 -71
- package/lib/utils/name-generator.js +7 -9
- package/lib/utils/objects-utils.js +5 -3
- package/lib/utils/process-black-list.js +3 -5
- package/lib/utils/react-if.js +3 -2
- package/lib/utils/snap-scene.js +3 -7
- package/lib/utils/snap.js +22 -26
- package/lib/utils/threeCSG.es6.js +16 -15
- package/package.json +26 -54
- package/es/analytics/ga4.js +0 -191
- package/es/analytics/posthog.js +0 -60
- package/lib/analytics/ga4.js +0 -197
- package/lib/analytics/posthog.js +0 -68
|
@@ -1,40 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports["default"] = void 0;
|
|
6
|
+
var _export = _interopRequireDefault(require("../../factories/export"));
|
|
7
|
+
var textureUrl = function textureUrl(file) {
|
|
8
|
+
return new URL("./textures/".concat(file), import.meta.url).href;
|
|
9
|
+
};
|
|
2
10
|
var info = {
|
|
3
11
|
title: 'area',
|
|
4
12
|
tag: ['area'],
|
|
5
13
|
description: 'Generic Room',
|
|
6
|
-
image: ''
|
|
14
|
+
image: '' // no image provided yet
|
|
7
15
|
};
|
|
8
16
|
var textures = {
|
|
9
17
|
parquet: {
|
|
10
18
|
name: 'Parquet',
|
|
11
|
-
uri:
|
|
19
|
+
uri: textureUrl('parquet.jpg'),
|
|
12
20
|
lengthRepeatScale: 0.004,
|
|
13
21
|
heightRepeatScale: 0.004
|
|
14
22
|
},
|
|
15
23
|
tile1: {
|
|
16
24
|
name: 'Tile1',
|
|
17
|
-
uri:
|
|
25
|
+
uri: textureUrl('tile1.jpg'),
|
|
18
26
|
lengthRepeatScale: 0.01,
|
|
19
27
|
heightRepeatScale: 0.01
|
|
20
28
|
},
|
|
21
29
|
ceramic: {
|
|
22
30
|
name: 'Ceramic Tile',
|
|
23
|
-
uri:
|
|
31
|
+
uri: textureUrl('ceramic-tile.jpg'),
|
|
24
32
|
lengthRepeatScale: 0.02,
|
|
25
33
|
heightRepeatScale: 0.02
|
|
26
34
|
},
|
|
27
35
|
strand_porcelain: {
|
|
28
36
|
name: 'Strand Porcelain Tile',
|
|
29
|
-
uri:
|
|
37
|
+
uri: textureUrl('strand-porcelain.jpg'),
|
|
30
38
|
lengthRepeatScale: 0.02,
|
|
31
39
|
heightRepeatScale: 0.02
|
|
32
40
|
},
|
|
33
41
|
grass: {
|
|
34
42
|
name: 'Grass',
|
|
35
|
-
uri:
|
|
43
|
+
uri: textureUrl('grass.jpg'),
|
|
36
44
|
lengthRepeatScale: 0.01,
|
|
37
45
|
heightRepeatScale: 0.01
|
|
38
46
|
}
|
|
39
47
|
};
|
|
40
|
-
|
|
48
|
+
var _default = exports["default"] = _export["default"].AreaFactory('area', info, textures);
|
package/es/catalog/catalog.js
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import { PropertyColor, PropertyEnum, PropertyString, PropertyNumber, PropertyLengthMeasure, PropertyToggle, PropertyCheckbox, PropertyHidden, PropertyReadOnly } from "./properties/export";
|
|
14
|
-
import { UNIT_CENTIMETER, UNIT_INCH } from "../constants";
|
|
15
|
-
import { returnReplaceableDeepSearchType } from "../components/viewer2d/utils";
|
|
16
|
-
var Catalog = /*#__PURE__*/function () {
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports["default"] = void 0;
|
|
6
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
7
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
8
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
9
|
+
var _export = require("./properties/export");
|
|
10
|
+
var _constants = require("../constants");
|
|
11
|
+
var _utils = require("../components/viewer2d/utils");
|
|
12
|
+
var Catalog = exports["default"] = /*#__PURE__*/function () {
|
|
17
13
|
function Catalog() {
|
|
18
|
-
var unit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : UNIT_CENTIMETER;
|
|
19
|
-
|
|
14
|
+
var unit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.UNIT_CENTIMETER;
|
|
15
|
+
(0, _classCallCheck2["default"])(this, Catalog);
|
|
20
16
|
this.elements = {};
|
|
21
17
|
this.categories = {
|
|
22
18
|
root: {
|
|
@@ -28,7 +24,7 @@ var Catalog = /*#__PURE__*/function () {
|
|
|
28
24
|
};
|
|
29
25
|
this.propertyTypes = {};
|
|
30
26
|
this.unit = unit;
|
|
31
|
-
this.registerMultiplePropertyType([['color', PropertyColor, PropertyColor], ['enum', PropertyEnum, PropertyEnum], ['string', PropertyString, PropertyString], ['number', PropertyNumber, PropertyNumber], ['length-measure', PropertyLengthMeasure, PropertyLengthMeasure], ['toggle', PropertyToggle, PropertyToggle], ['checkbox', PropertyCheckbox, PropertyCheckbox], ['hidden', PropertyHidden, PropertyHidden], ['read-only', PropertyReadOnly, PropertyReadOnly]]);
|
|
27
|
+
this.registerMultiplePropertyType([['color', _export.PropertyColor, _export.PropertyColor], ['enum', _export.PropertyEnum, _export.PropertyEnum], ['string', _export.PropertyString, _export.PropertyString], ['number', _export.PropertyNumber, _export.PropertyNumber], ['length-measure', _export.PropertyLengthMeasure, _export.PropertyLengthMeasure], ['toggle', _export.PropertyToggle, _export.PropertyToggle], ['checkbox', _export.PropertyCheckbox, _export.PropertyCheckbox], ['hidden', _export.PropertyHidden, _export.PropertyHidden], ['read-only', _export.PropertyReadOnly, _export.PropertyReadOnly]]);
|
|
32
28
|
}
|
|
33
29
|
|
|
34
30
|
/**
|
|
@@ -36,13 +32,13 @@ var Catalog = /*#__PURE__*/function () {
|
|
|
36
32
|
* @param {string} type Element's type
|
|
37
33
|
* @return {?object} Element
|
|
38
34
|
*/
|
|
39
|
-
return
|
|
35
|
+
return (0, _createClass2["default"])(Catalog, [{
|
|
40
36
|
key: "getElement",
|
|
41
37
|
value: function getElement(type) {
|
|
42
38
|
if (this.hasElement(type)) {
|
|
43
39
|
return this.elements[type];
|
|
44
40
|
} else {
|
|
45
|
-
var deepSearchType = returnReplaceableDeepSearchType(type);
|
|
41
|
+
var deepSearchType = (0, _utils.returnReplaceableDeepSearchType)(type);
|
|
46
42
|
var element = this.elements[deepSearchType];
|
|
47
43
|
if (element) return element;
|
|
48
44
|
if (!element) return false;
|
|
@@ -135,7 +131,7 @@ var Catalog = /*#__PURE__*/function () {
|
|
|
135
131
|
value: function registerMultiplePropertyType(propertyTypeArray) {
|
|
136
132
|
var _this2 = this;
|
|
137
133
|
propertyTypeArray.forEach(function (el) {
|
|
138
|
-
return _this2.registerPropertyType.apply(_this2,
|
|
134
|
+
return _this2.registerPropertyType.apply(_this2, (0, _toConsumableArray2["default"])(el));
|
|
139
135
|
});
|
|
140
136
|
}
|
|
141
137
|
|
|
@@ -273,5 +269,4 @@ var Catalog = /*#__PURE__*/function () {
|
|
|
273
269
|
return this.categories.hasOwnProperty(categoryName);
|
|
274
270
|
}
|
|
275
271
|
}]);
|
|
276
|
-
}();
|
|
277
|
-
export { Catalog as default };
|
|
272
|
+
}();
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.createArea = createArea;
|
|
6
|
+
exports.updatedArea = updatedArea;
|
|
7
|
+
var _three = _interopRequireWildcard(require("three"));
|
|
8
|
+
var Three = _three;
|
|
9
|
+
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
10
|
+
var _RGBELoader = require("three/examples/jsm/loaders/RGBELoader");
|
|
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); }
|
|
5
12
|
var params = {
|
|
6
13
|
envMap: 'HDR',
|
|
7
14
|
roughness: 0.9,
|
|
@@ -18,19 +25,19 @@ var params = {
|
|
|
18
25
|
* @param height: The height of the face
|
|
19
26
|
*/
|
|
20
27
|
var applyTexture = function applyTexture(material, texture, length, height) {
|
|
21
|
-
var loader = new TextureLoader();
|
|
28
|
+
var loader = new _three.TextureLoader();
|
|
22
29
|
if (texture) {
|
|
23
30
|
material.map = loader.load(texture.uri);
|
|
24
31
|
material.map.colorSpace = Three.SRGBColorSpace;
|
|
25
32
|
material.needsUpdate = true;
|
|
26
|
-
material.map.wrapS = RepeatWrapping;
|
|
27
|
-
material.map.wrapT = RepeatWrapping;
|
|
33
|
+
material.map.wrapS = _three.RepeatWrapping;
|
|
34
|
+
material.map.wrapT = _three.RepeatWrapping;
|
|
28
35
|
material.map.repeat.set(length * texture.lengthRepeatScale, height * texture.heightRepeatScale);
|
|
29
36
|
if (texture.normal) {
|
|
30
37
|
material.normalMap = loader.load(texture.normal.uri);
|
|
31
|
-
material.normalScale = new Vector2(texture.normal.normalScaleX, texture.normal.normalScaleY);
|
|
32
|
-
material.normalMap.wrapS = RepeatWrapping;
|
|
33
|
-
material.normalMap.wrapT = RepeatWrapping;
|
|
38
|
+
material.normalScale = new _three.Vector2(texture.normal.normalScaleX, texture.normal.normalScaleY);
|
|
39
|
+
material.normalMap.wrapS = _three.RepeatWrapping;
|
|
40
|
+
material.normalMap.wrapT = _three.RepeatWrapping;
|
|
34
41
|
material.normalMap.repeat.set(length * texture.normal.lengthRepeatScale, height * texture.normal.heightRepeatScale);
|
|
35
42
|
}
|
|
36
43
|
}
|
|
@@ -45,8 +52,8 @@ var assignUVs = function assignUVs(geometry) {
|
|
|
45
52
|
var _geometry$boundingBox = geometry.boundingBox,
|
|
46
53
|
min = _geometry$boundingBox.min,
|
|
47
54
|
max = _geometry$boundingBox.max;
|
|
48
|
-
var offset = new Vector2(0 - min.x, 0 - min.y);
|
|
49
|
-
var range = new Vector2(max.x - min.x, max.y - min.y);
|
|
55
|
+
var offset = new _three.Vector2(0 - min.x, 0 - min.y);
|
|
56
|
+
var range = new _three.Vector2(max.x - min.x, max.y - min.y);
|
|
50
57
|
var uvArray = [];
|
|
51
58
|
var position = geometry.attributes.position;
|
|
52
59
|
for (var i = 0; i < position.count; i += 3) {
|
|
@@ -61,7 +68,7 @@ var assignUVs = function assignUVs(geometry) {
|
|
|
61
68
|
geometry.setAttribute('uv', new Three.BufferAttribute(new Float32Array(uvArray), 2));
|
|
62
69
|
geometry.needsUpdate = true;
|
|
63
70
|
};
|
|
64
|
-
|
|
71
|
+
function createArea(element, layer, scene, textures) {
|
|
65
72
|
var vertices = [];
|
|
66
73
|
element.vertices.forEach(function (vertexID) {
|
|
67
74
|
vertices.push(layer.vertices.get(vertexID));
|
|
@@ -78,20 +85,20 @@ export function createArea(element, layer, scene, textures) {
|
|
|
78
85
|
if (texture.uri === undefined || texture.uri == '') {
|
|
79
86
|
texture.uri = layer.floorStyle.uri;
|
|
80
87
|
}
|
|
81
|
-
var shape = new Shape();
|
|
88
|
+
var shape = new _three.Shape();
|
|
82
89
|
shape.moveTo(vertices[0].x, vertices[0].y);
|
|
83
90
|
for (var i = 1; i < vertices.length; i++) {
|
|
84
91
|
shape.lineTo(vertices[i].x, vertices[i].y);
|
|
85
92
|
}
|
|
86
93
|
function loadFloorENV() {
|
|
87
|
-
return new RGBELoader().load('/assets/Window.hdr', function (texture) {
|
|
94
|
+
return new _RGBELoader.RGBELoader().load('/assets/Window.hdr', function (texture) {
|
|
88
95
|
texture.mapping = Three.EquirectangularReflectionMapping;
|
|
89
96
|
return texture;
|
|
90
97
|
});
|
|
91
98
|
}
|
|
92
99
|
var floorENV = loadFloorENV();
|
|
93
|
-
var loader = new TextureLoader();
|
|
94
|
-
var areaMaterial = new MeshPhysicalMaterial({
|
|
100
|
+
var loader = new _three.TextureLoader();
|
|
101
|
+
var areaMaterial = new _three.MeshPhysicalMaterial({
|
|
95
102
|
side: Three.DoubleSide,
|
|
96
103
|
metalness: texture.metalness,
|
|
97
104
|
roughness: 0.3,
|
|
@@ -123,20 +130,20 @@ export function createArea(element, layer, scene, textures) {
|
|
|
123
130
|
};
|
|
124
131
|
var shapeGeometry = new Three.ExtrudeGeometry(shape, extrudeSettings);
|
|
125
132
|
assignUVs(shapeGeometry);
|
|
126
|
-
var boundingBox = new Box3().setFromObject(new Mesh(shapeGeometry, new MeshBasicMaterial()));
|
|
133
|
+
var boundingBox = new _three.Box3().setFromObject(new _three.Mesh(shapeGeometry, new _three.MeshBasicMaterial()));
|
|
127
134
|
var width = boundingBox.max.x - boundingBox.min.x;
|
|
128
135
|
var height = boundingBox.max.y - boundingBox.min.y;
|
|
129
136
|
var texture_unit = 70 * 2.54; // 70 inch
|
|
130
137
|
|
|
131
138
|
applyTexture(areaMaterial, texture, width / texture_unit * 100, height / texture_unit * 100);
|
|
132
|
-
var area = new Mesh(shapeGeometry, areaMaterial);
|
|
139
|
+
var area = new _three.Mesh(shapeGeometry, areaMaterial);
|
|
133
140
|
area.rotation.x -= Math.PI / 2;
|
|
134
141
|
area.receiveShadow = true;
|
|
135
142
|
area.name = 'floor';
|
|
136
143
|
// This mesh is use for creating ceiling mesh
|
|
137
144
|
|
|
138
145
|
var shapeGeometry2 = new Three.ShapeGeometry(shape);
|
|
139
|
-
var area2 = new Mesh(shapeGeometry2, new MeshBasicMaterial({
|
|
146
|
+
var area2 = new _three.Mesh(shapeGeometry2, new _three.MeshBasicMaterial({
|
|
140
147
|
transparent: true,
|
|
141
148
|
opacity: 0.0
|
|
142
149
|
}));
|
|
@@ -148,7 +155,7 @@ export function createArea(element, layer, scene, textures) {
|
|
|
148
155
|
area.userData.floorSupport = floorSupport;
|
|
149
156
|
return Promise.resolve(area);
|
|
150
157
|
}
|
|
151
|
-
|
|
158
|
+
function updatedArea(element, layer, scene, textures, mesh, oldElement, differences, selfDestroy, selfBuild) {
|
|
152
159
|
var noPerf = function noPerf() {
|
|
153
160
|
selfDestroy();
|
|
154
161
|
return selfBuild();
|
|
@@ -172,7 +179,7 @@ export function updatedArea(element, layer, scene, textures, mesh, oldElement, d
|
|
|
172
179
|
* @returns {Shape}
|
|
173
180
|
*/
|
|
174
181
|
var createShape = function createShape(shapeCoords) {
|
|
175
|
-
var shape = new Shape();
|
|
182
|
+
var shape = new _three.Shape();
|
|
176
183
|
shape.moveTo(shapeCoords[0][0], shapeCoords[0][1]);
|
|
177
184
|
for (var i = 1; i < shapeCoords.length; i++) {
|
|
178
185
|
shape.lineTo(shapeCoords[i][0], shapeCoords[i][1]);
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = AreaFactory;
|
|
7
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _areaFactory3d = require("./area-factory-3d");
|
|
10
|
+
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
11
|
+
var _translator = _interopRequireDefault(require("../../translator/translator"));
|
|
12
|
+
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); }
|
|
2
13
|
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; }
|
|
3
|
-
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) {
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
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); }
|
|
7
|
-
import React from 'react';
|
|
8
|
-
import { createArea, updatedArea } from "./area-factory-3d";
|
|
9
|
-
import * as SharedStyle from "../../shared-style";
|
|
10
|
-
import Translator from "../../translator/translator";
|
|
11
|
-
var translator = new Translator();
|
|
12
|
-
export default function AreaFactory(name, info, textures) {
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var translator = new _translator["default"]();
|
|
16
|
+
function AreaFactory(name, info, textures) {
|
|
13
17
|
var areaElement = {
|
|
14
18
|
name: name,
|
|
15
19
|
prototype: 'areas',
|
|
@@ -51,16 +55,16 @@ export default function AreaFactory(name, info, textures) {
|
|
|
51
55
|
});
|
|
52
56
|
});
|
|
53
57
|
var fill = element.selected ? SharedStyle.AREA_MESH_COLOR.selected : SharedStyle.AREA_MESH_COLOR.unselected;
|
|
54
|
-
return /*#__PURE__*/
|
|
58
|
+
return /*#__PURE__*/_react["default"].createElement("path", {
|
|
55
59
|
d: path,
|
|
56
60
|
fill: fill
|
|
57
61
|
});
|
|
58
62
|
},
|
|
59
63
|
render3D: function render3D(element, layer, scene) {
|
|
60
|
-
return createArea(element, layer, scene, textures);
|
|
64
|
+
return (0, _areaFactory3d.createArea)(element, layer, scene, textures);
|
|
61
65
|
},
|
|
62
66
|
updateRender3D: function updateRender3D(element, layer, scene, mesh, oldElement, differences, selfDestroy, selfBuild) {
|
|
63
|
-
return updatedArea(element, layer, scene, textures, mesh, oldElement, differences, selfDestroy, selfBuild);
|
|
67
|
+
return (0, _areaFactory3d.updatedArea)(element, layer, scene, textures, mesh, oldElement, differences, selfDestroy, selfBuild);
|
|
64
68
|
}
|
|
65
69
|
};
|
|
66
70
|
if (textures && textures !== {}) {
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports["default"] = void 0;
|
|
6
|
+
var _wallFactory = _interopRequireDefault(require("./wall-factory"));
|
|
7
|
+
exports.WallFactory = _wallFactory["default"];
|
|
8
|
+
var _areaFactory = _interopRequireDefault(require("./area-factory"));
|
|
9
|
+
exports.AreaFactory = _areaFactory["default"];
|
|
10
|
+
var _default = exports["default"] = {
|
|
11
|
+
WallFactory: _wallFactory["default"],
|
|
12
|
+
AreaFactory: _areaFactory["default"]
|
|
7
13
|
};
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.buildWall = buildWall;
|
|
7
|
+
exports.updatedWall = updatedWall;
|
|
8
|
+
var _three = _interopRequireWildcard(require("three"));
|
|
9
|
+
var Three = _three;
|
|
10
|
+
var _geometry = require("../../utils/geometry");
|
|
11
|
+
var _helper = require("../../utils/helper");
|
|
12
|
+
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
13
|
+
var _constants = require("../../constants");
|
|
14
|
+
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
15
|
+
var _threeCSG = _interopRequireDefault(require("../../utils/threeCSG.es6"));
|
|
16
|
+
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); }
|
|
9
17
|
var params = {
|
|
10
18
|
envMap: 'HDR',
|
|
11
19
|
roughness: 0.1,
|
|
@@ -23,23 +31,23 @@ var halfPI = Math.PI / 2;
|
|
|
23
31
|
* @param height: The height of the face
|
|
24
32
|
*/
|
|
25
33
|
var applyTexture = function applyTexture(material, texture, length, height) {
|
|
26
|
-
var loader = new TextureLoader();
|
|
34
|
+
var loader = new _three.TextureLoader();
|
|
27
35
|
if (texture) {
|
|
28
36
|
material.map = loader.load(texture.uri["default"]);
|
|
29
37
|
material.map.colorSpace = Three.SRGBColorSpace, material.needsUpdate = true;
|
|
30
|
-
material.map.wrapS = RepeatWrapping;
|
|
31
|
-
material.map.wrapT = RepeatWrapping;
|
|
38
|
+
material.map.wrapS = _three.RepeatWrapping;
|
|
39
|
+
material.map.wrapT = _three.RepeatWrapping;
|
|
32
40
|
material.map.repeat.set(length * texture.lengthRepeatScale, height * texture.heightRepeatScale);
|
|
33
41
|
if (texture.normal) {
|
|
34
42
|
material.normalMap = loader.load(texture.normal.uri["default"]);
|
|
35
|
-
material.normalScale = new Vector2(texture.normal.normalScaleX, texture.normal.normalScaleY);
|
|
36
|
-
material.normalMap.wrapS = RepeatWrapping;
|
|
37
|
-
material.normalMap.wrapT = RepeatWrapping;
|
|
43
|
+
material.normalScale = new _three.Vector2(texture.normal.normalScaleX, texture.normal.normalScaleY);
|
|
44
|
+
material.normalMap.wrapS = _three.RepeatWrapping;
|
|
45
|
+
material.normalMap.wrapT = _three.RepeatWrapping;
|
|
38
46
|
material.normalMap.repeat.set(length * texture.normal.lengthRepeatScale, height * texture.normal.heightRepeatScale);
|
|
39
47
|
}
|
|
40
48
|
}
|
|
41
49
|
};
|
|
42
|
-
|
|
50
|
+
function buildWall(element, layer, scene, textures, mode) {
|
|
43
51
|
// Get the two vertices of the wall
|
|
44
52
|
var vetName0 = element.vertices.get(0);
|
|
45
53
|
var vetName1 = element.vertices.get(1);
|
|
@@ -59,9 +67,9 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
59
67
|
// Get height and thickness of the wall converting them into the current scene units
|
|
60
68
|
// let height = element.properties.getIn(['height', 'length']);
|
|
61
69
|
// let thickness = element.properties.getIn(['thickness', 'length']);
|
|
62
|
-
var height = convert(layer.ceilHeight).from(layer.unit).to(UNIT_CENTIMETER);
|
|
70
|
+
var height = (0, _convertUnitsLite.convert)(layer.ceilHeight).from(layer.unit).to(_constants.UNIT_CENTIMETER);
|
|
63
71
|
var thickness = 2.0;
|
|
64
|
-
var distance = verticesDistance(vertex0, vertex1);
|
|
72
|
+
var distance = (0, _geometry.verticesDistance)(vertex0, vertex1);
|
|
65
73
|
var soulMaterial = new Three.MeshPhongMaterial({
|
|
66
74
|
color: new Three.Color(wallColor).convertLinearToSRGB()
|
|
67
75
|
}); //element.selected ? SharedStyle.MESH_SELECTED : 0xD3D3D3
|
|
@@ -71,7 +79,7 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
71
79
|
soulVertices.push(new Three.Vector2(distance / 2, -height / 2));
|
|
72
80
|
soulVertices.push(new Three.Vector2(-distance / 2, -height / 2));
|
|
73
81
|
var soulShape = new Three.Shape(soulVertices);
|
|
74
|
-
var soulMesh = new Mesh(new BoxGeometry(distance, height, thickness), soulMaterial);
|
|
82
|
+
var soulMesh = new _three.Mesh(new _three.BoxGeometry(distance, height, thickness), soulMaterial);
|
|
75
83
|
if (element.userData.stateMode !== 'MODE_DRAWING_HOLE_3D') {
|
|
76
84
|
element.holes.forEach(function (holeID) {
|
|
77
85
|
var holeData = layer.holes.get(holeID);
|
|
@@ -94,14 +102,14 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
94
102
|
}
|
|
95
103
|
var shapeHole = new Three.Shape(holeVertices);
|
|
96
104
|
soulShape.holes.push(shapeHole);
|
|
97
|
-
var holeGeometry = new BoxGeometry(holeWidth, holeHeight, thickness);
|
|
98
|
-
var holeMesh = new Mesh(holeGeometry);
|
|
105
|
+
var holeGeometry = new _three.BoxGeometry(holeWidth, holeHeight, thickness);
|
|
106
|
+
var holeMesh = new _three.Mesh(holeGeometry);
|
|
99
107
|
holeMesh.position.x += holeWidth / 2;
|
|
100
108
|
holeMesh.position.y += holeHeight / 2;
|
|
101
109
|
holeMesh.position.x += holeDistance - distance / 2 - holeWidth / 2;
|
|
102
110
|
holeMesh.position.y -= height / 2 - holeAltitude;
|
|
103
|
-
var wallBSP = new
|
|
104
|
-
var holeBSP = new
|
|
111
|
+
var wallBSP = new _threeCSG["default"](soulMesh);
|
|
112
|
+
var holeBSP = new _threeCSG["default"](holeMesh);
|
|
105
113
|
var wallWithHoleBSP = wallBSP.subtract(holeBSP);
|
|
106
114
|
soulMesh = wallWithHoleBSP.toMesh(soulMaterial);
|
|
107
115
|
}
|
|
@@ -109,7 +117,7 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
109
117
|
}
|
|
110
118
|
var cAlpha = new Three.Vector2(vertex0.x - vertex1.x, vertex0.y - vertex1.y).angle();
|
|
111
119
|
var soulGeometry = new Three.ShapeGeometry(soulShape);
|
|
112
|
-
var soul = new Mesh(soulGeometry, soulMaterial);
|
|
120
|
+
var soul = new _three.Mesh(soulGeometry, soulMaterial);
|
|
113
121
|
soul.receiveShadow = true;
|
|
114
122
|
soul.castShadow = true;
|
|
115
123
|
soul.position.y += height / 2;
|
|
@@ -119,13 +127,13 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
119
127
|
soulMesh.rotation.y = cAlpha + Math.PI;
|
|
120
128
|
soulMesh.name = 'soul';
|
|
121
129
|
soulMesh.castShadow = true;
|
|
122
|
-
var frontMaterial = new MeshStandardMaterial({
|
|
130
|
+
var frontMaterial = new _three.MeshStandardMaterial({
|
|
123
131
|
color: new Three.Color(wallColor).convertLinearToSRGB(),
|
|
124
132
|
metalness: 0.1,
|
|
125
133
|
roughness: 0.9
|
|
126
134
|
// envMap: textureCube,
|
|
127
135
|
});
|
|
128
|
-
var backMaterial = new MeshStandardMaterial({
|
|
136
|
+
var backMaterial = new _three.MeshStandardMaterial({
|
|
129
137
|
color: new Three.Color(wallColor).convertLinearToSRGB(),
|
|
130
138
|
metalness: 0.1,
|
|
131
139
|
roughness: 0.9
|
|
@@ -137,11 +145,11 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
137
145
|
frontFace.material = frontMaterial;
|
|
138
146
|
frontFace.name = 'frontFace';
|
|
139
147
|
soulMesh.material = frontMaterial;
|
|
140
|
-
var merged = new Group();
|
|
148
|
+
var merged = new _three.Group();
|
|
141
149
|
merged.add(frontFace, soulMesh);
|
|
142
150
|
|
|
143
151
|
// if this wall is front of camera, show/hide
|
|
144
|
-
if (!isElevationView(mode)) {
|
|
152
|
+
if (!(0, _helper.isElevationView)(mode)) {
|
|
145
153
|
frontFace.onBeforeRender = function (renderer, scene, camera, geometry, material, group) {
|
|
146
154
|
var soulMesh = this.parent.getObjectByName('soul');
|
|
147
155
|
if (geometry.attributes.normal === undefined) return soulMesh.visible = false;
|
|
@@ -160,7 +168,7 @@ export function buildWall(element, layer, scene, textures, mode) {
|
|
|
160
168
|
}
|
|
161
169
|
return Promise.resolve(merged);
|
|
162
170
|
}
|
|
163
|
-
|
|
171
|
+
function updatedWall(element, layer, scene, textures, mesh, oldElement, differences, selfDestroy, selfBuild) {
|
|
164
172
|
var noPerf = function noPerf() {
|
|
165
173
|
selfDestroy();
|
|
166
174
|
return selfBuild();
|
|
@@ -171,7 +179,7 @@ export function updatedWall(element, layer, scene, textures, mesh, oldElement, d
|
|
|
171
179
|
if (differences[0] == 'selected') {
|
|
172
180
|
if (soul !== undefined) {
|
|
173
181
|
if (element.selected) {
|
|
174
|
-
soul.material = new MeshBasicMaterial({
|
|
182
|
+
soul.material = new _three.MeshBasicMaterial({
|
|
175
183
|
color: new Three.Color(SharedStyle.MESH_SELECTED).convertLinearToSRGB()
|
|
176
184
|
});
|
|
177
185
|
} else {
|
|
@@ -181,8 +189,8 @@ export function updatedWall(element, layer, scene, textures, mesh, oldElement, d
|
|
|
181
189
|
}
|
|
182
190
|
} else if (differences[0] == 'properties') {
|
|
183
191
|
if (differences[1] == 'thickness') {
|
|
184
|
-
var newThickness = LINE_THICKNESS / 2;
|
|
185
|
-
var oldThickness = LINE_THICKNESS / 2;
|
|
192
|
+
var newThickness = _constants.LINE_THICKNESS / 2;
|
|
193
|
+
var oldThickness = _constants.LINE_THICKNESS / 2;
|
|
186
194
|
// let newThickness = element.getIn(['properties', 'thickness', 'length']);
|
|
187
195
|
// let oldThickness = oldElement.getIn(['properties', 'thickness', 'length']);
|
|
188
196
|
var halfNewThickness = newThickness / 2;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = WallFactory;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _wallFactory3d = require("./wall-factory-3d");
|
|
9
|
+
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
10
|
+
var Geometry = _interopRequireWildcard(require("../../utils/geometry"));
|
|
11
|
+
var _translator = _interopRequireDefault(require("../../translator/translator"));
|
|
12
|
+
var _constants = require("../../constants");
|
|
13
|
+
var _line = _interopRequireDefault(require("../../class/line"));
|
|
14
|
+
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); }
|
|
7
15
|
// import Line from 'src/class/line';
|
|
8
|
-
|
|
16
|
+
|
|
9
17
|
var epsilon = 20;
|
|
10
18
|
var STYLE_TEXT = {
|
|
11
19
|
textAnchor: 'middle'
|
|
@@ -45,11 +53,11 @@ var STYLE_POLYGON_SELECTED = {
|
|
|
45
53
|
stroke: SharedStyle.LINE_MESH_COLOR.selected,
|
|
46
54
|
fill: SharedStyle.LINE_MESH_COLOR.selected
|
|
47
55
|
};
|
|
48
|
-
var translator = new
|
|
56
|
+
var translator = new _translator["default"]();
|
|
49
57
|
|
|
50
58
|
/** Create Lines from State */
|
|
51
59
|
var createLineGeometry = function createLineGeometry(scene, state) {
|
|
52
|
-
var wall_thickness = LINE_THICKNESS / 2;
|
|
60
|
+
var wall_thickness = _constants.LINE_THICKNESS / 2;
|
|
53
61
|
var layerID = scene.selectedLayer;
|
|
54
62
|
var layer = scene.getIn(['layers', layerID]);
|
|
55
63
|
var lines = layer.lines;
|
|
@@ -133,13 +141,13 @@ var createLineGeometry = function createLineGeometry(scene, state) {
|
|
|
133
141
|
});
|
|
134
142
|
}
|
|
135
143
|
});
|
|
136
|
-
state =
|
|
144
|
+
state = _line["default"].setRelatedLine(state, layer.id, line.id, intersection).updatedState;
|
|
137
145
|
});
|
|
138
146
|
return {
|
|
139
147
|
updatedState: state
|
|
140
148
|
};
|
|
141
149
|
};
|
|
142
|
-
|
|
150
|
+
function WallFactory(name, info, textures) {
|
|
143
151
|
var wallElement = {
|
|
144
152
|
name: name,
|
|
145
153
|
prototype: 'lines',
|
|
@@ -155,7 +163,7 @@ export default function WallFactory(name, info, textures) {
|
|
|
155
163
|
label: translator.t('thickness'),
|
|
156
164
|
type: 'length-measure',
|
|
157
165
|
defaultValue: {
|
|
158
|
-
length: LINE_THICKNESS / 2
|
|
166
|
+
length: _constants.LINE_THICKNESS / 2
|
|
159
167
|
}
|
|
160
168
|
},
|
|
161
169
|
properties: {},
|
|
@@ -175,7 +183,7 @@ export default function WallFactory(name, info, textures) {
|
|
|
175
183
|
var verticesinfo = layer.vertices.get(element.vertices.get(0));
|
|
176
184
|
var length = Geometry.pointsDistance(x1, y1, x2, y2);
|
|
177
185
|
var length_5 = length / 5;
|
|
178
|
-
var thickness = LINE_THICKNESS;
|
|
186
|
+
var thickness = _constants.LINE_THICKNESS;
|
|
179
187
|
// let thickness = element.getIn(['properties', 'thickness', 'length']);
|
|
180
188
|
var half_thickness = thickness / 2;
|
|
181
189
|
var half_thickness_eps = half_thickness + epsilon;
|
|
@@ -198,35 +206,35 @@ export default function WallFactory(name, info, textures) {
|
|
|
198
206
|
});
|
|
199
207
|
|
|
200
208
|
//Fill a polygon with the pattern specified by the polygon's id.(For example:fill='url(#pat) =><pattern id="pat">)
|
|
201
|
-
var outwall = /*#__PURE__*/
|
|
209
|
+
var outwall = /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("pattern", {
|
|
202
210
|
id: "pat",
|
|
203
211
|
x: "0",
|
|
204
212
|
y: "0",
|
|
205
213
|
width: "5",
|
|
206
214
|
height: "5",
|
|
207
215
|
patternUnits: "userSpaceOnUse"
|
|
208
|
-
}, /*#__PURE__*/
|
|
216
|
+
}, /*#__PURE__*/_react["default"].createElement("line", {
|
|
209
217
|
x1: "0",
|
|
210
218
|
y1: "0",
|
|
211
219
|
x2: "3",
|
|
212
220
|
y2: "3",
|
|
213
221
|
style: STYLE_LINE
|
|
214
222
|
})));
|
|
215
|
-
return !element.selected ? /*#__PURE__*/
|
|
223
|
+
return !element.selected ? /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("polygon", {
|
|
216
224
|
points: "".concat(x1, ",").concat(y1, " ").concat(related0x, ",").concat(related0y, " ").concat(related1x, ",").concat(related1y, " ").concat(x2, ",").concat(y2),
|
|
217
225
|
fill: "url(#pat)",
|
|
218
226
|
fillRule: "evenodd"
|
|
219
|
-
}), outwall, /*#__PURE__*/
|
|
227
|
+
}), outwall, /*#__PURE__*/_react["default"].createElement("line", {
|
|
220
228
|
x1: x1,
|
|
221
229
|
y1: y1,
|
|
222
230
|
x2: x2,
|
|
223
231
|
y2: y2,
|
|
224
232
|
style: STYLE_INTERIOR_LINE
|
|
225
|
-
})) : /*#__PURE__*/
|
|
233
|
+
})) : /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("polygon", {
|
|
226
234
|
points: "".concat(x1, ",").concat(y1, " ").concat(related0x, ",").concat(related0y, " ").concat(related1x, ",").concat(related1y, " ").concat(x2, ",").concat(y2),
|
|
227
235
|
fill: "url(#pat)",
|
|
228
236
|
fillRule: "evenodd"
|
|
229
|
-
}), outwall, /*#__PURE__*/
|
|
237
|
+
}), outwall, /*#__PURE__*/_react["default"].createElement("line", {
|
|
230
238
|
x1: x1,
|
|
231
239
|
y1: y1,
|
|
232
240
|
x2: x2,
|
|
@@ -235,10 +243,10 @@ export default function WallFactory(name, info, textures) {
|
|
|
235
243
|
}));
|
|
236
244
|
},
|
|
237
245
|
render3D: function render3D(element, layer, scene, mode) {
|
|
238
|
-
return buildWall(element, layer, scene, textures, mode);
|
|
246
|
+
return (0, _wallFactory3d.buildWall)(element, layer, scene, textures, mode);
|
|
239
247
|
},
|
|
240
248
|
updateRender3D: function updateRender3D(element, layer, scene, mesh, oldElement, differences, selfDestroy, selfBuild) {
|
|
241
|
-
return updatedWall(element, layer, scene, textures, mesh, oldElement, differences, selfDestroy, selfBuild);
|
|
249
|
+
return (0, _wallFactory3d.updatedWall)(element, layer, scene, textures, mesh, oldElement, differences, selfDestroy, selfBuild);
|
|
242
250
|
}
|
|
243
251
|
};
|
|
244
252
|
if (textures && textures !== {}) {
|