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