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