kitchen-simulator 4.1.0-react-18 → 4.1.1
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/README.md +3 -0
- package/es/AppContext.js +1 -1
- package/es/LiteKitchenConfigurator.js +162 -111
- package/es/LiteRenderer.js +161 -129
- package/es/actions/export.js +25 -12
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/catalog.js +21 -5
- package/es/catalog/factories/area-factory-3d.js +17 -17
- package/es/catalog/factories/wall-factory.js +1 -1
- package/es/catalog/holes/window-clear/planner-element.js +2 -2
- package/es/catalog/properties/export.js +21 -0
- package/es/catalog/properties/property-checkbox.js +68 -0
- package/es/catalog/properties/property-color.js +39 -0
- package/es/catalog/properties/property-enum.js +50 -0
- package/es/catalog/properties/property-hidden.js +19 -0
- package/es/catalog/properties/property-lenght-measure.js +100 -0
- package/es/catalog/properties/property-length-measure.js +84 -0
- package/es/catalog/properties/property-length-measure_hole.js +100 -0
- package/es/catalog/properties/property-number.js +48 -0
- package/es/catalog/properties/property-read-only.js +26 -0
- package/es/catalog/properties/property-string.js +48 -0
- package/es/catalog/properties/property-toggle.js +39 -0
- package/es/catalog/properties/shared-property-style.js +14 -0
- package/es/catalog/utils/exporter.js +24 -11
- package/es/catalog/utils/item-loader.js +222 -213
- package/es/class/hole.js +0 -2
- package/es/class/item.js +89 -70
- package/es/class/layer.js +1 -1
- package/es/class/line.js +4 -8
- package/es/class/project.js +97 -80
- package/es/components/content.js +5 -93
- package/es/components/export.js +4 -6
- package/es/components/style/button.js +106 -0
- package/es/components/style/cancel-button.js +21 -0
- package/es/components/style/content-container.js +30 -0
- package/es/components/style/content-title.js +25 -0
- package/es/components/style/delete-button.js +24 -0
- package/es/components/style/export.js +28 -2
- package/es/components/style/form-block.js +20 -0
- package/es/components/style/form-color-input.js +26 -0
- package/es/components/style/form-label.js +22 -0
- package/es/components/style/form-number-input.js +29 -27
- package/es/components/style/form-number-input_2.js +200 -0
- package/es/components/style/form-select.js +19 -0
- package/es/components/style/form-slider.js +60 -0
- package/es/components/style/form-submit-button.js +25 -0
- package/es/components/style/form-text-input.js +69 -0
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/group.js +5 -4
- package/es/components/viewer2d/item.js +155 -359
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +22 -52
- package/es/components/viewer2d/ruler.js +16 -11
- package/es/components/viewer2d/rulerDist.js +38 -51
- package/es/components/viewer2d/rulerX.js +4 -2
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +17 -12
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/vertex.js +3 -2
- package/es/components/viewer2d/viewer2d.js +56 -87
- package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/es/components/viewer3d/scene-creator.js +255 -58
- package/es/components/viewer3d/viewer3d-first-person.js +24 -26
- package/es/components/viewer3d/viewer3d.js +103 -124
- package/es/constants.js +7 -2
- package/es/devLiteRenderer.js +491 -150
- package/es/index.js +590 -21
- package/es/models.js +13 -8
- package/es/plugins/SVGLoader.js +1414 -0
- package/es/plugins/console-debugger.js +34 -0
- package/es/plugins/export.js +7 -0
- package/es/plugins/keyboard.js +110 -0
- package/es/reducers/project-reducer.js +3 -0
- package/es/reducers/viewer2d-reducer.js +3 -1
- package/es/reducers/viewer3d-reducer.js +3 -1
- package/es/styles/export.js +5 -0
- package/es/styles/tabs.css +40 -0
- package/es/utils/geometry.js +77 -119
- package/es/utils/helper.js +38 -1
- package/es/utils/isolate-event-handler.js +827 -607
- package/es/utils/molding.js +459 -11
- package/es/utils/ruler.js +58 -0
- package/lib/AppContext.js +1 -1
- package/lib/LiteKitchenConfigurator.js +161 -111
- package/lib/LiteRenderer.js +160 -129
- package/lib/actions/export.js +35 -39
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/catalog.js +20 -4
- package/lib/catalog/factories/area-factory-3d.js +14 -14
- package/lib/catalog/factories/wall-factory.js +1 -1
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/properties/export.js +81 -0
- package/lib/catalog/properties/property-checkbox.js +76 -0
- package/lib/catalog/properties/property-color.js +47 -0
- package/lib/catalog/properties/property-enum.js +58 -0
- package/lib/catalog/properties/property-hidden.js +27 -0
- package/lib/catalog/properties/property-lenght-measure.js +108 -0
- package/lib/catalog/properties/property-length-measure.js +92 -0
- package/lib/catalog/properties/property-length-measure_hole.js +108 -0
- package/lib/catalog/properties/property-number.js +56 -0
- package/lib/catalog/properties/property-read-only.js +34 -0
- package/lib/catalog/properties/property-string.js +56 -0
- package/lib/catalog/properties/property-toggle.js +47 -0
- package/lib/catalog/properties/shared-property-style.js +21 -0
- package/lib/catalog/utils/exporter.js +24 -11
- package/lib/catalog/utils/item-loader.js +219 -210
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +87 -68
- package/lib/class/layer.js +1 -1
- package/lib/class/line.js +3 -7
- package/lib/class/project.js +97 -80
- package/lib/components/content.js +5 -93
- package/lib/components/export.js +6 -26
- package/lib/components/style/button.js +115 -0
- package/lib/components/style/cancel-button.js +29 -0
- package/lib/components/style/content-container.js +38 -0
- package/lib/components/style/content-title.js +35 -0
- package/lib/components/style/delete-button.js +34 -0
- package/lib/components/style/export.js +105 -1
- package/lib/components/style/form-block.js +28 -0
- package/lib/components/style/form-color-input.js +34 -0
- package/lib/components/style/form-label.js +30 -0
- package/lib/components/style/form-number-input.js +29 -27
- package/lib/components/style/form-number-input_2.js +209 -0
- package/lib/components/style/form-select.js +29 -0
- package/lib/components/style/form-slider.js +68 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/style/form-text-input.js +78 -0
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/group.js +5 -4
- package/lib/components/viewer2d/item.js +152 -356
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +22 -52
- package/lib/components/viewer2d/ruler.js +15 -10
- package/lib/components/viewer2d/rulerDist.js +38 -51
- package/lib/components/viewer2d/rulerX.js +4 -2
- package/lib/components/viewer2d/rulerY.js +3 -0
- package/lib/components/viewer2d/scene.js +17 -12
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/vertex.js +3 -2
- package/lib/components/viewer2d/viewer2d.js +54 -84
- package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/lib/components/viewer3d/scene-creator.js +252 -55
- package/lib/components/viewer3d/viewer3d-first-person.js +24 -26
- package/lib/components/viewer3d/viewer3d.js +100 -120
- package/lib/constants.js +12 -7
- package/lib/devLiteRenderer.js +489 -148
- package/lib/index.js +592 -21
- package/lib/models.js +13 -8
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/project-reducer.js +3 -0
- package/lib/reducers/viewer2d-reducer.js +3 -1
- package/lib/reducers/viewer3d-reducer.js +3 -1
- package/lib/styles/export.js +13 -0
- package/lib/styles/tabs.css +40 -0
- package/lib/utils/geometry.js +77 -119
- package/lib/utils/helper.js +40 -1
- package/lib/utils/isolate-event-handler.js +827 -606
- package/lib/utils/molding.js +460 -9
- package/lib/utils/ruler.js +63 -0
- package/package.json +20 -15
- package/es/mocks/appliancePayload.json +0 -27
- package/es/mocks/cabinetPayload.json +0 -1914
- package/es/mocks/cabinetPayload2.json +0 -76
- package/es/mocks/dataBundle2.json +0 -4
- package/es/mocks/distancePayload.json +0 -6
- package/es/mocks/doorStylePayload2.json +0 -84
- package/es/mocks/furnishingPayload.json +0 -23
- package/es/mocks/itemCDSPayload.json +0 -27
- package/es/mocks/lightingPayload.json +0 -23
- package/es/mocks/mockProps.json +0 -43
- package/es/mocks/mockProps2.json +0 -9
- package/es/mocks/moldingPayload.json +0 -19
- package/es/mocks/projectItemsCatalog.json +0 -133
- package/es/mocks/rectangleShape.json +0 -238
- package/es/mocks/replaceCabinetPayload.json +0 -81
- package/es/mocks/roomShapePayload.json +0 -5
- package/es/useAppContext.js +0 -8
- package/lib/mocks/appliancePayload.json +0 -27
- package/lib/mocks/cabinetPayload.json +0 -1914
- package/lib/mocks/cabinetPayload2.json +0 -76
- package/lib/mocks/dataBundle2.json +0 -4
- package/lib/mocks/distancePayload.json +0 -6
- package/lib/mocks/doorStylePayload2.json +0 -84
- package/lib/mocks/furnishingPayload.json +0 -23
- package/lib/mocks/itemCDSPayload.json +0 -27
- package/lib/mocks/lightingPayload.json +0 -23
- package/lib/mocks/mockProps.json +0 -43
- package/lib/mocks/mockProps2.json +0 -9
- package/lib/mocks/moldingPayload.json +0 -19
- package/lib/mocks/projectItemsCatalog.json +0 -133
- package/lib/mocks/rectangleShape.json +0 -238
- package/lib/mocks/replaceCabinetPayload.json +0 -81
- package/lib/mocks/roomShapePayload.json +0 -5
- package/lib/useAppContext.js +0 -16
package/lib/class/hole.js
CHANGED
|
@@ -783,11 +783,9 @@ var Hole = exports["default"] = /*#__PURE__*/function () {
|
|
|
783
783
|
scene: scene.mergeIn(['layers', layerID, 'holes', holeID], hole)
|
|
784
784
|
});
|
|
785
785
|
state = state.updateIn(['scene', 'layers', layerID, 'lines', hole.line, 'holes'], function (holes) {
|
|
786
|
-
console.log(holes, 'holes');
|
|
787
786
|
var index = holes.findIndex(function (ID) {
|
|
788
787
|
return holeID === ID;
|
|
789
788
|
});
|
|
790
|
-
console.log(index, 'index');
|
|
791
789
|
return index === -1 ? holes.push(holeID) : holes;
|
|
792
790
|
});
|
|
793
791
|
return {
|
package/lib/class/item.js
CHANGED
|
@@ -36,9 +36,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
36
36
|
return (0, _createClass2["default"])(Item, null, [{
|
|
37
37
|
key: "create",
|
|
38
38
|
value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
|
|
39
|
+
var _item;
|
|
39
40
|
var molding = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : [];
|
|
40
41
|
var isInitialPos = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : false;
|
|
41
42
|
var refItem = arguments.length > 11 && arguments[11] !== undefined ? arguments[11] : null;
|
|
43
|
+
var counterTopURI = arguments.length > 12 && arguments[12] !== undefined ? arguments[12] : null;
|
|
42
44
|
var itemID = _export2.IDBroker.acquireID();
|
|
43
45
|
var item = state.catalog.factoryElement(type, {
|
|
44
46
|
id: itemID,
|
|
@@ -64,13 +66,20 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
64
66
|
doorStyle: refItem.doorStyle
|
|
65
67
|
});
|
|
66
68
|
} else {
|
|
67
|
-
var _state$doorStyle;
|
|
69
|
+
var _state$doorStyle, _ref, _temp$doorStyles$cds$, _temp$doorStyles, _temp$cds, _state3;
|
|
68
70
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
69
71
|
var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
|
|
70
|
-
var cds =
|
|
72
|
+
var cds = (_ref = (_temp$doorStyles$cds$ = temp === null || temp === void 0 || (_temp$doorStyles = temp.doorStyles) === null || _temp$doorStyles === void 0 || (_temp$doorStyles = _temp$doorStyles.cds) === null || _temp$doorStyles === void 0 ? void 0 : _temp$doorStyles.find(function (elem) {
|
|
73
|
+
var _state;
|
|
74
|
+
return elem.itemID === ((_state = state) === null || _state === void 0 || (_state = _state.catalog) === null || _state === void 0 ? void 0 : _state.getIn(['elements', type, 'itemID']));
|
|
75
|
+
})) !== null && _temp$doorStyles$cds$ !== void 0 ? _temp$doorStyles$cds$ : temp === null || temp === void 0 || (_temp$cds = temp.cds) === null || _temp$cds === void 0 ? void 0 : _temp$cds.find(function (elem) {
|
|
76
|
+
var _state2;
|
|
77
|
+
return elem.itemID === ((_state2 = state) === null || _state2 === void 0 || (_state2 = _state2.catalog) === null || _state2 === void 0 ? void 0 : _state2.getIn(['elements', type, 'itemID']));
|
|
78
|
+
})) !== null && _ref !== void 0 ? _ref : (_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.catalog) === null || _state3 === void 0 ? void 0 : _state3.getIn(['elements', type, 'cds']);
|
|
71
79
|
if (cds) {
|
|
72
|
-
var updatedDoorStyles = _objectSpread(_objectSpread({}, temp.doorStyles), {}, {
|
|
73
|
-
cds: [cds]
|
|
80
|
+
var updatedDoorStyles = _objectSpread(_objectSpread({}, temp === null || temp === void 0 ? void 0 : temp.doorStyles), {}, {
|
|
81
|
+
cds: [cds],
|
|
82
|
+
cabinet_door_style_id: cds.cabinet_door_style_id
|
|
74
83
|
});
|
|
75
84
|
item = item.merge({
|
|
76
85
|
doorStyle: (0, _immutable.fromJS)(_objectSpread(_objectSpread({}, temp), {}, {
|
|
@@ -167,6 +176,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
167
176
|
}
|
|
168
177
|
};
|
|
169
178
|
item.category === 'cabinet' && setSizeOfItemByDoorStyle();
|
|
179
|
+
if (!(0, _utils.isEmpty)(counterTopURI) && !(0, _utils.isEmpty)((_item = item) === null || _item === void 0 ? void 0 : _item.counterTop)) {
|
|
180
|
+
item.counterTop.uri = counterTopURI;
|
|
181
|
+
}
|
|
170
182
|
item = this.updateDoorHandle(item, state.getIn(['scene', 'layers', layerID]));
|
|
171
183
|
state = state.setIn(['scene', 'layers', layerID, 'items', itemID], item);
|
|
172
184
|
if (item.type.includes('Light')) {
|
|
@@ -338,17 +350,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
338
350
|
if (isRect) {
|
|
339
351
|
var _this$create2 = this.create(state, layerID, sceneComponentType, x - width * Math.cos(rotRad), y - width * Math.sin(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding, false, myObject),
|
|
340
352
|
_stateI = _this$create2.updatedState,
|
|
341
|
-
|
|
342
|
-
duplicatedElement =
|
|
343
|
-
if (
|
|
353
|
+
_item2 = _this$create2.item;
|
|
354
|
+
duplicatedElement = _item2;
|
|
355
|
+
if (_item2 === null) {
|
|
344
356
|
alert('There are no Door Colors in this cabinet.');
|
|
345
357
|
state = state.merge({
|
|
346
358
|
mode: _constants.MODE_IDLE,
|
|
347
359
|
drawingSupport: new _immutable.Map()
|
|
348
360
|
});
|
|
349
361
|
} else {
|
|
350
|
-
state = Item.select(_stateI, layerID,
|
|
351
|
-
state = state.setIn(['drawingSupport', 'currentID'],
|
|
362
|
+
state = Item.select(_stateI, layerID, _item2.id).updatedState;
|
|
363
|
+
state = state.setIn(['drawingSupport', 'currentID'], _item2.id);
|
|
352
364
|
}
|
|
353
365
|
} else {
|
|
354
366
|
var _val2 = {
|
|
@@ -365,17 +377,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
365
377
|
if (isRectDown) {
|
|
366
378
|
var _this$create3 = this.create(state, layerID, sceneComponentType, x - depth * Math.sin(rotRad), y - depth * Math.cos(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding, false, myObject),
|
|
367
379
|
_stateI2 = _this$create3.updatedState,
|
|
368
|
-
|
|
369
|
-
duplicatedElement =
|
|
370
|
-
if (
|
|
380
|
+
_item3 = _this$create3.item;
|
|
381
|
+
duplicatedElement = _item3;
|
|
382
|
+
if (_item3 === null) {
|
|
371
383
|
alert('There are no Door Colors in this cabinet.');
|
|
372
384
|
state = state.merge({
|
|
373
385
|
mode: _constants.MODE_IDLE,
|
|
374
386
|
drawingSupport: new _immutable.Map()
|
|
375
387
|
});
|
|
376
388
|
} else {
|
|
377
|
-
state = Item.select(_stateI2, layerID,
|
|
378
|
-
state = state.setIn(['drawingSupport', 'currentID'],
|
|
389
|
+
state = Item.select(_stateI2, layerID, _item3.id).updatedState;
|
|
390
|
+
state = state.setIn(['drawingSupport', 'currentID'], _item3.id);
|
|
379
391
|
}
|
|
380
392
|
} else {
|
|
381
393
|
var _val3 = {
|
|
@@ -392,17 +404,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
392
404
|
if (isRectUp) {
|
|
393
405
|
var _this$create4 = this.create(state, layerID, sceneComponentType, x + depth * Math.sin(rotRad), y + depth * Math.cos(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding, false, myObject),
|
|
394
406
|
_stateI3 = _this$create4.updatedState,
|
|
395
|
-
|
|
396
|
-
duplicatedElement =
|
|
397
|
-
if (
|
|
407
|
+
_item4 = _this$create4.item;
|
|
408
|
+
duplicatedElement = _item4;
|
|
409
|
+
if (_item4 === null) {
|
|
398
410
|
alert('There are no Door Colors in this cabinet.');
|
|
399
411
|
state = state.merge({
|
|
400
412
|
mode: _constants.MODE_IDLE,
|
|
401
413
|
drawingSupport: new _immutable.Map()
|
|
402
414
|
});
|
|
403
415
|
} else {
|
|
404
|
-
state = Item.select(_stateI3, layerID,
|
|
405
|
-
state = state.setIn(['drawingSupport', 'currentID'],
|
|
416
|
+
state = Item.select(_stateI3, layerID, _item4.id).updatedState;
|
|
417
|
+
state = state.setIn(['drawingSupport', 'currentID'], _item4.id);
|
|
406
418
|
}
|
|
407
419
|
} else {
|
|
408
420
|
console.log('there is no space');
|
|
@@ -472,8 +484,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
472
484
|
break;
|
|
473
485
|
}
|
|
474
486
|
if (onInternalEvent && duplicatedElement) {
|
|
475
|
-
var
|
|
476
|
-
|
|
487
|
+
var _state$get;
|
|
488
|
+
var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
|
|
489
|
+
var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer, catalog);
|
|
477
490
|
onInternalEvent({
|
|
478
491
|
type: _constants.INTERNAL_EVENT_DRAW_ELEMENT,
|
|
479
492
|
value: jsElement
|
|
@@ -538,8 +551,14 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
538
551
|
}, {
|
|
539
552
|
key: "replaceItem",
|
|
540
553
|
value: function replaceItem(state, selectedPos, currentObject, selectedObject) {
|
|
554
|
+
var _currentObject$counte;
|
|
555
|
+
var counterTopURI = '';
|
|
556
|
+
if (!(0, _utils.isEmpty)(currentObject === null || currentObject === void 0 || (_currentObject$counte = currentObject.counterTop) === null || _currentObject$counte === void 0 ? void 0 : _currentObject$counte.uri)) {
|
|
557
|
+
var _currentObject$counte2;
|
|
558
|
+
counterTopURI = currentObject === null || currentObject === void 0 || (_currentObject$counte2 = currentObject.counterTop) === null || _currentObject$counte2 === void 0 ? void 0 : _currentObject$counte2.uri;
|
|
559
|
+
} else if (!(0, _utils.isEmpty)(state.getIn(['scene', 'layers', 'layer-1', 'counterTop']))) counterTopURI = state.getIn(['scene', 'layers', 'layer-1', 'counterTop']).uri;else counterTopURI = 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg';
|
|
541
560
|
state = this.remove(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
|
|
542
|
-
state = this.create(state, state.scene.selectedLayer, selectedObject.name, selectedPos.x, selectedPos.y, selectedObject.info.width, selectedObject.info.height, selectedPos.rotation, false).updatedState;
|
|
561
|
+
state = this.create(state, state.scene.selectedLayer, selectedObject.name, selectedPos.x, selectedPos.y, selectedObject.info.width, selectedObject.info.height, selectedPos.rotation, false, [], false, null, counterTopURI).updatedState;
|
|
543
562
|
// state = this.select(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
|
|
544
563
|
return {
|
|
545
564
|
updatedState: state
|
|
@@ -657,8 +676,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
657
676
|
}, {
|
|
658
677
|
key: "updateDraggingItemChanged",
|
|
659
678
|
value: function updateDraggingItemChanged(state, x, y, layerID, itemID) {
|
|
660
|
-
var
|
|
661
|
-
scene =
|
|
679
|
+
var _state4 = state,
|
|
680
|
+
scene = _state4.scene;
|
|
662
681
|
// let originalX = draggingSupport.get('originalX');
|
|
663
682
|
// let originalY = draggingSupport.get('originalY');
|
|
664
683
|
|
|
@@ -750,9 +769,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
750
769
|
}, {
|
|
751
770
|
key: "updateDraggingItem",
|
|
752
771
|
value: function updateDraggingItem(state, x, y) {
|
|
753
|
-
var
|
|
754
|
-
draggingSupport =
|
|
755
|
-
scene =
|
|
772
|
+
var _state5 = state,
|
|
773
|
+
draggingSupport = _state5.draggingSupport,
|
|
774
|
+
scene = _state5.scene;
|
|
756
775
|
var layerID = draggingSupport.get('layerID');
|
|
757
776
|
var itemID = draggingSupport.get('itemID');
|
|
758
777
|
var startPointX = draggingSupport.get('startPointX');
|
|
@@ -784,9 +803,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
784
803
|
}, {
|
|
785
804
|
key: "updateDraggingItem3DX",
|
|
786
805
|
value: function updateDraggingItem3DX(state, x) {
|
|
787
|
-
var
|
|
788
|
-
draggingSupport =
|
|
789
|
-
scene =
|
|
806
|
+
var _state6 = state,
|
|
807
|
+
draggingSupport = _state6.draggingSupport,
|
|
808
|
+
scene = _state6.scene;
|
|
790
809
|
var layerID = draggingSupport.get('layerID');
|
|
791
810
|
var itemID = draggingSupport.get('itemID');
|
|
792
811
|
var startPointX = draggingSupport.get('startPointX');
|
|
@@ -806,9 +825,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
806
825
|
}, {
|
|
807
826
|
key: "updateDraggingItem3DY",
|
|
808
827
|
value: function updateDraggingItem3DY(state, y) {
|
|
809
|
-
var
|
|
810
|
-
draggingSupport =
|
|
811
|
-
scene =
|
|
828
|
+
var _state7 = state,
|
|
829
|
+
draggingSupport = _state7.draggingSupport,
|
|
830
|
+
scene = _state7.scene;
|
|
812
831
|
var layerID = draggingSupport.get('layerID');
|
|
813
832
|
var itemID = draggingSupport.get('itemID');
|
|
814
833
|
var startPointY = draggingSupport.get('startPointY');
|
|
@@ -889,9 +908,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
889
908
|
}, {
|
|
890
909
|
key: "updateRotatingItem",
|
|
891
910
|
value: function updateRotatingItem(state, x, y) {
|
|
892
|
-
var
|
|
893
|
-
rotatingSupport =
|
|
894
|
-
scene =
|
|
911
|
+
var _state8 = state,
|
|
912
|
+
rotatingSupport = _state8.rotatingSupport,
|
|
913
|
+
scene = _state8.scene;
|
|
895
914
|
var layerID = rotatingSupport.get('layerID');
|
|
896
915
|
var itemID = rotatingSupport.get('itemID');
|
|
897
916
|
var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
|
|
@@ -974,9 +993,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
974
993
|
}, {
|
|
975
994
|
key: "replaceSubmodule",
|
|
976
995
|
value: function replaceSubmodule(state, url) {
|
|
977
|
-
var
|
|
978
|
-
replacingSupport =
|
|
979
|
-
scene =
|
|
996
|
+
var _state9 = state,
|
|
997
|
+
replacingSupport = _state9.replacingSupport,
|
|
998
|
+
scene = _state9.scene;
|
|
980
999
|
url = 'catalog/texture.png';
|
|
981
1000
|
var urlData = url.split('/');
|
|
982
1001
|
var newURL = '';
|
|
@@ -1077,9 +1096,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1077
1096
|
}, {
|
|
1078
1097
|
key: "animateObject",
|
|
1079
1098
|
value: function animateObject(state, value) {
|
|
1080
|
-
var
|
|
1081
|
-
replacingSupport =
|
|
1082
|
-
scene =
|
|
1099
|
+
var _state0 = state,
|
|
1100
|
+
replacingSupport = _state0.replacingSupport,
|
|
1101
|
+
scene = _state0.scene;
|
|
1083
1102
|
var layerID = replacingSupport.get('layerID');
|
|
1084
1103
|
var itemID = replacingSupport.get('itemID');
|
|
1085
1104
|
var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
|
|
@@ -1116,8 +1135,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1116
1135
|
state = state.merge({
|
|
1117
1136
|
doorStyle: doorStyle
|
|
1118
1137
|
});
|
|
1119
|
-
var
|
|
1120
|
-
scene =
|
|
1138
|
+
var _state1 = state,
|
|
1139
|
+
scene = _state1.scene;
|
|
1121
1140
|
var layerID = scene.get('selectedLayer');
|
|
1122
1141
|
var layers = scene.layers.get(layerID);
|
|
1123
1142
|
var items = layers.items;
|
|
@@ -1314,8 +1333,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1314
1333
|
}, {
|
|
1315
1334
|
key: "setCounterTop",
|
|
1316
1335
|
value: function setCounterTop(state, counterTop) {
|
|
1317
|
-
var
|
|
1318
|
-
scene =
|
|
1336
|
+
var _state10 = state,
|
|
1337
|
+
scene = _state10.scene;
|
|
1319
1338
|
var layerID = scene.get('selectedLayer');
|
|
1320
1339
|
var layers = scene.layers.get(layerID);
|
|
1321
1340
|
layers = layers.mergeIn(['counterTop'], counterTop);
|
|
@@ -1359,8 +1378,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1359
1378
|
}, {
|
|
1360
1379
|
key: "setDoorHandle",
|
|
1361
1380
|
value: function setDoorHandle(state, doorHandle) {
|
|
1362
|
-
var
|
|
1363
|
-
scene =
|
|
1381
|
+
var _state11 = state,
|
|
1382
|
+
scene = _state11.scene;
|
|
1364
1383
|
var layerID = scene.get('selectedLayer');
|
|
1365
1384
|
var layer = scene.layers.get(layerID);
|
|
1366
1385
|
layer = layer.mergeIn(['doorHandle'], doorHandle);
|
|
@@ -1384,8 +1403,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1384
1403
|
}, {
|
|
1385
1404
|
key: "setHandleMaterial",
|
|
1386
1405
|
value: function setHandleMaterial(state, material) {
|
|
1387
|
-
var
|
|
1388
|
-
scene =
|
|
1406
|
+
var _state12 = state,
|
|
1407
|
+
scene = _state12.scene;
|
|
1389
1408
|
var layerID = scene.get('selectedLayer');
|
|
1390
1409
|
var layers = scene.layers.get(layerID);
|
|
1391
1410
|
var items = layers.items;
|
|
@@ -1410,8 +1429,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1410
1429
|
}, {
|
|
1411
1430
|
key: "setWallColor",
|
|
1412
1431
|
value: function setWallColor(state, wallColor) {
|
|
1413
|
-
var
|
|
1414
|
-
scene =
|
|
1432
|
+
var _state13 = state,
|
|
1433
|
+
scene = _state13.scene;
|
|
1415
1434
|
var layerID = scene.get('selectedLayer');
|
|
1416
1435
|
var layer = scene.layers.get(layerID);
|
|
1417
1436
|
layer = layer.merge({
|
|
@@ -1437,8 +1456,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1437
1456
|
}, {
|
|
1438
1457
|
key: "setBacksplash",
|
|
1439
1458
|
value: function setBacksplash(state, backsplash) {
|
|
1440
|
-
var
|
|
1441
|
-
scene =
|
|
1459
|
+
var _state14 = state,
|
|
1460
|
+
scene = _state14.scene;
|
|
1442
1461
|
var layerID = scene.get('selectedLayer');
|
|
1443
1462
|
var layer = scene.layers.get(layerID);
|
|
1444
1463
|
var dataJSON = layer.toJS();
|
|
@@ -1466,8 +1485,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1466
1485
|
}, {
|
|
1467
1486
|
key: "setMolding",
|
|
1468
1487
|
value: function setMolding(state, molding, isAll) {
|
|
1469
|
-
var
|
|
1470
|
-
scene =
|
|
1488
|
+
var _state15 = state,
|
|
1489
|
+
scene = _state15.scene;
|
|
1471
1490
|
var layerID = scene.get('selectedLayer');
|
|
1472
1491
|
var layer = scene.layers.get(layerID);
|
|
1473
1492
|
if (isAll) {
|
|
@@ -1559,8 +1578,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1559
1578
|
}, {
|
|
1560
1579
|
key: "updateMolding",
|
|
1561
1580
|
value: function updateMolding(state) {
|
|
1562
|
-
var
|
|
1563
|
-
scene =
|
|
1581
|
+
var _state16 = state,
|
|
1582
|
+
scene = _state16.scene;
|
|
1564
1583
|
var layerID = scene.get('selectedLayer');
|
|
1565
1584
|
var layer = scene.layers.get(layerID);
|
|
1566
1585
|
var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
|
|
@@ -1684,8 +1703,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1684
1703
|
}, {
|
|
1685
1704
|
key: "setBacksplashVisible",
|
|
1686
1705
|
value: function setBacksplashVisible(state, itemID, backsplashVisible) {
|
|
1687
|
-
var
|
|
1688
|
-
scene =
|
|
1706
|
+
var _state17 = state,
|
|
1707
|
+
scene = _state17.scene;
|
|
1689
1708
|
var layerID = scene.get('selectedLayer');
|
|
1690
1709
|
var layer = scene.layers.get(layerID);
|
|
1691
1710
|
layer = layer.mergeIn(['items', itemID, 'backsplashVisible'], backsplashVisible);
|
|
@@ -1705,8 +1724,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1705
1724
|
}, {
|
|
1706
1725
|
key: "setApplianceMaterial",
|
|
1707
1726
|
value: function setApplianceMaterial(state, material) {
|
|
1708
|
-
var
|
|
1709
|
-
scene =
|
|
1727
|
+
var _state18 = state,
|
|
1728
|
+
scene = _state18.scene;
|
|
1710
1729
|
var layerID = scene.get('selectedLayer');
|
|
1711
1730
|
var layers = scene.layers.get(layerID);
|
|
1712
1731
|
var items = layers.items;
|
|
@@ -1730,8 +1749,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1730
1749
|
}, {
|
|
1731
1750
|
key: "setModelling",
|
|
1732
1751
|
value: function setModelling(state, molding) {
|
|
1733
|
-
var
|
|
1734
|
-
scene =
|
|
1752
|
+
var _state19 = state,
|
|
1753
|
+
scene = _state19.scene;
|
|
1735
1754
|
var layerID = scene.get('selectedLayer');
|
|
1736
1755
|
var layers = scene.layers.get(layerID);
|
|
1737
1756
|
var items = layers.items;
|
|
@@ -1841,8 +1860,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1841
1860
|
}, {
|
|
1842
1861
|
key: "toggleLoadingCabinet",
|
|
1843
1862
|
value: function toggleLoadingCabinet(state) {
|
|
1844
|
-
var
|
|
1845
|
-
scene =
|
|
1863
|
+
var _state20 = state,
|
|
1864
|
+
scene = _state20.scene;
|
|
1846
1865
|
console.log('scene.isLoadingCabinet: ', !scene.isLoadingCabinet);
|
|
1847
1866
|
// scene = scene.set('isLoadingCabinet', !scene.isLoadingCabinet);
|
|
1848
1867
|
// state = state.set('scene', scene);
|
|
@@ -1854,8 +1873,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1854
1873
|
}, {
|
|
1855
1874
|
key: "endLoading",
|
|
1856
1875
|
value: function endLoading(state) {
|
|
1857
|
-
var
|
|
1858
|
-
scene =
|
|
1876
|
+
var _state21 = state,
|
|
1877
|
+
scene = _state21.scene;
|
|
1859
1878
|
state = state.setIn(['scene', 'loadFlag'], true);
|
|
1860
1879
|
return {
|
|
1861
1880
|
updatedState: state
|
package/lib/class/layer.js
CHANGED
|
@@ -574,7 +574,7 @@ var Layer = exports["default"] = /*#__PURE__*/function () {
|
|
|
574
574
|
return v.id !== vertexID && _export2.GeometryUtils.samePoints(vertex, v) // &&
|
|
575
575
|
//!v.lines.contains( vertexID ) &&
|
|
576
576
|
//!v.areas.contains( vertexID )
|
|
577
|
-
|
|
577
|
+
;
|
|
578
578
|
});
|
|
579
579
|
if (doubleVertices.isEmpty()) return {
|
|
580
580
|
updatedState: state
|
package/lib/class/line.js
CHANGED
|
@@ -15,7 +15,6 @@ var _export2 = require("../utils/export");
|
|
|
15
15
|
var Three = _interopRequireWildcard(require("three"));
|
|
16
16
|
var _constants = require("../constants");
|
|
17
17
|
var _helper = require("../utils/helper");
|
|
18
|
-
var _convertUnitsLite = require("../utils/convert-units-lite");
|
|
19
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); }
|
|
20
19
|
var timeGlobal = 0;
|
|
21
20
|
var TimeRecorder = /*#__PURE__*/function () {
|
|
@@ -437,6 +436,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
|
|
|
437
436
|
}, {
|
|
438
437
|
key: "beginDrawingLine",
|
|
439
438
|
value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
|
|
439
|
+
var _state$get;
|
|
440
440
|
// if end drawing by created area
|
|
441
441
|
if (state.mode == _constants.MODE_IDLE) {
|
|
442
442
|
return {
|
|
@@ -490,12 +490,8 @@ var Line = exports["default"] = /*#__PURE__*/function () {
|
|
|
490
490
|
drawingSupport: drawingSupport
|
|
491
491
|
});
|
|
492
492
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
493
|
-
var
|
|
494
|
-
var
|
|
495
|
-
var v_b = layer.vertices.get(line.vertices.get(1));
|
|
496
|
-
var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
|
|
497
|
-
var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
|
|
498
|
-
payload.length = _length;
|
|
493
|
+
var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
|
|
494
|
+
var payload = (0, _helper.updatePayloadOfInternalEvent)(line, layer, catalog);
|
|
499
495
|
if (onInternalEvent) onInternalEvent({
|
|
500
496
|
type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
|
|
501
497
|
value: payload
|
package/lib/class/project.js
CHANGED
|
@@ -43,7 +43,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
43
43
|
}, {
|
|
44
44
|
key: "newProject",
|
|
45
45
|
value: function newProject(state) {
|
|
46
|
-
var
|
|
46
|
+
var _state$toJS$doorStyle, _state;
|
|
47
|
+
var doorStyle = (_state$toJS$doorStyle = (_state = state) === null || _state === void 0 || (_state = _state.toJS()) === null || _state === void 0 ? void 0 : _state.doorStyle) !== null && _state$toJS$doorStyle !== void 0 ? _state$toJS$doorStyle : null;
|
|
47
48
|
// let counterTop = state.getIn(['scene', 'layers', layerID, 'counterTop']);
|
|
48
49
|
// let floorStyle = state.getIn(['scene', 'layers', layerID, 'floorStyle']);
|
|
49
50
|
var _viewer2D = state.viewer2D;
|
|
@@ -83,9 +84,9 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
83
84
|
a: 0.99,
|
|
84
85
|
d: 0.99
|
|
85
86
|
});
|
|
86
|
-
var
|
|
87
|
-
oldScene =
|
|
88
|
-
oldSceneHistory =
|
|
87
|
+
var _state2 = state,
|
|
88
|
+
oldScene = _state2.scene,
|
|
89
|
+
oldSceneHistory = _state2.sceneHistory;
|
|
89
90
|
var json_items = sceneJSON.layers[sceneJSON.selectedLayer].items;
|
|
90
91
|
var elements = state.catalog.get('elements').toArray();
|
|
91
92
|
var _loop = function _loop(x) {
|
|
@@ -111,6 +112,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
111
112
|
// sceneJSON && (sceneJSON.layers[layerID] = newlayer);
|
|
112
113
|
// }
|
|
113
114
|
|
|
115
|
+
// check type of ceilHeight and make it to Number
|
|
116
|
+
if (typeof sceneJSON.layers[layerID].ceilHeight !== 'number') sceneJSON.layers[layerID].ceilHeight = Number(sceneJSON.layers[layerID].ceilHeight);
|
|
114
117
|
var newScene = new _models.Scene(sceneJSON);
|
|
115
118
|
state = new _models.State({
|
|
116
119
|
scene: newScene.toJS(),
|
|
@@ -176,6 +179,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
176
179
|
// Matching state.doorStyle with layer.doorStyle
|
|
177
180
|
if (state.getIn(['scene', 'layers', layerID, 'doorStyle'])) {
|
|
178
181
|
doorStyle = state.getIn(['scene', 'layers', layerID, 'doorStyle']);
|
|
182
|
+
} else if (!(0, _helper.isEmpty)(doorStyle)) {
|
|
183
|
+
state = state.setIn(['scene', 'layers', layerID, 'doorStyle'], doorStyle);
|
|
179
184
|
}
|
|
180
185
|
state = state.merge({
|
|
181
186
|
doorStyle: doorStyle,
|
|
@@ -838,89 +843,101 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
838
843
|
key: "createRoomWithShape",
|
|
839
844
|
value: function createRoomWithShape(state, roomShapeType, width, height, doorStyle) {
|
|
840
845
|
var catalog = state.catalog;
|
|
846
|
+
// keep measurement unit, sceneHistory
|
|
847
|
+
var curLayerID = state.scene.selectedLayer;
|
|
848
|
+
var layerUnit = state.getIn(['scene', 'layers', curLayerID, 'unit']);
|
|
849
|
+
var ceilHeight = state.getIn(['scene', 'layers', curLayerID, 'ceilHeight']);
|
|
850
|
+
var sceneHistory = state.getIn(['sceneHistory']);
|
|
841
851
|
state = this.newProject(state).updatedState;
|
|
842
852
|
state = state.merge({
|
|
843
853
|
catalog: catalog
|
|
844
854
|
});
|
|
845
|
-
var _viewer2D = state.viewer2D;
|
|
846
|
-
var viewer = _viewer2D.toJS();
|
|
847
|
-
width = (0, _convertUnitsLite.convert)(width).from('in').to('cm');
|
|
848
|
-
height = (0, _convertUnitsLite.convert)(height).from('in').to('cm');
|
|
849
|
-
var layerID = state.scene.selectedLayer;
|
|
850
855
|
state = _export2.Item.setInitialDoorStyle(state, doorStyle).updatedState;
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
856
|
+
var layerID = state.scene.selectedLayer;
|
|
857
|
+
if (roomShapeType !== constants.ROOM_SHAPE_TYPE.CUSTOM && !(0, _helper.isEmpty)(width) && !(0, _helper.isEmpty)(height) && width !== 0 && height !== 0) {
|
|
858
|
+
var _viewer2D = state.viewer2D;
|
|
859
|
+
var viewer = _viewer2D.toJS();
|
|
860
|
+
if ((0, _helper.isEmpty)(viewer)) return {
|
|
861
|
+
updatedState: state
|
|
862
|
+
};
|
|
863
|
+
width = (0, _convertUnitsLite.convert)(width).from(state.getIn(['scene', 'layers', 'layer-1', 'unit'])).to('cm');
|
|
864
|
+
height = (0, _convertUnitsLite.convert)(height).from(state.getIn(['scene', 'layers', 'layer-1', 'unit'])).to('cm');
|
|
865
|
+
var halfWidth = width / 2;
|
|
866
|
+
var halfHeight = height / 2;
|
|
867
|
+
var viewerWidth = viewer.SVGWidth;
|
|
868
|
+
var viewerHeight = viewer.SVGHeight;
|
|
869
|
+
var centerPos = {
|
|
870
|
+
x: viewerWidth / 2,
|
|
871
|
+
y: viewerHeight / 2
|
|
872
|
+
};
|
|
873
|
+
var vtLB = {
|
|
874
|
+
x: centerPos.x - halfWidth,
|
|
875
|
+
y: centerPos.y - halfHeight
|
|
876
|
+
};
|
|
877
|
+
var vtRB = {
|
|
878
|
+
x: centerPos.x + halfWidth,
|
|
879
|
+
y: centerPos.y - halfHeight
|
|
880
|
+
};
|
|
881
|
+
var vtRT = {
|
|
882
|
+
x: centerPos.x + halfWidth,
|
|
883
|
+
y: centerPos.y + halfHeight
|
|
884
|
+
};
|
|
885
|
+
var vtLT = {
|
|
886
|
+
x: centerPos.x - halfWidth,
|
|
887
|
+
y: centerPos.y + halfHeight
|
|
888
|
+
};
|
|
889
|
+
var vertices = [];
|
|
890
|
+
switch (roomShapeType) {
|
|
891
|
+
case 'rectangle':
|
|
892
|
+
vertices = [vtLB, vtLT, vtRT, vtRB];
|
|
893
|
+
break;
|
|
894
|
+
case constants.ROOM_SHAPE_TYPE.TWO_WALLS_RIGHT_BOTTOM:
|
|
895
|
+
vertices = [vtLB, vtRB, vtRT];
|
|
896
|
+
break;
|
|
897
|
+
case constants.ROOM_SHAPE_TYPE.TWO_WALLS_RIGHT_TOP:
|
|
898
|
+
vertices = [vtRB, vtRT, vtLT];
|
|
899
|
+
break;
|
|
900
|
+
case constants.ROOM_SHAPE_TYPE.TWO_WALLS_LEFT_TOP:
|
|
901
|
+
vertices = [vtRT, vtLT, vtLB];
|
|
902
|
+
break;
|
|
903
|
+
case constants.ROOM_SHAPE_TYPE.TWO_WALLS_LEFT_BOTTOM:
|
|
904
|
+
vertices = [vtLT, vtLB, vtRB];
|
|
905
|
+
break;
|
|
906
|
+
case constants.ROOM_SHAPE_TYPE.THREE_WALLS_LEFT_TOP_RIGHT:
|
|
907
|
+
vertices = [vtRB, vtRT, vtLT, vtLB];
|
|
908
|
+
break;
|
|
909
|
+
case constants.ROOM_SHAPE_TYPE.THREE_WALLS_TOP_RIGHT_BOTTOM:
|
|
910
|
+
vertices = [vtLB, vtRB, vtRT, vtLT];
|
|
911
|
+
break;
|
|
912
|
+
case constants.ROOM_SHAPE_TYPE.THREE_WALLS_RIGHT_BOTTOM_LEFT:
|
|
913
|
+
vertices = [vtLT, vtLB, vtRB, vtRT];
|
|
914
|
+
break;
|
|
915
|
+
case constants.ROOM_SHAPE_TYPE.THREE_WALLS_BOTTOM_LEFT_TOP:
|
|
916
|
+
vertices = [vtRT, vtLT, vtLB, vtRB];
|
|
917
|
+
break;
|
|
918
|
+
}
|
|
919
|
+
for (var i = 0; i < vertices.length - 1; i++) {
|
|
920
|
+
state = _export2.Line.create(state, layerID, 'wall', vertices[i].x, vertices[i].y, vertices[i + 1].x, vertices[i + 1].y).updatedState;
|
|
921
|
+
}
|
|
922
|
+
if (roomShapeType === constants.ROOM_SHAPE_TYPE.RECTANGLE) {
|
|
923
|
+
state = _export2.Line.create(state, layerID, 'wall', vertices[vertices.length - 1].x, vertices[vertices.length - 1].y, vertices[0].x, vertices[0].y).updatedState;
|
|
924
|
+
}
|
|
925
|
+
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
926
|
+
var lines = layer.getIn(['lines']).toJS();
|
|
927
|
+
var drawingInfo = {};
|
|
928
|
+
var lineKey = Object.keys(lines);
|
|
929
|
+
for (var _i = 0; _i < lineKey.length; _i++) {
|
|
930
|
+
if (!(0, _helper.isEmpty)(lineKey)) {
|
|
931
|
+
drawingInfo.drawingLine = layer.getIn(['lines', lineKey[_i]]);
|
|
932
|
+
}
|
|
933
|
+
state = _export2.Layer.detectAndUpdateAreas(state, layerID, drawingInfo).updatedState;
|
|
921
934
|
}
|
|
922
|
-
state = _export2.Layer.detectAndUpdateAreas(state, layerID, drawingInfo).updatedState;
|
|
923
935
|
}
|
|
936
|
+
|
|
937
|
+
// copy keeped measurement unit, sceneHistory
|
|
938
|
+
state = state.setIn(['scene', 'layers', layerID, 'unit'], layerUnit);
|
|
939
|
+
state = state.setIn(['scene', 'layers', layerID, 'ceilHeight'], ceilHeight);
|
|
940
|
+
state = state.setIn(['sceneHistory'], sceneHistory);
|
|
924
941
|
state = (0, _helper.centering2D)(state);
|
|
925
942
|
return {
|
|
926
943
|
updatedState: state
|