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.
@@ -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
- PointArray[index][0] -= 4;
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 _currentObject, _this2$props$onIntern, _this2$props;
1190
+ var _this2$props$onIntern, _this2$props;
1191
1191
  var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
1192
- if (((_currentObject = currentObject) === null || _currentObject === void 0 ? void 0 : _currentObject.prototype) === 'lines') {
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(currentObject.vertices.get(0));
1195
- var v_b = layer.vertices.get(currentObject.vertices.get(1));
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
- // this.context.projectActions.unselectAll();
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
- // this.context.projectActions.unselectAll();
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
- cnt = 0;
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.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
- _this2.context.projectActions.unselectAll();
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 selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1612
- if (isUndefined(selectedItem)) return;
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 itemPos = selectedItem.position.clone();
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) === selectedItem.userData.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 + 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);
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 _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1630
- if (isUndefined(_selectedItem)) return;
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 _itemPos = _selectedItem.position.clone();
1633
- if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.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 + _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);
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({
@@ -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(layer, catalog) {
2466
+ function getAllItems2(curItem, layer) {
2475
2467
  var rectarray = [];
2476
- var currentItem;
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
- var otherItem = {
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(attributesFormData, layer, catalog) {
2592
- if (isEmpty(attributesFormData)) return [];
2593
- var x = attributesFormData.get('x');
2594
- var y = attributesFormData.get('y');
2595
- var rotRad = attributesFormData.get('rotation') / 180 * Math.PI;
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 (attributesFormData.get('properties').get('width') || attributesFormData.get('properties').get('depth')) {
2598
- width = convert(attributesFormData.get('properties').get('width').get('_length')).from(attributesFormData.get('properties').get('width').get('_unit')).to('cm');
2599
- height = convert(attributesFormData.get('properties').get('depth').get('_length')).from(attributesFormData.get('properties').get('depth').get('_unit')).to('cm');
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(attributesFormData.info.sizeinfo.width).from('in').to('cm');
2602
- height = convert(attributesFormData.info.sizeinfo.depth).from('in').to('cm');
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(layer, catalog);
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, catalog),
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, 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, _layerId, layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven3, _t5;
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 = state.getIn(['scene', 'layers', 'layer-1', 'selected', 'lines']).size;
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
- layerId = state.getIn(['scene', 'selectedLayer']);
1218
+ _layerId = state.getIn(['scene', 'selectedLayer']);
1212
1219
  _cdsItems = [];
1213
- allItems = state.getIn(['scene', 'layers', layerId, 'items']).toJS();
1214
- selectedItemId = state.getIn(['scene', 'layers', layerId]).selected.items.toJS()[0];
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 it.itemID === v.itemID && it.name === v.name && cdsId === v.cdsId;
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
- _layerId = state.getIn(['scene', 'selectedLayer']);
1355
- layer = state.getIn(['scene', 'layers', _layerId]);
1356
- _layer$getIn = layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
1357
- 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);
1358
- 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);
1359
- 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);
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
- _layer = state.scene.getIn(['layers', _layerID]).toJS();
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 = _layer === null || _layer === void 0 ? void 0 : _layer.items[orginalItemInfo.id];
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: state.scene.toJS()
1401
+ scene: sceneData
1392
1402
  }
1393
1403
  });
1394
1404
  return _context1.abrupt("continue", 35);