kitchen-simulator 3.1.11 → 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 +7 -3
- 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 +7 -3
- 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
|
};
|
|
@@ -723,7 +723,7 @@ function updateAttributeOfSelectedElement(element, attrPayload, state, layer, ca
|
|
|
723
723
|
} else {
|
|
724
724
|
attributesFormData = attributesFormData.set(attributeName, value);
|
|
725
725
|
// update the distances from wall
|
|
726
|
-
var _GeometryUtils$calcDi = GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer
|
|
726
|
+
var _GeometryUtils$calcDi = GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer),
|
|
727
727
|
PointArray = _GeometryUtils$calcDi.PointArray;
|
|
728
728
|
attributesFormData = attributesFormData.set('distArray', PointArray);
|
|
729
729
|
}
|
|
@@ -1081,7 +1081,11 @@ function _handleExternalEvent() {
|
|
|
1081
1081
|
return _regeneratorRuntime.wrap(function (_context8) {
|
|
1082
1082
|
while (1) switch (_context8.prev = _context8.next) {
|
|
1083
1083
|
case 0:
|
|
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]];
|
|
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
|
+
/////////
|
|
1085
1089
|
if (!cdsItems.some(function (v) {
|
|
1086
1090
|
var _it$doorStyle;
|
|
1087
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;
|
|
@@ -1227,7 +1231,7 @@ function _handleExternalEvent() {
|
|
|
1227
1231
|
return itCDS.itemID === item.itemID;
|
|
1228
1232
|
})) === null || _itemCDS$find === void 0 ? void 0 : _itemCDS$find.cabinet_door_style_id;
|
|
1229
1233
|
if (cdsId && !_cdsItems.some(function (v) {
|
|
1230
|
-
return
|
|
1234
|
+
return item.itemID === v.itemID && item.name === v.name && cdsId === v.cdsId;
|
|
1231
1235
|
})) _cdsItems.push({
|
|
1232
1236
|
itemID: item.itemID,
|
|
1233
1237
|
prototype: item.prototype,
|
|
@@ -286,10 +286,18 @@ function Item(_ref, _ref2) {
|
|
|
286
286
|
var cat = catalog.elements[catid];
|
|
287
287
|
PointArray.forEach(function (pointElement, index) {
|
|
288
288
|
if (pointElement[0] == undefined) PointArray[index][0] = 0;
|
|
289
|
-
if (pointElement[1] === -90 && cat.info.is_corner !== 1) {
|
|
290
|
-
|
|
291
|
-
}
|
|
289
|
+
// if (pointElement[1] === -90 && cat.info.is_corner !== 1) {
|
|
290
|
+
// PointArray[index][0] -= 4;
|
|
291
|
+
// }
|
|
292
|
+
});
|
|
293
|
+
var cnt = 0;
|
|
294
|
+
PointArray.forEach(function (pointElement) {
|
|
295
|
+
if (pointElement[0] == 0) cnt++;
|
|
292
296
|
});
|
|
297
|
+
if (cnt == 4 || cnt == 3) {
|
|
298
|
+
PointArray[0][0] = 100;
|
|
299
|
+
PointArray[1][0] = 100;
|
|
300
|
+
}
|
|
293
301
|
if (Array.isArray(PointArray)) {
|
|
294
302
|
itemsActions.storeDistArray(layerID, id, PointArray);
|
|
295
303
|
}
|
|
@@ -1193,12 +1193,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1193
1193
|
var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
|
|
1194
1194
|
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1195
1195
|
if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
|
|
1196
|
-
var
|
|
1196
|
+
var _this2$props$onIntern, _this2$props;
|
|
1197
1197
|
var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
|
|
1198
|
-
if ((
|
|
1198
|
+
if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'lines') {
|
|
1199
1199
|
// caculating length of selected line//
|
|
1200
|
-
var v_a = layer.vertices.get(
|
|
1201
|
-
var v_b = layer.vertices.get(
|
|
1200
|
+
var v_a = layer.vertices.get(evtElement.vertices.get(0));
|
|
1201
|
+
var v_b = layer.vertices.get(evtElement.vertices.get(1));
|
|
1202
1202
|
var distance = _export.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
|
|
1203
1203
|
var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
|
|
1204
1204
|
payload.length = _length;
|
|
@@ -1302,7 +1302,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1302
1302
|
if (intersects[_i1] === undefined) {
|
|
1303
1303
|
if (transflag !== 0 && transflag !== 2) {
|
|
1304
1304
|
isSelected = false;
|
|
1305
|
-
|
|
1305
|
+
_this2.context.projectActions.unselectAll();
|
|
1306
1306
|
scene3D.remove(toolObj);
|
|
1307
1307
|
_this2.context.itemsActions.removeReplacingSupport();
|
|
1308
1308
|
return;
|
|
@@ -1369,16 +1369,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1369
1369
|
if (selectedFlag || toolIntersects.length > 0 && !(0, _helper.isElevationView)(mode)) {
|
|
1370
1370
|
cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
|
|
1371
1371
|
selectedFlag = false;
|
|
1372
|
-
} else {
|
|
1373
|
-
isSelected = false;
|
|
1374
|
-
// this.context.projectActions.unselectAll();
|
|
1375
|
-
scene3D.remove(toolObj);
|
|
1376
|
-
_this2.context.itemsActions.removeReplacingSupport();
|
|
1377
1372
|
}
|
|
1378
1373
|
}
|
|
1379
1374
|
} else {
|
|
1380
1375
|
isSelected = false;
|
|
1381
|
-
|
|
1376
|
+
_this2.context.projectActions.unselectAll();
|
|
1382
1377
|
scene3D.remove(toolObj);
|
|
1383
1378
|
_this2.context.itemsActions.removeReplacingSupport();
|
|
1384
1379
|
return;
|
|
@@ -1397,7 +1392,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1397
1392
|
altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
|
|
1398
1393
|
}
|
|
1399
1394
|
scene3D.remove(angleObj);
|
|
1400
|
-
scene3D.remove(toolObj);
|
|
1395
|
+
// scene3D.remove(toolObj);
|
|
1401
1396
|
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
1402
1397
|
_this2.props.setToolbar('');
|
|
1403
1398
|
}
|
|
@@ -1536,22 +1531,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1536
1531
|
toolObj: toolObj
|
|
1537
1532
|
});
|
|
1538
1533
|
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1539
|
-
var pointArray = []
|
|
1540
|
-
|
|
1541
|
-
pointArray.push([
|
|
1542
|
-
pointArray.push([
|
|
1543
|
-
pointArray.push([
|
|
1544
|
-
pointArray.
|
|
1545
|
-
pointArray.forEach(function (pointElement, index) {
|
|
1546
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1547
|
-
});
|
|
1548
|
-
pointArray.forEach(function (pointElement) {
|
|
1549
|
-
if (pointElement[0] == 0) cnt++;
|
|
1550
|
-
});
|
|
1551
|
-
if (cnt == 4 || cnt == 3) {
|
|
1552
|
-
pointArray[0][0] = 100;
|
|
1553
|
-
pointArray[1][0] = 100;
|
|
1554
|
-
}
|
|
1534
|
+
var pointArray = [];
|
|
1535
|
+
// pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1536
|
+
// pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1537
|
+
// pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1538
|
+
// pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1539
|
+
pointArray = _export.GeometryUtils.calcDistancesFromItemToWalls(selectedElement, layer).PointArray;
|
|
1555
1540
|
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1556
1541
|
internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1557
1542
|
sendInternalEvent(internalType, selectedElement, pointArray);
|
|
@@ -1564,6 +1549,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1564
1549
|
case 'holeID' in selectedObject:
|
|
1565
1550
|
elementID = selectedObject.holeID;
|
|
1566
1551
|
elementPrototype = 'holes';
|
|
1552
|
+
scene3D.remove(toolObj);
|
|
1567
1553
|
if (_this2.props.state.mode === _constants.MODE_DRAGGING_HOLE_3D) {
|
|
1568
1554
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1569
1555
|
}
|
|
@@ -1571,10 +1557,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1571
1557
|
case 'lineID' in selectedObject:
|
|
1572
1558
|
elementID = selectedObject.lineID;
|
|
1573
1559
|
elementPrototype = 'lines';
|
|
1560
|
+
scene3D.remove(toolObj);
|
|
1574
1561
|
break;
|
|
1575
1562
|
case 'areaID' in selectedObject:
|
|
1576
1563
|
elementID = selectedObject.areaID;
|
|
1577
1564
|
elementPrototype = 'areas';
|
|
1565
|
+
scene3D.remove(toolObj);
|
|
1578
1566
|
break;
|
|
1579
1567
|
default:
|
|
1580
1568
|
break;
|
|
@@ -1584,8 +1572,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1584
1572
|
isSelected = false;
|
|
1585
1573
|
}
|
|
1586
1574
|
} else {
|
|
1587
|
-
isSelected = false;
|
|
1588
|
-
|
|
1575
|
+
// isSelected = false;
|
|
1576
|
+
// this.context.projectActions.unselectAll();
|
|
1589
1577
|
switch (true) {
|
|
1590
1578
|
case 'holeID' in selectedObject:
|
|
1591
1579
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
@@ -1595,6 +1583,13 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1595
1583
|
break;
|
|
1596
1584
|
}
|
|
1597
1585
|
}
|
|
1586
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1587
|
+
if (selectedItem) {
|
|
1588
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1589
|
+
var itemPos = selectedItem.position.clone();
|
|
1590
|
+
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);
|
|
1591
|
+
scene3D.add(toolObj);
|
|
1592
|
+
}
|
|
1598
1593
|
bMove = false;
|
|
1599
1594
|
bRotate = false;
|
|
1600
1595
|
bMoveUP = false;
|
|
@@ -1614,14 +1609,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1614
1609
|
getPoint(event, alti);
|
|
1615
1610
|
if (bRotate) {
|
|
1616
1611
|
var _intersects$_i;
|
|
1617
|
-
var
|
|
1618
|
-
if ((0, _util.isUndefined)(
|
|
1612
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1613
|
+
if ((0, _util.isUndefined)(_selectedItem)) return;
|
|
1619
1614
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1620
|
-
var
|
|
1621
|
-
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) ===
|
|
1615
|
+
var _itemPos = _selectedItem.position.clone();
|
|
1616
|
+
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) {
|
|
1622
1617
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1623
1618
|
} else {
|
|
1624
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1619
|
+
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);
|
|
1625
1620
|
}
|
|
1626
1621
|
scene3D.add(toolObj);
|
|
1627
1622
|
_this2.setState({
|
|
@@ -1632,14 +1627,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1632
1627
|
}
|
|
1633
1628
|
if (bMove) {
|
|
1634
1629
|
bMove = false;
|
|
1635
|
-
var
|
|
1636
|
-
if ((0, _util.isUndefined)(
|
|
1630
|
+
var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1631
|
+
if ((0, _util.isUndefined)(_selectedItem2)) return;
|
|
1637
1632
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1638
|
-
var
|
|
1639
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1633
|
+
var _itemPos2 = _selectedItem2.position.clone();
|
|
1634
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
|
|
1640
1635
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1641
1636
|
} else {
|
|
1642
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1637
|
+
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);
|
|
1643
1638
|
}
|
|
1644
1639
|
scene3D.add(toolObj);
|
|
1645
1640
|
_this2.setState({
|
package/lib/utils/geometry.js
CHANGED
|
@@ -2559,31 +2559,13 @@ function getCalcRectFromItem2(itemInfo) {
|
|
|
2559
2559
|
var m3y = y + h * Math.cos(rotRad);
|
|
2560
2560
|
var m1x = x + h * Math.sin(rotRad);
|
|
2561
2561
|
var m1y = y - h * Math.cos(rotRad);
|
|
2562
|
-
var x0 = mx + h * Math.sin(rotRad);
|
|
2563
|
-
var y0 = my - h * Math.cos(rotRad);
|
|
2564
|
-
var x3 = mx * 2 - x0;
|
|
2565
|
-
var y3 = my * 2 - y0;
|
|
2566
|
-
var x1 = x * 2 - x3;
|
|
2567
|
-
var y1 = y * 2 - y3;
|
|
2568
|
-
var x2 = x * 2 - x0;
|
|
2569
|
-
var y2 = y * 2 - y0;
|
|
2570
2562
|
return {
|
|
2571
2563
|
rectCenterPoint: [[point(mx, my), 180], [point(m1x, m1y), -90], [point(m2x, m2y), 0], [point(m3x, m3y), 90]]
|
|
2572
2564
|
};
|
|
2573
2565
|
}
|
|
2574
|
-
function getAllItems2(
|
|
2566
|
+
function getAllItems2(curItem, layer) {
|
|
2575
2567
|
var rectarray = [];
|
|
2576
|
-
var
|
|
2577
|
-
var selectedItem;
|
|
2578
|
-
if (layer.selected.items.size > 0) {
|
|
2579
|
-
selectedItem = layer.getIn(['items', layer.selected.items.get(0)]);
|
|
2580
|
-
var catid = selectedItem.type;
|
|
2581
|
-
var cat = findCatalogElement(catalog, catid);
|
|
2582
|
-
currentItem = {
|
|
2583
|
-
selectedItem: selectedItem,
|
|
2584
|
-
cat: cat
|
|
2585
|
-
};
|
|
2586
|
-
}
|
|
2568
|
+
var tempHeight = curItem.get('properties').get('depth');
|
|
2587
2569
|
layer.items.forEach(function (item) {
|
|
2588
2570
|
var val = {
|
|
2589
2571
|
pos: {
|
|
@@ -2592,27 +2574,14 @@ function getAllItems2(layer, catalog) {
|
|
|
2592
2574
|
},
|
|
2593
2575
|
rotRad: item.rotation / 180 * Math.PI
|
|
2594
2576
|
};
|
|
2595
|
-
var catid = item.type;
|
|
2596
|
-
var cat = findCatalogElement(catalog, catid);
|
|
2597
2577
|
var width = (0, _convertUnitsLite.convert)(item.properties.getIn(['width', '_length'])).from('in').to('cm');
|
|
2598
2578
|
var height = (0, _convertUnitsLite.convert)(item.properties.getIn(['depth', '_length'])).from('in').to('cm');
|
|
2599
|
-
// let width = cat.info.sizeinfo.width;
|
|
2600
|
-
// let height = cat.info.sizeinfo.depth;
|
|
2601
2579
|
val.size = {
|
|
2602
2580
|
width: width,
|
|
2603
2581
|
height: height
|
|
2604
2582
|
};
|
|
2605
|
-
|
|
2606
|
-
item: item,
|
|
2607
|
-
cat: cat
|
|
2608
|
-
};
|
|
2609
|
-
|
|
2610
|
-
// if (!GeometryUtils.needSnap(currentItem, otherItem)) {
|
|
2611
|
-
// return;
|
|
2612
|
-
// }
|
|
2613
|
-
|
|
2614
|
-
if (!item.selected) {
|
|
2615
|
-
var detectObjectsAtSameAltitudeFlag = layoutpos === 'Base' ? item.properties.getIn(['altitude', '_length']) <= altitude + tempHeight.get('_length') : item.properties.getIn(['altitude', '_length']) + item.properties.getIn(['height', '_length']) >= altitude;
|
|
2583
|
+
if (curItem.get('id') !== item.id) {
|
|
2584
|
+
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']);
|
|
2616
2585
|
if (detectObjectsAtSameAltitudeFlag) {
|
|
2617
2586
|
var x = val.pos.x;
|
|
2618
2587
|
var y = val.pos.y;
|
|
@@ -2644,62 +2613,22 @@ function getAllItems2(layer, catalog) {
|
|
|
2644
2613
|
}
|
|
2645
2614
|
}
|
|
2646
2615
|
});
|
|
2647
|
-
|
|
2648
|
-
// layer.holes.forEach(hole => {
|
|
2649
|
-
// let val = {pos:{x:hole.x, y:hole.y}, rotRad:hole.rotation};
|
|
2650
|
-
// let catid = hole.type;
|
|
2651
|
-
// let cat = catalog.elements[catid];
|
|
2652
|
-
// let width = hole.properties.getIn(['width']).getIn(['length']);
|
|
2653
|
-
// let height = hole.properties.getIn(['height']).getIn(['length']);
|
|
2654
|
-
// val.size = {width, height};
|
|
2655
|
-
// let otherItem = {
|
|
2656
|
-
// hole,
|
|
2657
|
-
// cat
|
|
2658
|
-
// }
|
|
2659
|
-
|
|
2660
|
-
// // if (!GeometryUtils.needSnap(currentItem, otherItem)) {
|
|
2661
|
-
// // return;
|
|
2662
|
-
// // }
|
|
2663
|
-
|
|
2664
|
-
// if (!hole.selected) {
|
|
2665
|
-
// let x = val.pos.x;
|
|
2666
|
-
// let y = val.pos.y;
|
|
2667
|
-
// let rotRad = val.rotRad;
|
|
2668
|
-
// let w = val.size.width / 2;
|
|
2669
|
-
// let mx = x - w * Math.cos(rotRad);
|
|
2670
|
-
// let my = y - w * Math.sin(rotRad);
|
|
2671
|
-
// let kx = x + w * Math.cos(rotRad);
|
|
2672
|
-
// let ky = y + w * Math.sin(rotRad);
|
|
2673
|
-
// let x0 = mx - 10 * Math.sin(rotRad);
|
|
2674
|
-
// let y0 = my + 10 * Math.cos(rotRad);
|
|
2675
|
-
// let x3 = mx + 10 * Math.sin(rotRad);
|
|
2676
|
-
// let y3 = my - 10 * Math.cos(rotRad);
|
|
2677
|
-
// let x1 = kx - 10 * Math.sin(rotRad);
|
|
2678
|
-
// let y1 = ky + 10 * Math.cos(rotRad);
|
|
2679
|
-
// let x2 = kx + 10 * Math.sin(rotRad);
|
|
2680
|
-
// let y2 = ky - 10 * Math.cos(rotRad);
|
|
2681
|
-
// rectarray.push({'rect':[point(x0,y0), point(x1,y1) ,point(x0,y0), point(x1,y1)]});
|
|
2682
|
-
// rectarray.push({'rect':[point(x1,y1), point(x2,y2), point(x1,y1), point(x2,y2)]}); // right
|
|
2683
|
-
// rectarray.push({'rect':[point(x2,y2), point(x3,y3), point(x2,y2), point(x3,y3)]}); // front
|
|
2684
|
-
// rectarray.push({'rect':[point(x3,y3), point(x0,y0), point(x3,y3), point(x0,y0)]}); // left
|
|
2685
|
-
// }
|
|
2686
|
-
// });
|
|
2687
2616
|
return {
|
|
2688
2617
|
others: rectarray
|
|
2689
2618
|
};
|
|
2690
2619
|
}
|
|
2691
|
-
function calcDistancesFromItemToWalls(
|
|
2692
|
-
if ((0, _helper.isEmpty)(
|
|
2693
|
-
var x =
|
|
2694
|
-
var y =
|
|
2695
|
-
var rotRad =
|
|
2620
|
+
function calcDistancesFromItemToWalls(curItem, layer) {
|
|
2621
|
+
if ((0, _helper.isEmpty)(curItem)) return [];
|
|
2622
|
+
var x = curItem.get('x');
|
|
2623
|
+
var y = curItem.get('y');
|
|
2624
|
+
var rotRad = curItem.get('rotation') / 180 * Math.PI;
|
|
2696
2625
|
var width, height;
|
|
2697
|
-
if (
|
|
2698
|
-
width = (0, _convertUnitsLite.convert)(
|
|
2699
|
-
height = (0, _convertUnitsLite.convert)(
|
|
2626
|
+
if (curItem.get('properties').get('width') || curItem.get('properties').get('depth')) {
|
|
2627
|
+
width = (0, _convertUnitsLite.convert)(curItem.get('properties').get('width').get('_length')).from(curItem.get('properties').get('width').get('_unit')).to('cm');
|
|
2628
|
+
height = (0, _convertUnitsLite.convert)(curItem.get('properties').get('depth').get('_length')).from(curItem.get('properties').get('depth').get('_unit')).to('cm');
|
|
2700
2629
|
} else {
|
|
2701
|
-
width = (0, _convertUnitsLite.convert)(
|
|
2702
|
-
height = (0, _convertUnitsLite.convert)(
|
|
2630
|
+
width = (0, _convertUnitsLite.convert)(curItem.info.sizeinfo.width).from('in').to('cm');
|
|
2631
|
+
height = (0, _convertUnitsLite.convert)(curItem.info.sizeinfo.depth).from('in').to('cm');
|
|
2703
2632
|
}
|
|
2704
2633
|
var center_h = 3 * height / 8;
|
|
2705
2634
|
var center_x = x;
|
|
@@ -2719,7 +2648,7 @@ function calcDistancesFromItemToWalls(attributesFormData, layer, catalog) {
|
|
|
2719
2648
|
height: height
|
|
2720
2649
|
};
|
|
2721
2650
|
var curiteminfo = getCalcRectFromItem2(itemInfo);
|
|
2722
|
-
var allItemRect = getAllItems2(
|
|
2651
|
+
var allItemRect = getAllItems2(curItem, layer);
|
|
2723
2652
|
var allLines = getAllLines(layer);
|
|
2724
2653
|
var allLineRects = buildRectFromLines(layer, allLines);
|
|
2725
2654
|
var allRect = allLineRects.concat(allItemRect.others);
|
|
@@ -2745,6 +2674,17 @@ function calcDistancesFromItemToWalls(attributesFormData, layer, catalog) {
|
|
|
2745
2674
|
});
|
|
2746
2675
|
PointArray.push([a, centerpoint[1]]);
|
|
2747
2676
|
});
|
|
2677
|
+
PointArray.forEach(function (pointElement, index) {
|
|
2678
|
+
if (pointElement[0] == undefined) PointArray[index][0] = 0;
|
|
2679
|
+
});
|
|
2680
|
+
var cnt = 0;
|
|
2681
|
+
PointArray.forEach(function (pointElement) {
|
|
2682
|
+
if (pointElement[0] == 0) cnt++;
|
|
2683
|
+
});
|
|
2684
|
+
if (cnt == 4 || cnt == 3) {
|
|
2685
|
+
PointArray[0][0] = 100;
|
|
2686
|
+
PointArray[1][0] = 100;
|
|
2687
|
+
}
|
|
2748
2688
|
return {
|
|
2749
2689
|
PointArray: PointArray
|
|
2750
2690
|
};
|
|
@@ -730,7 +730,7 @@ function updateAttributeOfSelectedElement(element, attrPayload, state, layer, ca
|
|
|
730
730
|
} else {
|
|
731
731
|
attributesFormData = attributesFormData.set(attributeName, value);
|
|
732
732
|
// update the distances from wall
|
|
733
|
-
var _GeometryUtils$calcDi = _export.GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer
|
|
733
|
+
var _GeometryUtils$calcDi = _export.GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer),
|
|
734
734
|
PointArray = _GeometryUtils$calcDi.PointArray;
|
|
735
735
|
attributesFormData = attributesFormData.set('distArray', PointArray);
|
|
736
736
|
}
|
|
@@ -1088,7 +1088,11 @@ function _handleExternalEvent() {
|
|
|
1088
1088
|
return _regenerator["default"].wrap(function (_context8) {
|
|
1089
1089
|
while (1) switch (_context8.prev = _context8.next) {
|
|
1090
1090
|
case 0:
|
|
1091
|
-
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]];
|
|
1091
|
+
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')
|
|
1092
|
+
if (it.properties.altitude.length !== (0, _convertUnitsLite.convert)(it.properties.altitude._length).from('in').to('cm')) {
|
|
1093
|
+
it.properties.altitude.length = (0, _convertUnitsLite.convert)(it.properties.altitude._length).from('in').to('cm');
|
|
1094
|
+
}
|
|
1095
|
+
/////////
|
|
1092
1096
|
if (!cdsItems.some(function (v) {
|
|
1093
1097
|
var _it$doorStyle;
|
|
1094
1098
|
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;
|
|
@@ -1234,7 +1238,7 @@ function _handleExternalEvent() {
|
|
|
1234
1238
|
return itCDS.itemID === item.itemID;
|
|
1235
1239
|
})) === null || _itemCDS$find === void 0 ? void 0 : _itemCDS$find.cabinet_door_style_id;
|
|
1236
1240
|
if (cdsId && !_cdsItems.some(function (v) {
|
|
1237
|
-
return
|
|
1241
|
+
return item.itemID === v.itemID && item.name === v.name && cdsId === v.cdsId;
|
|
1238
1242
|
})) _cdsItems.push({
|
|
1239
1243
|
itemID: item.itemID,
|
|
1240
1244
|
prototype: item.prototype,
|