kitchen-simulator 3.1.10 → 3.1.12
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/components/viewer2d/item.js +11 -3
- package/es/components/viewer3d/viewer3d.js +35 -40
- package/es/utils/geometry.js +26 -86
- package/es/utils/isolate-event-handler.js +27 -17
- package/es/utils/molding.js +234 -2
- package/lib/components/viewer2d/item.js +11 -3
- package/lib/components/viewer3d/viewer3d.js +35 -40
- package/lib/utils/geometry.js +26 -86
- package/lib/utils/isolate-event-handler.js +27 -17
- package/lib/utils/molding.js +233 -0
- package/package.json +1 -1
|
@@ -277,10 +277,18 @@ export default function Item(_ref, _ref2) {
|
|
|
277
277
|
var cat = catalog.elements[catid];
|
|
278
278
|
PointArray.forEach(function (pointElement, index) {
|
|
279
279
|
if (pointElement[0] == undefined) PointArray[index][0] = 0;
|
|
280
|
-
if (pointElement[1] === -90 && cat.info.is_corner !== 1) {
|
|
281
|
-
|
|
282
|
-
}
|
|
280
|
+
// if (pointElement[1] === -90 && cat.info.is_corner !== 1) {
|
|
281
|
+
// PointArray[index][0] -= 4;
|
|
282
|
+
// }
|
|
283
|
+
});
|
|
284
|
+
var cnt = 0;
|
|
285
|
+
PointArray.forEach(function (pointElement) {
|
|
286
|
+
if (pointElement[0] == 0) cnt++;
|
|
283
287
|
});
|
|
288
|
+
if (cnt == 4 || cnt == 3) {
|
|
289
|
+
PointArray[0][0] = 100;
|
|
290
|
+
PointArray[1][0] = 100;
|
|
291
|
+
}
|
|
284
292
|
if (Array.isArray(PointArray)) {
|
|
285
293
|
itemsActions.storeDistArray(layerID, id, PointArray);
|
|
286
294
|
}
|
|
@@ -1187,12 +1187,12 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1187
1187
|
var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
|
|
1188
1188
|
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1189
1189
|
if (!isEmpty(evtType) && !isEmpty(evtElement)) {
|
|
1190
|
-
var
|
|
1190
|
+
var _this2$props$onIntern, _this2$props;
|
|
1191
1191
|
var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
|
|
1192
|
-
if ((
|
|
1192
|
+
if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'lines') {
|
|
1193
1193
|
// caculating length of selected line//
|
|
1194
|
-
var v_a = layer.vertices.get(
|
|
1195
|
-
var v_b = layer.vertices.get(
|
|
1194
|
+
var v_a = layer.vertices.get(evtElement.vertices.get(0));
|
|
1195
|
+
var v_b = layer.vertices.get(evtElement.vertices.get(1));
|
|
1196
1196
|
var distance = GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
|
|
1197
1197
|
var _length = convert(distance).from('cm').to('in');
|
|
1198
1198
|
payload.length = _length;
|
|
@@ -1296,7 +1296,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1296
1296
|
if (intersects[_i1] === undefined) {
|
|
1297
1297
|
if (transflag !== 0 && transflag !== 2) {
|
|
1298
1298
|
isSelected = false;
|
|
1299
|
-
|
|
1299
|
+
_this2.context.projectActions.unselectAll();
|
|
1300
1300
|
scene3D.remove(toolObj);
|
|
1301
1301
|
_this2.context.itemsActions.removeReplacingSupport();
|
|
1302
1302
|
return;
|
|
@@ -1363,16 +1363,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1363
1363
|
if (selectedFlag || toolIntersects.length > 0 && !isElevationView(mode)) {
|
|
1364
1364
|
cameraControls.mouseButtons.left = CameraControls.ACTION.NONE;
|
|
1365
1365
|
selectedFlag = false;
|
|
1366
|
-
} else {
|
|
1367
|
-
isSelected = false;
|
|
1368
|
-
// this.context.projectActions.unselectAll();
|
|
1369
|
-
scene3D.remove(toolObj);
|
|
1370
|
-
_this2.context.itemsActions.removeReplacingSupport();
|
|
1371
1366
|
}
|
|
1372
1367
|
}
|
|
1373
1368
|
} else {
|
|
1374
1369
|
isSelected = false;
|
|
1375
|
-
|
|
1370
|
+
_this2.context.projectActions.unselectAll();
|
|
1376
1371
|
scene3D.remove(toolObj);
|
|
1377
1372
|
_this2.context.itemsActions.removeReplacingSupport();
|
|
1378
1373
|
return;
|
|
@@ -1391,7 +1386,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1391
1386
|
altitude = convert(altitude).from(unit).to(_this2.props.state.scene.unit);
|
|
1392
1387
|
}
|
|
1393
1388
|
scene3D.remove(angleObj);
|
|
1394
|
-
scene3D.remove(toolObj);
|
|
1389
|
+
// scene3D.remove(toolObj);
|
|
1395
1390
|
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
1396
1391
|
_this2.props.setToolbar('');
|
|
1397
1392
|
}
|
|
@@ -1530,22 +1525,12 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1530
1525
|
toolObj: toolObj
|
|
1531
1526
|
});
|
|
1532
1527
|
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1533
|
-
var pointArray = []
|
|
1534
|
-
|
|
1535
|
-
pointArray.push([fVLine[
|
|
1536
|
-
pointArray.push([fVLine[
|
|
1537
|
-
pointArray.push([fVLine[
|
|
1538
|
-
pointArray.
|
|
1539
|
-
pointArray.forEach(function (pointElement, index) {
|
|
1540
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1541
|
-
});
|
|
1542
|
-
pointArray.forEach(function (pointElement) {
|
|
1543
|
-
if (pointElement[0] == 0) cnt++;
|
|
1544
|
-
});
|
|
1545
|
-
if (cnt == 4 || cnt == 3) {
|
|
1546
|
-
pointArray[0][0] = 100;
|
|
1547
|
-
pointArray[1][0] = 100;
|
|
1548
|
-
}
|
|
1528
|
+
var pointArray = [];
|
|
1529
|
+
// pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1530
|
+
// pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1531
|
+
// pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1532
|
+
// pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1533
|
+
pointArray = GeometryUtils.calcDistancesFromItemToWalls(selectedElement, layer).PointArray;
|
|
1549
1534
|
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1550
1535
|
internalType = internalType ? internalType : INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1551
1536
|
sendInternalEvent(internalType, selectedElement, pointArray);
|
|
@@ -1558,6 +1543,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1558
1543
|
case 'holeID' in selectedObject:
|
|
1559
1544
|
elementID = selectedObject.holeID;
|
|
1560
1545
|
elementPrototype = 'holes';
|
|
1546
|
+
scene3D.remove(toolObj);
|
|
1561
1547
|
if (_this2.props.state.mode === MODE_DRAGGING_HOLE_3D) {
|
|
1562
1548
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1563
1549
|
}
|
|
@@ -1565,10 +1551,12 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1565
1551
|
case 'lineID' in selectedObject:
|
|
1566
1552
|
elementID = selectedObject.lineID;
|
|
1567
1553
|
elementPrototype = 'lines';
|
|
1554
|
+
scene3D.remove(toolObj);
|
|
1568
1555
|
break;
|
|
1569
1556
|
case 'areaID' in selectedObject:
|
|
1570
1557
|
elementID = selectedObject.areaID;
|
|
1571
1558
|
elementPrototype = 'areas';
|
|
1559
|
+
scene3D.remove(toolObj);
|
|
1572
1560
|
break;
|
|
1573
1561
|
default:
|
|
1574
1562
|
break;
|
|
@@ -1578,8 +1566,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1578
1566
|
isSelected = false;
|
|
1579
1567
|
}
|
|
1580
1568
|
} else {
|
|
1581
|
-
isSelected = false;
|
|
1582
|
-
|
|
1569
|
+
// isSelected = false;
|
|
1570
|
+
// this.context.projectActions.unselectAll();
|
|
1583
1571
|
switch (true) {
|
|
1584
1572
|
case 'holeID' in selectedObject:
|
|
1585
1573
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
@@ -1589,6 +1577,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1589
1577
|
break;
|
|
1590
1578
|
}
|
|
1591
1579
|
}
|
|
1580
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1581
|
+
if (selectedItem) {
|
|
1582
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1583
|
+
var itemPos = selectedItem.position.clone();
|
|
1584
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1585
|
+
scene3D.add(toolObj);
|
|
1586
|
+
}
|
|
1592
1587
|
bMove = false;
|
|
1593
1588
|
bRotate = false;
|
|
1594
1589
|
bMoveUP = false;
|
|
@@ -1608,14 +1603,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1608
1603
|
getPoint(event, alti);
|
|
1609
1604
|
if (bRotate) {
|
|
1610
1605
|
var _intersects$_i;
|
|
1611
|
-
var
|
|
1612
|
-
if (isUndefined(
|
|
1606
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1607
|
+
if (isUndefined(_selectedItem)) return;
|
|
1613
1608
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1614
|
-
var
|
|
1615
|
-
if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) ===
|
|
1609
|
+
var _itemPos = _selectedItem.position.clone();
|
|
1610
|
+
if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) === _selectedItem.userData.itemId) {
|
|
1616
1611
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1617
1612
|
} else {
|
|
1618
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1613
|
+
toolObj.position.set(planData.plan.position.x + _itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
|
|
1619
1614
|
}
|
|
1620
1615
|
scene3D.add(toolObj);
|
|
1621
1616
|
_this2.setState({
|
|
@@ -1626,14 +1621,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1626
1621
|
}
|
|
1627
1622
|
if (bMove) {
|
|
1628
1623
|
bMove = false;
|
|
1629
|
-
var
|
|
1630
|
-
if (isUndefined(
|
|
1624
|
+
var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1625
|
+
if (isUndefined(_selectedItem2)) return;
|
|
1631
1626
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1632
|
-
var
|
|
1633
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1627
|
+
var _itemPos2 = _selectedItem2.position.clone();
|
|
1628
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
|
|
1634
1629
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1635
1630
|
} else {
|
|
1636
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1631
|
+
toolObj.position.set(planData.plan.position.x + _itemPos2.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem2.children[0].position.y, planData.plan.position.z + _itemPos2.z);
|
|
1637
1632
|
}
|
|
1638
1633
|
scene3D.add(toolObj);
|
|
1639
1634
|
_this2.setState({
|
package/es/utils/geometry.js
CHANGED
|
@@ -2459,31 +2459,13 @@ function getCalcRectFromItem2(itemInfo) {
|
|
|
2459
2459
|
var m3y = y + h * Math.cos(rotRad);
|
|
2460
2460
|
var m1x = x + h * Math.sin(rotRad);
|
|
2461
2461
|
var m1y = y - h * Math.cos(rotRad);
|
|
2462
|
-
var x0 = mx + h * Math.sin(rotRad);
|
|
2463
|
-
var y0 = my - h * Math.cos(rotRad);
|
|
2464
|
-
var x3 = mx * 2 - x0;
|
|
2465
|
-
var y3 = my * 2 - y0;
|
|
2466
|
-
var x1 = x * 2 - x3;
|
|
2467
|
-
var y1 = y * 2 - y3;
|
|
2468
|
-
var x2 = x * 2 - x0;
|
|
2469
|
-
var y2 = y * 2 - y0;
|
|
2470
2462
|
return {
|
|
2471
2463
|
rectCenterPoint: [[point(mx, my), 180], [point(m1x, m1y), -90], [point(m2x, m2y), 0], [point(m3x, m3y), 90]]
|
|
2472
2464
|
};
|
|
2473
2465
|
}
|
|
2474
|
-
function getAllItems2(
|
|
2466
|
+
function getAllItems2(curItem, layer) {
|
|
2475
2467
|
var rectarray = [];
|
|
2476
|
-
var
|
|
2477
|
-
var selectedItem;
|
|
2478
|
-
if (layer.selected.items.size > 0) {
|
|
2479
|
-
selectedItem = layer.getIn(['items', layer.selected.items.get(0)]);
|
|
2480
|
-
var catid = selectedItem.type;
|
|
2481
|
-
var cat = findCatalogElement(catalog, catid);
|
|
2482
|
-
currentItem = {
|
|
2483
|
-
selectedItem: selectedItem,
|
|
2484
|
-
cat: cat
|
|
2485
|
-
};
|
|
2486
|
-
}
|
|
2468
|
+
var tempHeight = curItem.get('properties').get('depth');
|
|
2487
2469
|
layer.items.forEach(function (item) {
|
|
2488
2470
|
var val = {
|
|
2489
2471
|
pos: {
|
|
@@ -2492,27 +2474,14 @@ function getAllItems2(layer, catalog) {
|
|
|
2492
2474
|
},
|
|
2493
2475
|
rotRad: item.rotation / 180 * Math.PI
|
|
2494
2476
|
};
|
|
2495
|
-
var catid = item.type;
|
|
2496
|
-
var cat = findCatalogElement(catalog, catid);
|
|
2497
2477
|
var width = convert(item.properties.getIn(['width', '_length'])).from('in').to('cm');
|
|
2498
2478
|
var height = convert(item.properties.getIn(['depth', '_length'])).from('in').to('cm');
|
|
2499
|
-
// let width = cat.info.sizeinfo.width;
|
|
2500
|
-
// let height = cat.info.sizeinfo.depth;
|
|
2501
2479
|
val.size = {
|
|
2502
2480
|
width: width,
|
|
2503
2481
|
height: height
|
|
2504
2482
|
};
|
|
2505
|
-
|
|
2506
|
-
item: item,
|
|
2507
|
-
cat: cat
|
|
2508
|
-
};
|
|
2509
|
-
|
|
2510
|
-
// if (!GeometryUtils.needSnap(currentItem, otherItem)) {
|
|
2511
|
-
// return;
|
|
2512
|
-
// }
|
|
2513
|
-
|
|
2514
|
-
if (!item.selected) {
|
|
2515
|
-
var detectObjectsAtSameAltitudeFlag = layoutpos === 'Base' ? item.properties.getIn(['altitude', '_length']) <= altitude + tempHeight.get('_length') : item.properties.getIn(['altitude', '_length']) + item.properties.getIn(['height', '_length']) >= altitude;
|
|
2483
|
+
if (curItem.get('id') !== item.id) {
|
|
2484
|
+
var detectObjectsAtSameAltitudeFlag = item.layoutpos === 'Base' ? item.properties.getIn(['altitude', '_length']) <= curItem.get('properties').getIn(['altitude', '_length']) + tempHeight.get('_length') : item.properties.getIn(['altitude', '_length']) + item.properties.getIn(['height', '_length']) >= curItem.get('properties').getIn(['altitude', '_length']);
|
|
2516
2485
|
if (detectObjectsAtSameAltitudeFlag) {
|
|
2517
2486
|
var x = val.pos.x;
|
|
2518
2487
|
var y = val.pos.y;
|
|
@@ -2544,62 +2513,22 @@ function getAllItems2(layer, catalog) {
|
|
|
2544
2513
|
}
|
|
2545
2514
|
}
|
|
2546
2515
|
});
|
|
2547
|
-
|
|
2548
|
-
// layer.holes.forEach(hole => {
|
|
2549
|
-
// let val = {pos:{x:hole.x, y:hole.y}, rotRad:hole.rotation};
|
|
2550
|
-
// let catid = hole.type;
|
|
2551
|
-
// let cat = catalog.elements[catid];
|
|
2552
|
-
// let width = hole.properties.getIn(['width']).getIn(['length']);
|
|
2553
|
-
// let height = hole.properties.getIn(['height']).getIn(['length']);
|
|
2554
|
-
// val.size = {width, height};
|
|
2555
|
-
// let otherItem = {
|
|
2556
|
-
// hole,
|
|
2557
|
-
// cat
|
|
2558
|
-
// }
|
|
2559
|
-
|
|
2560
|
-
// // if (!GeometryUtils.needSnap(currentItem, otherItem)) {
|
|
2561
|
-
// // return;
|
|
2562
|
-
// // }
|
|
2563
|
-
|
|
2564
|
-
// if (!hole.selected) {
|
|
2565
|
-
// let x = val.pos.x;
|
|
2566
|
-
// let y = val.pos.y;
|
|
2567
|
-
// let rotRad = val.rotRad;
|
|
2568
|
-
// let w = val.size.width / 2;
|
|
2569
|
-
// let mx = x - w * Math.cos(rotRad);
|
|
2570
|
-
// let my = y - w * Math.sin(rotRad);
|
|
2571
|
-
// let kx = x + w * Math.cos(rotRad);
|
|
2572
|
-
// let ky = y + w * Math.sin(rotRad);
|
|
2573
|
-
// let x0 = mx - 10 * Math.sin(rotRad);
|
|
2574
|
-
// let y0 = my + 10 * Math.cos(rotRad);
|
|
2575
|
-
// let x3 = mx + 10 * Math.sin(rotRad);
|
|
2576
|
-
// let y3 = my - 10 * Math.cos(rotRad);
|
|
2577
|
-
// let x1 = kx - 10 * Math.sin(rotRad);
|
|
2578
|
-
// let y1 = ky + 10 * Math.cos(rotRad);
|
|
2579
|
-
// let x2 = kx + 10 * Math.sin(rotRad);
|
|
2580
|
-
// let y2 = ky - 10 * Math.cos(rotRad);
|
|
2581
|
-
// rectarray.push({'rect':[point(x0,y0), point(x1,y1) ,point(x0,y0), point(x1,y1)]});
|
|
2582
|
-
// rectarray.push({'rect':[point(x1,y1), point(x2,y2), point(x1,y1), point(x2,y2)]}); // right
|
|
2583
|
-
// rectarray.push({'rect':[point(x2,y2), point(x3,y3), point(x2,y2), point(x3,y3)]}); // front
|
|
2584
|
-
// rectarray.push({'rect':[point(x3,y3), point(x0,y0), point(x3,y3), point(x0,y0)]}); // left
|
|
2585
|
-
// }
|
|
2586
|
-
// });
|
|
2587
2516
|
return {
|
|
2588
2517
|
others: rectarray
|
|
2589
2518
|
};
|
|
2590
2519
|
}
|
|
2591
|
-
export function calcDistancesFromItemToWalls(
|
|
2592
|
-
if (isEmpty(
|
|
2593
|
-
var x =
|
|
2594
|
-
var y =
|
|
2595
|
-
var rotRad =
|
|
2520
|
+
export function calcDistancesFromItemToWalls(curItem, layer) {
|
|
2521
|
+
if (isEmpty(curItem)) return [];
|
|
2522
|
+
var x = curItem.get('x');
|
|
2523
|
+
var y = curItem.get('y');
|
|
2524
|
+
var rotRad = curItem.get('rotation') / 180 * Math.PI;
|
|
2596
2525
|
var width, height;
|
|
2597
|
-
if (
|
|
2598
|
-
width = convert(
|
|
2599
|
-
height = convert(
|
|
2526
|
+
if (curItem.get('properties').get('width') || curItem.get('properties').get('depth')) {
|
|
2527
|
+
width = convert(curItem.get('properties').get('width').get('_length')).from(curItem.get('properties').get('width').get('_unit')).to('cm');
|
|
2528
|
+
height = convert(curItem.get('properties').get('depth').get('_length')).from(curItem.get('properties').get('depth').get('_unit')).to('cm');
|
|
2600
2529
|
} else {
|
|
2601
|
-
width = convert(
|
|
2602
|
-
height = convert(
|
|
2530
|
+
width = convert(curItem.info.sizeinfo.width).from('in').to('cm');
|
|
2531
|
+
height = convert(curItem.info.sizeinfo.depth).from('in').to('cm');
|
|
2603
2532
|
}
|
|
2604
2533
|
var center_h = 3 * height / 8;
|
|
2605
2534
|
var center_x = x;
|
|
@@ -2619,7 +2548,7 @@ export function calcDistancesFromItemToWalls(attributesFormData, layer, catalog)
|
|
|
2619
2548
|
height: height
|
|
2620
2549
|
};
|
|
2621
2550
|
var curiteminfo = getCalcRectFromItem2(itemInfo);
|
|
2622
|
-
var allItemRect = getAllItems2(
|
|
2551
|
+
var allItemRect = getAllItems2(curItem, layer);
|
|
2623
2552
|
var allLines = getAllLines(layer);
|
|
2624
2553
|
var allLineRects = buildRectFromLines(layer, allLines);
|
|
2625
2554
|
var allRect = allLineRects.concat(allItemRect.others);
|
|
@@ -2645,6 +2574,17 @@ export function calcDistancesFromItemToWalls(attributesFormData, layer, catalog)
|
|
|
2645
2574
|
});
|
|
2646
2575
|
PointArray.push([a, centerpoint[1]]);
|
|
2647
2576
|
});
|
|
2577
|
+
PointArray.forEach(function (pointElement, index) {
|
|
2578
|
+
if (pointElement[0] == undefined) PointArray[index][0] = 0;
|
|
2579
|
+
});
|
|
2580
|
+
var cnt = 0;
|
|
2581
|
+
PointArray.forEach(function (pointElement) {
|
|
2582
|
+
if (pointElement[0] == 0) cnt++;
|
|
2583
|
+
});
|
|
2584
|
+
if (cnt == 4 || cnt == 3) {
|
|
2585
|
+
PointArray[0][0] = 100;
|
|
2586
|
+
PointArray[1][0] = 100;
|
|
2587
|
+
}
|
|
2648
2588
|
return {
|
|
2649
2589
|
PointArray: PointArray
|
|
2650
2590
|
};
|
|
@@ -13,6 +13,7 @@ import { convert } from "./convert-units-lite";
|
|
|
13
13
|
import { GeometryUtils, MathUtils } from "./export";
|
|
14
14
|
import { returnReplaceableDeepSearchType } from "../components/viewer2d/utils";
|
|
15
15
|
import { SVGLoader } from 'three/addons/loaders/SVGLoader';
|
|
16
|
+
import { getMoldingDataOfScene } from "./molding";
|
|
16
17
|
var PRECISION = 2;
|
|
17
18
|
function loadJSON(_x) {
|
|
18
19
|
return _loadJSON.apply(this, arguments);
|
|
@@ -722,7 +723,7 @@ function updateAttributeOfSelectedElement(element, attrPayload, state, layer, ca
|
|
|
722
723
|
} else {
|
|
723
724
|
attributesFormData = attributesFormData.set(attributeName, value);
|
|
724
725
|
// update the distances from wall
|
|
725
|
-
var _GeometryUtils$calcDi = GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer
|
|
726
|
+
var _GeometryUtils$calcDi = GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer),
|
|
726
727
|
PointArray = _GeometryUtils$calcDi.PointArray;
|
|
727
728
|
attributesFormData = attributesFormData.set('distArray', PointArray);
|
|
728
729
|
}
|
|
@@ -1058,13 +1059,15 @@ export function handleExternalEvent(_x10) {
|
|
|
1058
1059
|
function _handleExternalEvent() {
|
|
1059
1060
|
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9(props) {
|
|
1060
1061
|
var _evt$payload3, _evt$payload4;
|
|
1061
|
-
var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _Object$keys, _evt$payload5, doorStyle, itemCDS, isAll,
|
|
1062
|
+
var evt, state, layerId, layer, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _Object$keys, _evt$payload5, doorStyle, itemCDS, isAll, _layerId, _cdsItems, allItems, selectedItemId, _itemKeys, _loop4, _i2, _props$onInternalEven2, _evt$payload6, roomShapeType, width, height, _doorStyle, value, _value, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value2, _layerId2, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven3, sceneData, currentTexture, _t5;
|
|
1062
1063
|
return _regeneratorRuntime.wrap(function (_context1) {
|
|
1063
1064
|
while (1) switch (_context1.prev = _context1.next) {
|
|
1064
1065
|
case 0:
|
|
1065
1066
|
// console.log('***external event****', props);
|
|
1066
1067
|
evt = props.externalEvent;
|
|
1067
1068
|
state = props.state.get('KitchenConfigurator');
|
|
1069
|
+
layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1070
|
+
layer = state.getIn(['scene', 'layers', layerId]);
|
|
1068
1071
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
1069
1072
|
_context1.next = _t5 === EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === EXTERNAL_EVENT_NEW_PROJECT ? 14 : _t5 === EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 15 : _t5 === EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 19 : _t5 === EXTERNAL_EVENT_ZOOM_IN ? 20 : _t5 === EXTERNAL_EVENT_ZOOM_OUT ? 21 : _t5 === EXTERNAL_EVENT_CENTERING_2D ? 22 : _t5 === EXTERNAL_EVENT_UNDO ? 23 : _t5 === EXTERNAL_EVENT_REDO ? 24 : _t5 === EXTERNAL_EVENT_SET_MOLDING ? 25 : _t5 === EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 27 : _t5 === EXTERNAL_EVENT_DELETE_ELEMENT ? 28 : _t5 === EXTERNAL_EVENT_PROJECT_SETTING ? 29 : _t5 === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 30 : _t5 === EXTERNAL_EVENT_UPDATE_PROPERTY ? 30 : _t5 === EXTERNAL_EVENT_REPLACE_CABINET ? 31 : _t5 === EXTERNAL_EVENT_SET_FINISHING ? 33 : _t5 === EXTERNAL_EVENT_SYNC_SCENE ? 34 : 35;
|
|
1070
1073
|
break;
|
|
@@ -1078,7 +1081,11 @@ function _handleExternalEvent() {
|
|
|
1078
1081
|
return _regeneratorRuntime.wrap(function (_context8) {
|
|
1079
1082
|
while (1) switch (_context8.prev = _context8.next) {
|
|
1080
1083
|
case 0:
|
|
1081
|
-
it = evt === null || evt === void 0 || (_evt$payload2 = evt.payload) === null || _evt$payload2 === void 0 || (_evt$payload2 = _evt$payload2.layers['layer-1']) === null || _evt$payload2 === void 0 ? void 0 : _evt$payload2.items[itemKeys[i]];
|
|
1084
|
+
it = evt === null || evt === void 0 || (_evt$payload2 = evt.payload) === null || _evt$payload2 === void 0 || (_evt$payload2 = _evt$payload2.layers['layer-1']) === null || _evt$payload2 === void 0 ? void 0 : _evt$payload2.items[itemKeys[i]]; //////// check altitude of item property and change length from _length (convert length from 'in' fo 'cm')
|
|
1085
|
+
if (it.properties.altitude.length !== convert(it.properties.altitude._length).from('in').to('cm')) {
|
|
1086
|
+
it.properties.altitude.length = convert(it.properties.altitude._length).from('in').to('cm');
|
|
1087
|
+
}
|
|
1088
|
+
/////////
|
|
1082
1089
|
if (!cdsItems.some(function (v) {
|
|
1083
1090
|
var _it$doorStyle;
|
|
1084
1091
|
return it.itemID === v.itemID && it.name === v.name && ((_it$doorStyle = it.doorStyle) === null || _it$doorStyle === void 0 || (_it$doorStyle = _it$doorStyle.doorStyles) === null || _it$doorStyle === void 0 ? void 0 : _it$doorStyle.cabinet_door_style_id) === v.cdsId;
|
|
@@ -1155,7 +1162,7 @@ function _handleExternalEvent() {
|
|
|
1155
1162
|
props.projectActions.setMode(MODE_IDLE);
|
|
1156
1163
|
return _context1.abrupt("continue", 35);
|
|
1157
1164
|
case 7:
|
|
1158
|
-
sLineCnt =
|
|
1165
|
+
sLineCnt = layer.selected.lines.size;
|
|
1159
1166
|
if (sLineCnt > 0) props.projectActions.setMode(MODE_ELEVATION_VIEW);
|
|
1160
1167
|
return _context1.abrupt("continue", 35);
|
|
1161
1168
|
case 8:
|
|
@@ -1208,10 +1215,10 @@ function _handleExternalEvent() {
|
|
|
1208
1215
|
return _context1.abrupt("continue", 35);
|
|
1209
1216
|
case 15:
|
|
1210
1217
|
_evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, isAll = _evt$payload5.isAll; // prepare item data request
|
|
1211
|
-
|
|
1218
|
+
_layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1212
1219
|
_cdsItems = [];
|
|
1213
|
-
allItems = state.getIn(['scene', 'layers',
|
|
1214
|
-
selectedItemId = state.getIn(['scene', 'layers',
|
|
1220
|
+
allItems = state.getIn(['scene', 'layers', _layerId, 'items']).toJS();
|
|
1221
|
+
selectedItemId = state.getIn(['scene', 'layers', _layerId]).selected.items.toJS()[0];
|
|
1215
1222
|
_itemKeys = isAll ? (_Object$keys = Object.keys(allItems)) !== null && _Object$keys !== void 0 ? _Object$keys : [] : [selectedItemId];
|
|
1216
1223
|
_loop4 = /*#__PURE__*/_regeneratorRuntime.mark(function _loop4() {
|
|
1217
1224
|
var _itemCDS$find;
|
|
@@ -1224,7 +1231,7 @@ function _handleExternalEvent() {
|
|
|
1224
1231
|
return itCDS.itemID === item.itemID;
|
|
1225
1232
|
})) === null || _itemCDS$find === void 0 ? void 0 : _itemCDS$find.cabinet_door_style_id;
|
|
1226
1233
|
if (cdsId && !_cdsItems.some(function (v) {
|
|
1227
|
-
return
|
|
1234
|
+
return item.itemID === v.itemID && item.name === v.name && cdsId === v.cdsId;
|
|
1228
1235
|
})) _cdsItems.push({
|
|
1229
1236
|
itemID: item.itemID,
|
|
1230
1237
|
prototype: item.prototype,
|
|
@@ -1351,18 +1358,18 @@ function _handleExternalEvent() {
|
|
|
1351
1358
|
}
|
|
1352
1359
|
return _context1.abrupt("continue", 35);
|
|
1353
1360
|
case 30:
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
_layer$getIn =
|
|
1357
|
-
for (_i4 = 0; _i4 < selectedLines.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(
|
|
1358
|
-
for (_i5 = 0; _i5 < selectedHoles.size; _i5++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(
|
|
1359
|
-
for (_i6 = 0; _i6 < selectedItems.size; _i6++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(
|
|
1361
|
+
_layerId2 = state.getIn(['scene', 'selectedLayer']);
|
|
1362
|
+
_layer = state.getIn(['scene', 'layers', _layerId2]);
|
|
1363
|
+
_layer$getIn = _layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
|
|
1364
|
+
for (_i4 = 0; _i4 < selectedLines.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i4)]), evt.payload, state, _layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i4)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1365
|
+
for (_i5 = 0; _i5 < selectedHoles.size; _i5++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i5)]), evt.payload, state, _layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i5)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1366
|
+
for (_i6 = 0; _i6 < selectedItems.size; _i6++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i6)]), evt.payload, state, _layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i6)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1360
1367
|
return _context1.abrupt("continue", 35);
|
|
1361
1368
|
case 31:
|
|
1362
1369
|
_layerID = state.scene.selectedLayer;
|
|
1363
|
-
|
|
1370
|
+
_layer2 = state.scene.getIn(['layers', _layerID]).toJS();
|
|
1364
1371
|
orginalItemInfo = evt === null || evt === void 0 || (_evt$payload9 = evt.payload) === null || _evt$payload9 === void 0 ? void 0 : _evt$payload9.orginalItemInfo;
|
|
1365
|
-
originalItem =
|
|
1372
|
+
originalItem = _layer2 === null || _layer2 === void 0 ? void 0 : _layer2.items[orginalItemInfo.id];
|
|
1366
1373
|
_context1.next = 32;
|
|
1367
1374
|
return addItemToCatalog(evt.payload.replaceItemInfo, state, props.catalog, props.projectActions);
|
|
1368
1375
|
case 32:
|
|
@@ -1384,11 +1391,14 @@ function _handleExternalEvent() {
|
|
|
1384
1391
|
case 33:
|
|
1385
1392
|
setFinishing(props, state, evt.payload);
|
|
1386
1393
|
case 34:
|
|
1394
|
+
sceneData = state.scene.toJS(); // get molding data for "ReviewForQuote"
|
|
1395
|
+
currentTexture = layer.doorStyle !== null || layer.doorStyle !== undefined ? layer.doorStyle : props.state.doorStyle.toJS();
|
|
1396
|
+
sceneData.layers[layerId].moldingData = getMoldingDataOfScene(layer, props.catalog, currentTexture);
|
|
1387
1397
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
1388
1398
|
(_props$onInternalEven3 = props.onInternalEvent) === null || _props$onInternalEven3 === void 0 || _props$onInternalEven3.call(props, {
|
|
1389
1399
|
type: INTERNAL_EVENT_SYNC_SCENE,
|
|
1390
1400
|
value: {
|
|
1391
|
-
scene:
|
|
1401
|
+
scene: sceneData
|
|
1392
1402
|
}
|
|
1393
1403
|
});
|
|
1394
1404
|
return _context1.abrupt("continue", 35);
|