kitchen-simulator 1.1.1-test.62 → 1.1.1-test.64
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 +2 -10
- package/es/AppContext.js +3 -10
- package/es/KitchenConfigurator.js +70 -79
- package/es/KitchenConfiguratorApp.js +98 -107
- package/es/actions/area-actions.js +5 -12
- package/es/actions/export.js +12 -29
- package/es/actions/groups-actions.js +27 -45
- package/es/actions/holes-actions.js +34 -55
- package/es/actions/items-actions.js +94 -145
- package/es/actions/lines-actions.js +21 -36
- package/es/actions/project-actions.js +94 -145
- package/es/actions/scene-actions.js +11 -21
- package/es/actions/vertices-actions.js +7 -15
- package/es/actions/viewer2d-actions.js +21 -36
- package/es/actions/viewer3d-actions.js +9 -18
- package/es/catalog/areas/area/planner-element.js +2 -9
- package/es/catalog/catalog.js +15 -21
- package/es/catalog/factories/area-factory-3d.js +22 -31
- package/es/catalog/factories/area-factory.js +11 -20
- package/es/catalog/factories/export.js +6 -24
- package/es/catalog/factories/wall-factory-3d.js +31 -41
- package/es/catalog/factories/wall-factory.js +21 -31
- package/es/catalog/holes/door-closet/planner-element.js +15 -24
- package/es/catalog/holes/door-double/planner-element.js +15 -24
- package/es/catalog/holes/door-exterior/planner-element.js +16 -25
- package/es/catalog/holes/door-interior/planner-element.js +16 -25
- package/es/catalog/holes/door-panic/planner-element.js +7 -16
- package/es/catalog/holes/door-panic-double/planner-element.js +15 -24
- package/es/catalog/holes/door-sliding/planner-element.js +16 -25
- package/es/catalog/holes/doorway-framed/planner-element.js +11 -20
- package/es/catalog/holes/doorway-frameless/planner-element.js +7 -16
- package/es/catalog/holes/export.js +13 -97
- package/es/catalog/holes/window-clear/planner-element.js +10 -19
- package/es/catalog/holes/window-cross/planner-element.js +10 -19
- package/es/catalog/holes/window-double-hung/planner-element.js +10 -19
- package/es/catalog/holes/window-vertical/planner-element.js +10 -19
- package/es/catalog/lines/wall/planner-element.js +2 -9
- package/es/catalog/molding/molding-dcm/planner-element.js +5 -14
- package/es/catalog/molding/molding-fbm/planner-element.js +5 -14
- package/es/catalog/molding/molding-lrm/planner-element.js +5 -14
- package/es/catalog/properties/export.js +20 -80
- package/es/catalog/properties/property-checkbox.js +24 -31
- package/es/catalog/properties/property-color.js +16 -23
- package/es/catalog/properties/property-enum.js +24 -31
- package/es/catalog/properties/property-hidden.js +9 -16
- package/es/catalog/properties/property-lenght-measure.js +38 -45
- package/es/catalog/properties/property-length-measure.js +36 -43
- package/es/catalog/properties/property-length-measure_hole.js +38 -45
- package/es/catalog/properties/property-number.js +17 -24
- package/es/catalog/properties/property-read-only.js +16 -23
- package/es/catalog/properties/property-string.js +16 -23
- package/es/catalog/properties/property-toggle.js +16 -23
- package/es/catalog/properties/shared-property-style.js +1 -7
- package/es/catalog/utils/FuseUtils.js +8 -15
- package/es/catalog/utils/exporter.js +8 -15
- package/es/catalog/utils/geom-utils.js +13 -29
- package/es/catalog/utils/item-loader.js +84 -97
- package/es/catalog/utils/load-obj.js +20 -28
- package/es/catalog/utils/mtl-loader.js +3 -8
- package/es/catalog/utils/obj-loader.js +3 -8
- package/es/class/FuseUtils.js +8 -15
- package/es/class/area.js +22 -28
- package/es/class/export.js +23 -95
- package/es/class/group.js +53 -59
- package/es/class/guide.js +15 -21
- package/es/class/hole.js +83 -89
- package/es/class/item.js +141 -147
- package/es/class/layer.js +59 -65
- package/es/class/line.js +135 -143
- package/es/class/project.js +90 -98
- package/es/class/vertex.js +29 -35
- package/es/components/content.js +19 -28
- package/es/components/disclaimer/disclaimer.js +10 -18
- package/es/components/export.js +8 -32
- package/es/components/style/button.js +23 -31
- package/es/components/style/cancel-button.js +7 -14
- package/es/components/style/content-container.js +9 -16
- package/es/components/style/content-title.js +11 -20
- package/es/components/style/delete-button.js +8 -17
- package/es/components/style/export.js +30 -120
- package/es/components/style/form-block.js +8 -15
- package/es/components/style/form-color-input.js +7 -14
- package/es/components/style/form-label.js +8 -15
- package/es/components/style/form-number-input.js +41 -49
- package/es/components/style/form-number-input_2.js +36 -44
- package/es/components/style/form-select.js +17 -24
- package/es/components/style/form-slider.js +10 -17
- package/es/components/style/form-submit-button.js +8 -17
- package/es/components/style/form-text-input.js +26 -34
- package/es/components/viewer2d/area.js +17 -24
- package/es/components/viewer2d/export.js +30 -120
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +10 -17
- package/es/components/viewer2d/grids/grid-streak.js +10 -17
- package/es/components/viewer2d/grids/grid-vertical-streak.js +10 -17
- package/es/components/viewer2d/grids/grids.js +10 -19
- package/es/components/viewer2d/group.js +15 -24
- package/es/components/viewer2d/item.js +61 -70
- package/es/components/viewer2d/layer.js +23 -30
- package/es/components/viewer2d/line.js +101 -111
- package/es/components/viewer2d/ruler.js +22 -29
- package/es/components/viewer2d/rulerDist.js +21 -28
- package/es/components/viewer2d/rulerX.js +39 -47
- package/es/components/viewer2d/rulerY.js +37 -45
- package/es/components/viewer2d/scene.js +30 -38
- package/es/components/viewer2d/snap.js +13 -22
- package/es/components/viewer2d/state.js +18 -27
- package/es/components/viewer2d/utils.js +24 -37
- package/es/components/viewer2d/vertex.js +8 -17
- package/es/components/viewer2d/viewer2d.js +153 -163
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +17 -23
- package/es/components/viewer3d/dcm.js +1 -7
- package/es/components/viewer3d/fbm.js +1 -7
- package/es/components/viewer3d/front3D.js +12 -21
- package/es/components/viewer3d/grid-creator.js +8 -17
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +6 -14
- package/es/components/viewer3d/grids/grid-streak.js +5 -13
- package/es/components/viewer3d/grids/grid-vertical-streak.js +6 -14
- package/es/components/viewer3d/libs/first-person-controls.js +2 -9
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +1 -7
- package/es/components/viewer3d/libs/mtl-loader.js +1 -7
- package/es/components/viewer3d/libs/obj-loader.js +1 -7
- package/es/components/viewer3d/libs/orbit-controls.js +2 -8
- package/es/components/viewer3d/libs/pointer-lock-controls.js +2 -8
- package/es/components/viewer3d/lrm.js +1 -7
- package/es/components/viewer3d/model.js +1 -7
- package/es/components/viewer3d/pointer-lock-navigation.js +3 -10
- package/es/components/viewer3d/ruler-utils/itemRect.js +18 -25
- package/es/components/viewer3d/ruler-utils/layer3D.js +59 -66
- package/es/components/viewer3d/ruler-utils/ruler3D.js +39 -46
- package/es/components/viewer3d/ruler-utils/scene3D.js +9 -17
- package/es/components/viewer3d/ruler-utils/state3D.js +4 -11
- package/es/components/viewer3d/scene-creator.js +191 -226
- package/es/components/viewer3d/three-memory-cleaner.js +3 -12
- package/es/components/viewer3d/viewer3d-first-person.js +40 -46
- package/es/components/viewer3d/viewer3d.js +196 -202
- package/es/constants.js +349 -358
- package/es/index.js +7 -15
- package/es/models.js +177 -184
- package/es/plugins/SVGLoader.js +48 -53
- package/es/plugins/autosave.js +3 -9
- package/es/plugins/console-debugger.js +5 -12
- package/es/plugins/export.js +8 -32
- package/es/plugins/keyboard.js +29 -35
- package/es/reducers/areas-reducer.js +7 -13
- package/es/reducers/export.js +24 -96
- package/es/reducers/groups-reducer.js +31 -37
- package/es/reducers/holes-reducer.js +43 -49
- package/es/reducers/items-reducer.js +106 -112
- package/es/reducers/lines-reducer.js +28 -34
- package/es/reducers/project-reducer.js +105 -111
- package/es/reducers/reducer.js +16 -23
- package/es/reducers/scene-reducer.js +15 -21
- package/es/reducers/user-reducer.js +5 -11
- package/es/reducers/vertices-reducer.js +11 -17
- package/es/reducers/viewer2d-reducer.js +18 -24
- package/es/reducers/viewer3d-reducer.js +16 -22
- package/es/shared-style.js +10 -16
- package/es/styles/export.js +3 -11
- package/es/translator/en.js +1 -7
- package/es/translator/it.js +1 -7
- package/es/translator/ru.js +1 -7
- package/es/translator/translator.js +13 -19
- package/es/utils/browser.js +2 -9
- package/es/utils/convert-units-lite.js +1 -7
- package/es/utils/email-validator.js +1 -7
- package/es/utils/export.js +15 -46
- package/es/utils/geometry.js +181 -278
- package/es/utils/get-edges-of-subgraphs.js +2 -9
- package/es/utils/graph-cycles.js +8 -11
- package/es/utils/graph-inner-cycles.js +10 -18
- package/es/utils/graph.js +9 -17
- package/es/utils/helper.js +39 -63
- package/es/utils/history.js +8 -15
- package/es/utils/id-broker.js +8 -15
- package/es/utils/logger.js +1 -7
- package/es/utils/math.js +5 -12
- package/es/utils/molding.js +119 -144
- package/es/utils/name-generator.js +7 -13
- package/es/utils/objects-utils.js +7 -19
- package/es/utils/phone-validator.js +1 -7
- package/es/utils/process-black-list.js +3 -10
- package/es/utils/react-if.js +6 -12
- package/es/utils/snap-scene.js +27 -34
- package/es/utils/snap.js +45 -59
- package/es/utils/summarizeCart.js +1 -7
- package/es/utils/threeCSG.es6.js +13 -22
- package/es/version.js +1 -7
- package/lib/@history.js +2 -1
- package/lib/AppContext.js +2 -1
- package/lib/KitchenConfigurator.js +2 -1
- package/lib/KitchenConfiguratorApp.js +2 -1
- package/lib/catalog/areas/area/planner-element.js +2 -1
- package/lib/catalog/catalog.js +2 -1
- package/lib/catalog/factories/area-factory.js +2 -1
- package/lib/catalog/factories/wall-factory.js +2 -1
- package/lib/catalog/holes/door-closet/planner-element.js +2 -1
- package/lib/catalog/holes/door-double/planner-element.js +2 -1
- package/lib/catalog/holes/door-exterior/planner-element.js +2 -1
- package/lib/catalog/holes/door-interior/planner-element.js +2 -1
- package/lib/catalog/holes/door-panic/planner-element.js +2 -1
- package/lib/catalog/holes/door-panic-double/planner-element.js +2 -1
- package/lib/catalog/holes/door-sliding/planner-element.js +2 -1
- package/lib/catalog/holes/doorway-framed/planner-element.js +2 -1
- package/lib/catalog/holes/doorway-frameless/planner-element.js +2 -1
- package/lib/catalog/holes/window-clear/planner-element.js +2 -1
- package/lib/catalog/holes/window-cross/planner-element.js +2 -1
- package/lib/catalog/holes/window-double-hung/planner-element.js +2 -1
- package/lib/catalog/holes/window-vertical/planner-element.js +2 -1
- package/lib/catalog/lines/wall/planner-element.js +2 -1
- package/lib/catalog/molding/molding-dcm/planner-element.js +2 -1
- package/lib/catalog/molding/molding-fbm/planner-element.js +2 -1
- package/lib/catalog/molding/molding-lrm/planner-element.js +2 -1
- package/lib/catalog/properties/property-checkbox.js +2 -1
- package/lib/catalog/properties/property-color.js +2 -1
- package/lib/catalog/properties/property-enum.js +2 -1
- package/lib/catalog/properties/property-hidden.js +2 -1
- package/lib/catalog/properties/property-lenght-measure.js +2 -1
- package/lib/catalog/properties/property-length-measure.js +2 -1
- package/lib/catalog/properties/property-length-measure_hole.js +2 -1
- package/lib/catalog/properties/property-number.js +2 -1
- package/lib/catalog/properties/property-read-only.js +2 -1
- package/lib/catalog/properties/property-string.js +2 -1
- package/lib/catalog/properties/property-toggle.js +2 -1
- package/lib/catalog/properties/shared-property-style.js +2 -1
- package/lib/catalog/utils/FuseUtils.js +2 -1
- package/lib/catalog/utils/exporter.js +2 -1
- package/lib/class/FuseUtils.js +2 -1
- package/lib/class/area.js +2 -1
- package/lib/class/group.js +2 -1
- package/lib/class/hole.js +2 -1
- package/lib/class/item.js +2 -1
- package/lib/class/layer.js +2 -1
- package/lib/class/line.js +2 -1
- package/lib/class/project.js +2 -1
- package/lib/class/vertex.js +2 -1
- package/lib/components/content.js +2 -1
- package/lib/components/disclaimer/disclaimer.js +2 -1
- package/lib/components/style/button.js +2 -1
- package/lib/components/style/cancel-button.js +2 -1
- package/lib/components/style/content-container.js +2 -1
- package/lib/components/style/content-title.js +2 -1
- package/lib/components/style/delete-button.js +2 -1
- package/lib/components/style/form-block.js +2 -1
- package/lib/components/style/form-color-input.js +2 -1
- package/lib/components/style/form-label.js +2 -1
- package/lib/components/style/form-number-input.js +2 -1
- package/lib/components/style/form-number-input_2.js +2 -1
- package/lib/components/style/form-select.js +2 -1
- package/lib/components/style/form-slider.js +2 -1
- package/lib/components/style/form-submit-button.js +2 -1
- package/lib/components/style/form-text-input.js +2 -1
- package/lib/components/viewer2d/area.js +2 -1
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +2 -1
- package/lib/components/viewer2d/grids/grid-streak.js +2 -1
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +2 -1
- package/lib/components/viewer2d/grids/grids.js +2 -1
- package/lib/components/viewer2d/group.js +2 -1
- package/lib/components/viewer2d/item.js +2 -1
- package/lib/components/viewer2d/layer.js +2 -1
- package/lib/components/viewer2d/ruler.js +2 -1
- package/lib/components/viewer2d/rulerDist.js +2 -1
- package/lib/components/viewer2d/rulerX.js +2 -1
- package/lib/components/viewer2d/rulerY.js +2 -1
- package/lib/components/viewer2d/scene.js +2 -1
- package/lib/components/viewer2d/snap.js +2 -1
- package/lib/components/viewer2d/state.js +2 -1
- package/lib/components/viewer2d/vertex.js +2 -1
- package/lib/components/viewer2d/viewer2d.js +2 -1
- package/lib/components/viewer3d/dcm.js +2 -1
- package/lib/components/viewer3d/fbm.js +2 -1
- package/lib/components/viewer3d/front3D.js +2 -1
- package/lib/components/viewer3d/grid-creator.js +2 -1
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +2 -1
- package/lib/components/viewer3d/grids/grid-streak.js +2 -1
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +2 -1
- package/lib/components/viewer3d/libs/mtl-loader.js +2 -1
- package/lib/components/viewer3d/libs/obj-loader.js +2 -1
- package/lib/components/viewer3d/lrm.js +2 -1
- package/lib/components/viewer3d/ruler-utils/itemRect.js +2 -1
- package/lib/components/viewer3d/ruler-utils/layer3D.js +2 -1
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +2 -1
- package/lib/components/viewer3d/ruler-utils/state3D.js +2 -1
- package/lib/components/viewer3d/viewer3d-first-person.js +2 -1
- package/lib/components/viewer3d/viewer3d.js +2 -1
- package/lib/plugins/autosave.js +2 -1
- package/lib/plugins/console-debugger.js +2 -1
- package/lib/plugins/keyboard.js +2 -1
- package/lib/reducers/areas-reducer.js +2 -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 -1
- package/lib/reducers/vertices-reducer.js +2 -1
- package/lib/reducers/viewer2d-reducer.js +2 -1
- package/lib/reducers/viewer3d-reducer.js +2 -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 +2 -1
- package/lib/utils/name-generator.js +2 -1
- package/lib/utils/react-if.js +2 -1
- package/lib/utils/threeCSG.es6.js +2 -1
- package/package.json +2 -1
package/es/class/layer.js
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _immutable = require("immutable");
|
|
11
|
-
var _export = require("./export");
|
|
12
|
-
var _export2 = require("../utils/export");
|
|
13
|
-
var _models = require("../models");
|
|
14
|
-
var _helper = require("../utils/helper");
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import { List } from 'immutable';
|
|
4
|
+
import { Area, Hole, Item, Line, Project, Vertex } from "./export";
|
|
5
|
+
import { GeometryUtils, GraphInnerCycles, IDBroker } from "../utils/export";
|
|
6
|
+
import { Layer as LayerModel } from "../models";
|
|
7
|
+
import { isEmpty } from "../utils/helper";
|
|
15
8
|
var sameSet = function sameSet(set1, set2) {
|
|
16
9
|
return set1.size === set2.size && set1.isSuperset(set2) && set1.isSubset(set2);
|
|
17
10
|
};
|
|
@@ -24,17 +17,17 @@ var sameDirection = function sameDirection(list1, list2) {
|
|
|
24
17
|
var i1 = list2.indexOf(l1);
|
|
25
18
|
return (i1 - i0 - 1) % list1.size == 0;
|
|
26
19
|
};
|
|
27
|
-
var Layer =
|
|
20
|
+
var Layer = /*#__PURE__*/function () {
|
|
28
21
|
function Layer() {
|
|
29
|
-
(
|
|
22
|
+
_classCallCheck(this, Layer);
|
|
30
23
|
}
|
|
31
|
-
return (
|
|
24
|
+
return _createClass(Layer, null, [{
|
|
32
25
|
key: "create",
|
|
33
26
|
value: function create(state, name, altitude) {
|
|
34
|
-
var layerID =
|
|
27
|
+
var layerID = IDBroker.acquireID();
|
|
35
28
|
name = name || "layer ".concat(layerID);
|
|
36
29
|
altitude = altitude || 0;
|
|
37
|
-
var layer = new
|
|
30
|
+
var layer = new LayerModel({
|
|
38
31
|
id: layerID,
|
|
39
32
|
name: name,
|
|
40
33
|
altitude: altitude
|
|
@@ -48,7 +41,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
48
41
|
}, {
|
|
49
42
|
key: "select",
|
|
50
43
|
value: function select(state, layerID) {
|
|
51
|
-
if (!state.get('alterate')) state =
|
|
44
|
+
if (!state.get('alterate')) state = Project.unselectAll(state).updatedState;
|
|
52
45
|
state = state.setIn(['scene', 'selectedLayer'], layerID);
|
|
53
46
|
return {
|
|
54
47
|
updatedState: state
|
|
@@ -57,7 +50,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
57
50
|
}, {
|
|
58
51
|
key: "selectAll",
|
|
59
52
|
value: function selectAll(state, layerID) {
|
|
60
|
-
if (!state.get('alterate')) state =
|
|
53
|
+
if (!state.get('alterate')) state = Project.unselectAll(state).updatedState;
|
|
61
54
|
state = state.setIn(['scene', 'selectedLayer'], layerID);
|
|
62
55
|
var layer = state.scene.layers.get(layerID);
|
|
63
56
|
layer.items.forEach(function (data) {
|
|
@@ -124,16 +117,16 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
124
117
|
items = _state$getIn.items,
|
|
125
118
|
areas = _state$getIn.areas;
|
|
126
119
|
if (lines) lines.forEach(function (line) {
|
|
127
|
-
state =
|
|
120
|
+
state = Line.unselect(state, layerID, line.id).updatedState;
|
|
128
121
|
});
|
|
129
122
|
if (holes) holes.forEach(function (hole) {
|
|
130
|
-
state =
|
|
123
|
+
state = Hole.unselect(state, layerID, hole.id).updatedState;
|
|
131
124
|
});
|
|
132
125
|
if (items) items.forEach(function (item) {
|
|
133
|
-
state =
|
|
126
|
+
state = Item.unselect(state, layerID, item.id).updatedState;
|
|
134
127
|
});
|
|
135
128
|
if (areas) areas.forEach(function (area) {
|
|
136
|
-
state =
|
|
129
|
+
state = Area.unselect(state, layerID, area.id).updatedState;
|
|
137
130
|
});
|
|
138
131
|
return {
|
|
139
132
|
updatedState: state
|
|
@@ -200,9 +193,9 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
200
193
|
checkLines.push(relatedLine);
|
|
201
194
|
checkLines.push(line);
|
|
202
195
|
var relatedLines = [];
|
|
203
|
-
|
|
196
|
+
GeometryUtils.getRelatedLines(relatedLines, line, vertices, allLines);
|
|
204
197
|
var delflag = false;
|
|
205
|
-
if (
|
|
198
|
+
if (isEmpty(allLines[line.id])) {
|
|
206
199
|
delflag = true;
|
|
207
200
|
}
|
|
208
201
|
if (relatedLines.length > 1) {
|
|
@@ -226,8 +219,8 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
226
219
|
value: function interiorsurfacedetect(state, drawingLine, vertices, allLineArray, layerID) {
|
|
227
220
|
var relatedLines = [];
|
|
228
221
|
var allLines = allLineArray.toJS();
|
|
229
|
-
|
|
230
|
-
if (
|
|
222
|
+
GeometryUtils.getRelatedLines(relatedLines, drawingLine, vertices, allLines);
|
|
223
|
+
if (isEmpty(relatedLines)) {
|
|
231
224
|
return {
|
|
232
225
|
updatedState: state
|
|
233
226
|
};
|
|
@@ -237,7 +230,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
237
230
|
this.lineInterior(relatedLines[0], drawingLine, changeLines, vertices, allLines, checkLines);
|
|
238
231
|
for (var i = 0; i < changeLines.length; i++) {
|
|
239
232
|
// if (changeLines[i].vertices.length === 2)
|
|
240
|
-
if (!
|
|
233
|
+
if (!isEmpty(allLines[changeLines[i].id])) {
|
|
241
234
|
state = state.mergeIn(['scene', 'layers', layerID, 'lines', changeLines[i].id, 'vertices'], changeLines[i].vertices);
|
|
242
235
|
}
|
|
243
236
|
}
|
|
@@ -250,7 +243,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
250
243
|
tallLinesArray.forEach(function (tline) {
|
|
251
244
|
var line = tline.toJS();
|
|
252
245
|
var relatedLines = [];
|
|
253
|
-
|
|
246
|
+
GeometryUtils.getRelatedLines(relatedLines, line, vertices, tallLines);
|
|
254
247
|
relatedLines.forEach(function (relLine) {
|
|
255
248
|
if (relLine.vertices[0] === line.vertices[1]) {
|
|
256
249
|
if (!reverseLines.some(function (reverseLine) {
|
|
@@ -347,15 +340,15 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
347
340
|
// if (vertexCount > 1 && !linesArray.some(line => (line[0]==0 && line[1]==vertexCount-1) || (line[1]==0 && line[0]==vertexCount-1))) {
|
|
348
341
|
// linesArray = linesArray.set(IDBroker.acquireID(), [0, vertexCount-1]);
|
|
349
342
|
// }
|
|
350
|
-
var innerCyclesByVerticesArrayIndex =
|
|
351
|
-
var innerCyclesByVerticesID = new
|
|
352
|
-
return new
|
|
343
|
+
var innerCyclesByVerticesArrayIndex = GraphInnerCycles.calculateInnerCycles(verticesArray, linesArray);
|
|
344
|
+
var innerCyclesByVerticesID = new List(innerCyclesByVerticesArrayIndex).map(function (cycle) {
|
|
345
|
+
return new List(cycle.map(function (vertexIndex) {
|
|
353
346
|
return verticesArrayIndex_to_vertexID[vertexIndex];
|
|
354
347
|
}));
|
|
355
348
|
});
|
|
356
349
|
// All area vertices should be ordered in counterclockwise order
|
|
357
350
|
innerCyclesByVerticesID = innerCyclesByVerticesID.map(function (area) {
|
|
358
|
-
return
|
|
351
|
+
return GraphInnerCycles.isClockWiseOrder(area.map(function (vertexID) {
|
|
359
352
|
return state.getIn(['scene', 'layers', layerID, 'vertices', vertexID]);
|
|
360
353
|
})) ? area.reverse() : area;
|
|
361
354
|
});
|
|
@@ -367,7 +360,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
367
360
|
return sameDirection(vertices, area.vertices);
|
|
368
361
|
});
|
|
369
362
|
if (!areaInUse) {
|
|
370
|
-
state =
|
|
363
|
+
state = Area.remove(state, layerID, area.id).updatedState;
|
|
371
364
|
}
|
|
372
365
|
});
|
|
373
366
|
|
|
@@ -378,12 +371,12 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
378
371
|
});
|
|
379
372
|
if (areaInUse) {
|
|
380
373
|
areaIDs[ind] = areaInUse.id;
|
|
381
|
-
state = state.setIn(['scene', 'layers', layerID, 'areas', areaIDs[ind], 'holes'], new
|
|
374
|
+
state = state.setIn(['scene', 'layers', layerID, 'areas', areaIDs[ind], 'holes'], new List());
|
|
382
375
|
} else {
|
|
383
376
|
var areaVerticesCoords = cycle.map(function (vertexID) {
|
|
384
377
|
return state.getIn(['scene', 'layers', layerID, 'vertices', vertexID]);
|
|
385
378
|
});
|
|
386
|
-
var resultAdd =
|
|
379
|
+
var resultAdd = Area.add(state, layerID, 'area', areaVerticesCoords, state.catalog);
|
|
387
380
|
areaIDs[ind] = resultAdd.area.id;
|
|
388
381
|
state = resultAdd.updatedState;
|
|
389
382
|
}
|
|
@@ -395,7 +388,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
395
388
|
var _state$getIn2 = state.getIn(['scene', 'layers', layerID, 'vertices', vertexID]),
|
|
396
389
|
x = _state$getIn2.x,
|
|
397
390
|
y = _state$getIn2.y;
|
|
398
|
-
return new
|
|
391
|
+
return new List([x, y]);
|
|
399
392
|
});
|
|
400
393
|
return {
|
|
401
394
|
id: id,
|
|
@@ -406,11 +399,11 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
406
399
|
// Find all holes for an area
|
|
407
400
|
var i, j;
|
|
408
401
|
for (i = 0; i < verticesCoordsForArea.length; i++) {
|
|
409
|
-
var holesList = new
|
|
402
|
+
var holesList = new List(); // The holes for this area
|
|
410
403
|
var areaVerticesList = verticesCoordsForArea[i].vertices.flatten().toArray();
|
|
411
404
|
for (j = 0; j < verticesCoordsForArea.length; j++) {
|
|
412
405
|
if (i !== j) {
|
|
413
|
-
var isHole =
|
|
406
|
+
var isHole = GeometryUtils.ContainsPoint(areaVerticesList, verticesCoordsForArea[j].vertices.get(0).get(0), verticesCoordsForArea[j].vertices.get(0).get(1));
|
|
414
407
|
if (isHole) {
|
|
415
408
|
holesList = holesList.push(verticesCoordsForArea[j].id);
|
|
416
409
|
}
|
|
@@ -437,7 +430,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
437
430
|
|
|
438
431
|
// update direction of lines surrounding area
|
|
439
432
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
440
|
-
var allAreaLines =
|
|
433
|
+
var allAreaLines = GeometryUtils.getAllAreaLines(layer);
|
|
441
434
|
// check whether the room is colsed. in this case, the allAreaLines have some values and if doesn't close, this value has nothing.
|
|
442
435
|
layer.lines.forEach(function (line) {
|
|
443
436
|
allAreaLines.some(function (l) {
|
|
@@ -466,7 +459,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
466
459
|
// layer.vertices.get(line.vertices.get(0)).toJS()
|
|
467
460
|
// );
|
|
468
461
|
if (!isAreaLine) {
|
|
469
|
-
if (!(
|
|
462
|
+
if (!(GeometryUtils.isPointInArea(GeometryUtils.getAllArea(layer), layer.vertices.get(line.vertices.get(0))) && GeometryUtils.isPointInArea(GeometryUtils.getAllArea(layer), layer.vertices.get(line.vertices.get(1))))) {
|
|
470
463
|
separatedLine.push(line);
|
|
471
464
|
}
|
|
472
465
|
}
|
|
@@ -494,7 +487,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
494
487
|
pointArray.push(point);
|
|
495
488
|
});
|
|
496
489
|
pointArray.reverse();
|
|
497
|
-
var resultAdd =
|
|
490
|
+
var resultAdd = Area.add(state, layerID, 'area', pointArray, state.catalog);
|
|
498
491
|
state = resultAdd.updatedState;
|
|
499
492
|
});
|
|
500
493
|
} else if (separatedLineCnt > 1) {
|
|
@@ -531,12 +524,12 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
531
524
|
x: ptXMin,
|
|
532
525
|
y: ptYMAX
|
|
533
526
|
});
|
|
534
|
-
var resultAdd =
|
|
527
|
+
var resultAdd = Area.add(state, layerID, 'area', pointArray, state.catalog);
|
|
535
528
|
state = resultAdd.updatedState;
|
|
536
|
-
if (!
|
|
529
|
+
if (!isEmpty(drawingInfor)) {
|
|
537
530
|
var allVertices = state.getIn(['scene', 'layers', layerID, 'vertices']);
|
|
538
531
|
var resultInterior = this.interiorsurfacedetect(state, drawingInfor.drawingLine.toJS(), allVertices.toJS(), allLinesArray, layerID);
|
|
539
|
-
if (!
|
|
532
|
+
if (!isEmpty(resultInterior)) {
|
|
540
533
|
state = resultInterior.updatedState;
|
|
541
534
|
}
|
|
542
535
|
}
|
|
@@ -553,8 +546,8 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
553
546
|
var v_id1 = line.getIn(['vertices', 1]);
|
|
554
547
|
var v0 = newState.getIn(['scene', 'layers', layerID, 'vertices', v_id0]);
|
|
555
548
|
var v1 = newState.getIn(['scene', 'layers', layerID, 'vertices', v_id1]);
|
|
556
|
-
if (
|
|
557
|
-
newState =
|
|
549
|
+
if (GeometryUtils.verticesDistance(v0, v1) === 0) {
|
|
550
|
+
newState = Line.remove(newState, layerID, line.id).updatedState;
|
|
558
551
|
}
|
|
559
552
|
return newState;
|
|
560
553
|
}, state);
|
|
@@ -571,7 +564,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
571
564
|
updatedState: state
|
|
572
565
|
};
|
|
573
566
|
var doubleVertices = state.getIn(['scene', 'layers', layerID, 'vertices']).filter(function (v) {
|
|
574
|
-
return v.id !== vertexID &&
|
|
567
|
+
return v.id !== vertexID && GeometryUtils.samePoints(vertex, v) // &&
|
|
575
568
|
//!v.lines.contains( vertexID ) &&
|
|
576
569
|
//!v.areas.contains( vertexID )
|
|
577
570
|
;
|
|
@@ -588,7 +581,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
588
581
|
});
|
|
589
582
|
}
|
|
590
583
|
});
|
|
591
|
-
reducedState =
|
|
584
|
+
reducedState = Vertex.addElement(reducedState, layerID, vertexID, 'lines', lineID).updatedState;
|
|
592
585
|
return reducedState;
|
|
593
586
|
}, state);
|
|
594
587
|
var biReduced = doubleVertex.areas.reduce(function (reducedState, areaID) {
|
|
@@ -597,10 +590,10 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
597
590
|
return v === doubleVertex.id ? vertexID : v;
|
|
598
591
|
});
|
|
599
592
|
});
|
|
600
|
-
reducedState =
|
|
593
|
+
reducedState = Vertex.addElement(reducedState, layerID, vertexID, 'areas', areaID).updatedState;
|
|
601
594
|
return reducedState;
|
|
602
595
|
}, reduced);
|
|
603
|
-
state =
|
|
596
|
+
state = Vertex.remove(biReduced, layerID, doubleVertex.id, null, null, true).updatedState;
|
|
604
597
|
});
|
|
605
598
|
return {
|
|
606
599
|
updatedState: state
|
|
@@ -611,16 +604,16 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
611
604
|
value: function setPropertiesOnSelected(state, layerID, properties) {
|
|
612
605
|
var selected = state.getIn(['scene', 'layers', layerID, 'selected']);
|
|
613
606
|
selected.lines.forEach(function (lineID) {
|
|
614
|
-
return state =
|
|
607
|
+
return state = Line.setProperties(state, layerID, lineID, properties).updatedState;
|
|
615
608
|
});
|
|
616
609
|
selected.holes.forEach(function (holeID) {
|
|
617
|
-
return state =
|
|
610
|
+
return state = Hole.setProperties(state, layerID, holeID, properties).updatedState;
|
|
618
611
|
});
|
|
619
612
|
selected.areas.forEach(function (areaID) {
|
|
620
|
-
return state =
|
|
613
|
+
return state = Area.setProperties(state, layerID, areaID, properties).updatedState;
|
|
621
614
|
});
|
|
622
615
|
selected.items.forEach(function (itemID) {
|
|
623
|
-
return state =
|
|
616
|
+
return state = Item.setProperties(state, layerID, itemID, properties).updatedState;
|
|
624
617
|
});
|
|
625
618
|
return {
|
|
626
619
|
updatedState: state
|
|
@@ -631,16 +624,16 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
631
624
|
value: function updatePropertiesOnSelected(state, layerID, properties) {
|
|
632
625
|
var selected = state.getIn(['scene', 'layers', layerID, 'selected']);
|
|
633
626
|
selected.lines.forEach(function (lineID) {
|
|
634
|
-
return state =
|
|
627
|
+
return state = Line.updateProperties(state, layerID, lineID, properties).updatedState;
|
|
635
628
|
});
|
|
636
629
|
selected.holes.forEach(function (holeID) {
|
|
637
|
-
return state =
|
|
630
|
+
return state = Hole.updateProperties(state, layerID, holeID, properties).updatedState;
|
|
638
631
|
});
|
|
639
632
|
selected.areas.forEach(function (areaID) {
|
|
640
|
-
return state =
|
|
633
|
+
return state = Area.updateProperties(state, layerID, areaID, properties).updatedState;
|
|
641
634
|
});
|
|
642
635
|
selected.items.forEach(function (itemID) {
|
|
643
|
-
return state =
|
|
636
|
+
return state = Item.updateProperties(state, layerID, itemID, properties).updatedState;
|
|
644
637
|
});
|
|
645
638
|
return {
|
|
646
639
|
updatedState: state
|
|
@@ -651,13 +644,13 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
651
644
|
value: function setAttributesOnSelected(state, layerID, attributes) {
|
|
652
645
|
var selected = state.getIn(['scene', 'layers', layerID, 'selected']);
|
|
653
646
|
selected.lines.forEach(function (lineID) {
|
|
654
|
-
return state =
|
|
647
|
+
return state = Line.setAttributes(state, layerID, lineID, attributes).updatedState;
|
|
655
648
|
});
|
|
656
649
|
selected.holes.forEach(function (holeID) {
|
|
657
|
-
return state =
|
|
650
|
+
return state = Hole.setAttributes(state, layerID, holeID, attributes).updatedState;
|
|
658
651
|
});
|
|
659
652
|
selected.items.forEach(function (itemID) {
|
|
660
|
-
return state =
|
|
653
|
+
return state = Item.setAttributes(state, layerID, itemID, attributes).updatedState;
|
|
661
654
|
});
|
|
662
655
|
//selected.areas.forEach(areaID => state = Area.setAttributes( state, layerID, areaID, attributes ).updatedState);
|
|
663
656
|
|
|
@@ -666,4 +659,5 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
666
659
|
};
|
|
667
660
|
}
|
|
668
661
|
}]);
|
|
669
|
-
}();
|
|
662
|
+
}();
|
|
663
|
+
export { Layer as default };
|