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