kitchen-simulator 3.1.14 → 4.0.0-alpha.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.
Files changed (105) hide show
  1. package/es/LiteKitchenConfigurator.js +204 -24
  2. package/es/LiteRenderer.js +277 -12
  3. package/es/actions/items-actions.js +6 -10
  4. package/es/actions/lines-actions.js +1 -3
  5. package/es/actions/project-actions.js +5 -15
  6. package/es/assets/Window.hdr +2100 -0
  7. package/es/assets/gltf/door_sliding.bin +0 -0
  8. package/es/assets/img/1.jpg +0 -0
  9. package/es/catalog/areas/area/planner-element.js +5 -10
  10. package/es/catalog/catalog.js +4 -1
  11. package/es/catalog/factories/area-factory-3d.js +17 -18
  12. package/es/catalog/factories/wall-factory-3d.js +2 -2
  13. package/es/catalog/factories/wall-factory.js +8 -8
  14. package/es/catalog/lines/wall/planner-element.js +9 -18
  15. package/es/catalog/utils/exporter.js +3 -6
  16. package/es/catalog/utils/item-loader.js +197 -202
  17. package/es/catalog/utils/mtl-loader.js +2 -2
  18. package/es/catalog/utils/obj-loader.js +2 -2
  19. package/es/class/item.js +127 -107
  20. package/es/class/line.js +2 -14
  21. package/es/class/project.js +44 -150
  22. package/es/components/content.js +6 -19
  23. package/es/components/viewer2d/grids/grid-streak.js +1 -1
  24. package/es/components/viewer2d/item.js +51 -84
  25. package/es/components/viewer2d/line.js +243 -315
  26. package/es/components/viewer2d/ruler.js +36 -16
  27. package/es/components/viewer2d/rulerDist.js +75 -44
  28. package/es/components/viewer2d/utils.js +0 -6
  29. package/es/components/viewer2d/viewer2d.js +205 -301
  30. package/es/components/viewer3d/front3D.js +2 -3
  31. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  32. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  33. package/es/components/viewer3d/libs/orbit-controls.js +4 -3
  34. package/es/components/viewer3d/libs/pointer-lock-controls.js +7 -6
  35. package/es/components/viewer3d/viewer3d.js +80 -127
  36. package/es/constants.js +3 -110
  37. package/es/devLiteRenderer.js +38 -597
  38. package/es/index.js +86 -16
  39. package/es/models.js +5 -8
  40. package/es/plugins/SVGLoader.js +5 -7
  41. package/es/plugins/keyboard.js +6 -15
  42. package/es/reducers/items-reducer.js +5 -5
  43. package/es/reducers/lines-reducer.js +1 -1
  44. package/es/reducers/project-reducer.js +3 -5
  45. package/es/shared-style.js +4 -4
  46. package/es/utils/geometry.js +0 -161
  47. package/es/utils/get-edges-of-subgraphs.js +1 -1
  48. package/es/utils/graph-cycles.js +1 -1
  49. package/es/utils/graph.js +1 -1
  50. package/es/utils/helper.js +2 -67
  51. package/es/utils/isolate-event-handler.js +124 -1367
  52. package/es/utils/molding.js +2 -238
  53. package/lib/LiteKitchenConfigurator.js +205 -25
  54. package/lib/LiteRenderer.js +278 -13
  55. package/lib/actions/items-actions.js +6 -10
  56. package/lib/actions/lines-actions.js +1 -3
  57. package/lib/actions/project-actions.js +4 -15
  58. package/lib/assets/Window.hdr +2100 -0
  59. package/lib/assets/gltf/door_sliding.bin +0 -0
  60. package/lib/assets/img/1.jpg +0 -0
  61. package/lib/catalog/areas/area/planner-element.js +5 -11
  62. package/lib/catalog/catalog.js +4 -1
  63. package/lib/catalog/factories/area-factory-3d.js +14 -15
  64. package/lib/catalog/factories/wall-factory-3d.js +2 -2
  65. package/lib/catalog/factories/wall-factory.js +8 -8
  66. package/lib/catalog/lines/wall/planner-element.js +9 -19
  67. package/lib/catalog/utils/exporter.js +3 -6
  68. package/lib/catalog/utils/item-loader.js +194 -199
  69. package/lib/catalog/utils/mtl-loader.js +2 -9
  70. package/lib/catalog/utils/obj-loader.js +2 -10
  71. package/lib/class/item.js +125 -105
  72. package/lib/class/line.js +1 -13
  73. package/lib/class/project.js +43 -149
  74. package/lib/components/content.js +6 -19
  75. package/lib/components/viewer2d/grids/grid-streak.js +1 -1
  76. package/lib/components/viewer2d/item.js +50 -83
  77. package/lib/components/viewer2d/line.js +242 -315
  78. package/lib/components/viewer2d/ruler.js +35 -15
  79. package/lib/components/viewer2d/rulerDist.js +75 -44
  80. package/lib/components/viewer2d/utils.js +0 -7
  81. package/lib/components/viewer2d/viewer2d.js +205 -299
  82. package/lib/components/viewer3d/front3D.js +2 -3
  83. package/lib/components/viewer3d/libs/mtl-loader.js +2 -9
  84. package/lib/components/viewer3d/libs/obj-loader.js +2 -9
  85. package/lib/components/viewer3d/libs/orbit-controls.js +5 -11
  86. package/lib/components/viewer3d/libs/pointer-lock-controls.js +7 -13
  87. package/lib/components/viewer3d/viewer3d.js +79 -125
  88. package/lib/constants.js +7 -115
  89. package/lib/devLiteRenderer.js +33 -592
  90. package/lib/index.js +86 -16
  91. package/lib/models.js +5 -8
  92. package/lib/plugins/SVGLoader.js +5 -7
  93. package/lib/plugins/keyboard.js +6 -15
  94. package/lib/reducers/items-reducer.js +5 -5
  95. package/lib/reducers/lines-reducer.js +1 -1
  96. package/lib/reducers/project-reducer.js +2 -4
  97. package/lib/shared-style.js +4 -4
  98. package/lib/utils/geometry.js +0 -162
  99. package/lib/utils/get-edges-of-subgraphs.js +1 -6
  100. package/lib/utils/graph-cycles.js +8 -7
  101. package/lib/utils/graph.js +1 -6
  102. package/lib/utils/helper.js +3 -70
  103. package/lib/utils/isolate-event-handler.js +121 -1364
  104. package/lib/utils/molding.js +0 -238
  105. package/package.json +1 -1
@@ -10,7 +10,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _viewer3d = _interopRequireDefault(require("./viewer3d"));
12
12
  var _state3D = _interopRequireDefault(require("./ruler-utils/state3D"));
13
- var _utils = require("../viewer2d/utils");
14
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
14
  var k = 0;
16
15
  function Front3D(_ref, _ref2) {
@@ -36,9 +35,9 @@ function Front3D(_ref, _ref2) {
36
35
  setToolbar('');
37
36
  };
38
37
  (0, _react.useEffect)(function () {
39
- if (!(0, _utils.isEmpty)(document.getElementById('front'))) document.getElementById('front').addEventListener('mouseup', mouseUpEvent);
38
+ document.getElementById('front').addEventListener('mouseup', mouseUpEvent);
40
39
  return function () {
41
- if (!(0, _utils.isEmpty)(document.getElementById('front'))) document.getElementById('front').removeEventListener('mouseup', mouseUpEvent);
40
+ document.getElementById('front').removeEventListener('mouseup', mouseUpEvent);
42
41
  };
43
42
  }, []);
44
43
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("svg", {
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
3
  /**
11
4
  * Loads a Wavefront .mtl file specifying materials
12
5
  *
13
6
  * @author angelxuanchang
14
7
  */
15
8
 
9
+ var THREE = window.THREE || require('three');
16
10
  var MTLLoader;
17
11
  MTLLoader = function MTLLoader(manager) {
18
12
  this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
@@ -362,5 +356,4 @@ MTLLoader.MaterialCreator.prototype = {
362
356
  return texture;
363
357
  }
364
358
  };
365
- var _default = exports["default"] = MTLLoader;
366
- module.exports = exports.default;
359
+ module.exports = MTLLoader;
@@ -1,16 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
3
  /**
11
4
  * @author mrdoob / http://mrdoob.com/
12
5
  */
13
6
 
7
+ var THREE = window.THREE || require('three');
14
8
  var OBJLoader;
15
9
  OBJLoader = function OBJLoader(manager) {
16
10
  this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
@@ -467,5 +461,4 @@ OBJLoader.prototype = {
467
461
  return container;
468
462
  }
469
463
  };
470
- var _default = exports["default"] = OBJLoader;
471
- module.exports = exports.default;
464
+ module.exports = OBJLoader;
@@ -1,12 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = OrbitControls;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
3
  /**
11
4
  * @author qiao / https://github.com/qiao
12
5
  * @author mrdoob / http://mrdoob.com
@@ -22,7 +15,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
22
15
  // Zoom - middle mouse, or mousewheel / touch: two finger spread or squish
23
16
  // Pan - right mouse, or arrow keys / touch: three finter swipe
24
17
 
25
- function OrbitControls(object, domElement) {
18
+ var THREE = window.THREE || require('three');
19
+ var OrbitControls;
20
+ module.exports = OrbitControls = function OrbitControls(object, domElement) {
26
21
  this.object = object;
27
22
  this.domElement = domElement !== undefined ? domElement : document;
28
23
 
@@ -630,7 +625,7 @@ function OrbitControls(object, domElement) {
630
625
  // force an update at start
631
626
 
632
627
  this.update();
633
- }
628
+ };
634
629
  OrbitControls.prototype = Object.create(THREE.EventDispatcher.prototype);
635
630
  OrbitControls.prototype.constructor = OrbitControls;
636
631
  Object.defineProperties(OrbitControls.prototype, {
@@ -702,5 +697,4 @@ Object.defineProperties(OrbitControls.prototype, {
702
697
  this.dampingFactor = value;
703
698
  }
704
699
  }
705
- });
706
- module.exports = exports.default;
700
+ });
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = PointerLockControls;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
10
3
  /**
11
4
  * @author mrdoob / http://mrdoob.com/
12
- * Converted to ESM
13
5
  */
14
6
 
15
- function PointerLockControls(camera) {
7
+ var THREE = window.THREE || require('three');
8
+ var PointerLockControls;
9
+ module.exports = PointerLockControls = function PointerLockControls(camera) {
16
10
  var scope = this;
17
11
  camera.rotation.set(0, 0, 0);
18
12
  var pitchObject = new THREE.Object3D();
@@ -23,14 +17,14 @@ function PointerLockControls(camera) {
23
17
  yawObject.position.y = 10;
24
18
  yawObject.add(pitchObject);
25
19
  var PI_2 = Math.PI / 2;
26
- function onMouseMove(event) {
20
+ var onMouseMove = function onMouseMove(event) {
27
21
  if (scope.enabled === false) return;
28
22
  var movementX = event.movementX || event.mozMovementX || event.webkitMovementX || 0;
29
23
  var movementY = event.movementY || event.mozMovementY || event.webkitMovementY || 0;
30
24
  yawObject.rotation.y -= movementX * 0.002;
31
25
  pitchObject.rotation.x -= movementY * 0.002;
32
26
  pitchObject.rotation.x = Math.max(-PI_2, Math.min(PI_2, pitchObject.rotation.x));
33
- }
27
+ };
34
28
  this.dispose = function () {
35
29
  document.removeEventListener('mousemove', onMouseMove, false);
36
30
  };
@@ -41,6 +35,7 @@ function PointerLockControls(camera) {
41
35
  };
42
36
  this.getDirection = function () {
43
37
  // assumes the camera itself is not rotated
38
+
44
39
  var direction = new THREE.Vector3(0, 0, -1);
45
40
  var rotation = new THREE.Euler(0, 0, 0, 'YXZ');
46
41
  return function (v) {
@@ -49,5 +44,4 @@ function PointerLockControls(camera) {
49
44
  return v;
50
45
  };
51
46
  }();
52
- }
53
- module.exports = exports.default;
47
+ };
@@ -29,8 +29,8 @@ var _export = require("../../utils/export");
29
29
  var _helper = require("../../utils/helper");
30
30
  var _RGBELoader = require("three/examples/jsm/loaders/RGBELoader");
31
31
  var _cameraControls = _interopRequireDefault(require("camera-controls"));
32
- var _objectsUtils = require("../../utils/objects-utils");
33
32
  var _utils = require("../viewer2d/utils");
33
+ var _objectsUtils = require("../../utils/objects-utils");
34
34
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
35
35
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
36
36
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1190,34 +1190,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1190
1190
  itemID: selItemId
1191
1191
  };
1192
1192
  };
1193
- var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
1194
- var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
1195
- if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
1196
- var _this2$props$onIntern, _this2$props;
1197
- var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
1198
- if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'lines') {
1199
- // caculating length of selected line//
1200
- var v_a = layer.vertices.get(evtElement.vertices.get(0));
1201
- var v_b = layer.vertices.get(evtElement.vertices.get(1));
1202
- var distance = _export.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1203
- var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to(layer.unit);
1204
- payload.length = _length;
1205
- //////////////////////////////////////
1206
- } else if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'items') {
1207
- // check this cabinet has warning box
1208
- payload.isWarning = (0, _utils.isWarningItem)(evtElement);
1209
- // check this item is available molding
1210
- payload.isMoldingAvailable = _export.MoldingUtils.isEnableItemForMolding(layer, evtElement); // check this item is snapped to wall
1211
- payload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, evtElement);
1212
- // update distArray
1213
- if (pointArray) payload.distArray = pointArray;
1214
- }
1215
- (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1216
- type: evtType,
1217
- value: payload
1218
- });
1219
- }
1220
- };
1221
1193
  this.mouseDownEvent = function (event) {
1222
1194
  gridPlanOrigin = gridPlane.position;
1223
1195
  gridMatrix.copy(gridPlane.matrixWorld).invert();
@@ -1309,18 +1281,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1309
1281
  }
1310
1282
  }
1311
1283
  if (selectedObject !== undefined) {
1312
- // get selected object from planData.sceneGraph
1313
- var selectedItem = null;
1314
- switch (true) {
1315
- case 'itemID' in selectedObject:
1316
- selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1317
- break;
1318
- case 'holeID' in selectedObject:
1319
- selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
1320
- break;
1321
- default:
1322
- break;
1323
- }
1284
+ var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1324
1285
  sPoint.set(Point.x, Point.y);
1325
1286
  if (transflag == 0) {
1326
1287
  scene3D.remove(toolObj);
@@ -1369,6 +1330,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1369
1330
  if (selectedFlag || toolIntersects.length > 0 && !(0, _helper.isElevationView)(mode)) {
1370
1331
  cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
1371
1332
  selectedFlag = false;
1333
+ } else {
1334
+ isSelected = false;
1335
+ _this2.context.projectActions.unselectAll();
1336
+ scene3D.remove(toolObj);
1337
+ _this2.context.itemsActions.removeReplacingSupport();
1372
1338
  }
1373
1339
  }
1374
1340
  } else {
@@ -1381,8 +1347,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1381
1347
  }
1382
1348
  };
1383
1349
  this.mouseUpEvent = function (event) {
1384
- var internalType = ''; // internalEvent type - select/drag/draw
1385
- var selectedElement; // internalEvent data
1350
+ var _selObj$object, _selObj$object2;
1386
1351
  firstMove = 0;
1387
1352
  var altitude = 0;
1388
1353
  if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
@@ -1419,21 +1384,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1419
1384
  isInitialPhase = true;
1420
1385
  return;
1421
1386
  }
1422
- switch (_this2.props.state.mode) {
1423
- case _constants.MODE_DRAGGING_ITEM_3D:
1424
- case _constants.MODE_DRAGGING_HOLE_3D:
1425
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
1426
- break;
1427
- case _constants.MODE_ROTATING_ITEM_3D:
1428
- internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
1429
- break;
1430
- case _constants.MODE_DRAWING_HOLE_3D:
1431
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
1432
- break;
1433
- case _constants.MODE_IDLE_3D:
1434
- internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
1435
- break;
1436
- }
1437
1387
  if (_this2.props.state.mode == _constants.MODE_DRAGGING_ITEM_3D) {
1438
1388
  _this2.context.itemsActions.endDraggingItem3D();
1439
1389
  }
@@ -1466,8 +1416,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1466
1416
  });
1467
1417
  });
1468
1418
  var intersects = raycaster.intersectObjects(meshes, true);
1469
- var _i10; // index of warning object in intersects
1470
-
1419
+ var _i10;
1471
1420
  if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
1472
1421
  for (_i10 = 0; _i10 < intersects.length; _i10++) {
1473
1422
  if (intersects[_i10].object.name === 'warningObj') break;
@@ -1495,19 +1444,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1495
1444
  }
1496
1445
  }
1497
1446
  gridMatrix.copy(gridPlane.matrixWorld).invert();
1498
- var addItemToolObj = function addItemToolObj() {
1499
- var _intersects$_i;
1500
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1501
- if ((0, _util.isUndefined)(selectedItem)) return;
1502
- selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1503
- var itemPos = selectedItem.position.clone();
1504
- 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) {
1505
- toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1506
- } else {
1507
- 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);
1508
- }
1509
- scene3D.add(toolObj);
1510
- };
1511
1447
  if (Math.abs(mouse.x - _this2.lastMousePosition.x) <= 0.02 && Math.abs(mouse.y - _this2.lastMousePosition.y) <= 0.02 || bMove) {
1512
1448
  if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
1513
1449
  if (intersects[_i10] === undefined) {
@@ -1531,63 +1467,67 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1531
1467
  isSelected = true;
1532
1468
  setTimeout(function () {
1533
1469
  (0, _sceneCreator.getDistances)(layer);
1534
- addItemToolObj();
1470
+ var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1471
+ if ((0, _util.isUndefined)(selectedItem)) return;
1472
+ var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1473
+ var itemPos = selectedItem.position.clone();
1474
+ if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
1475
+ toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1476
+ } else {
1477
+ toolObj.position.set(planData.plan.position.x + itemPos.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
1478
+ }
1479
+ scene3D.add(toolObj);
1535
1480
  _this2.setState({
1536
1481
  toolObj: toolObj
1537
1482
  });
1538
1483
  // showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
1539
- var pointArray = [];
1540
- // pointArray.push([fVLine[0].userData.distance, 90]);
1541
- // pointArray.push([fVLine[1].userData.distance, -90]);
1542
- // pointArray.push([fVLine[2].userData.distance, 180]);
1543
- // pointArray.push([fVLine[3].userData.distance, 0]);
1544
- pointArray = _export.GeometryUtils.calcDistancesFromItemToWalls(selectedElement, layer).PointArray;
1484
+ var pointArray = [],
1485
+ cnt = 0;
1486
+ pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
1487
+ pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
1488
+ pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
1489
+ pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
1490
+ pointArray.forEach(function (pointElement, index) {
1491
+ if (pointElement[0] == undefined) pointArray[index][0] = 0;
1492
+ });
1493
+ pointArray.forEach(function (pointElement) {
1494
+ if (pointElement[0] == 0) cnt++;
1495
+ });
1496
+ if (cnt == 4 || cnt == 3) {
1497
+ pointArray[0][0] = 100;
1498
+ pointArray[1][0] = 100;
1499
+ }
1545
1500
  actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
1546
- internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
1547
- sendInternalEvent(internalType, selectedElement, pointArray);
1548
1501
  });
1549
1502
  } else {
1550
1503
  if (selectedObject) {
1551
- var elementID = null;
1552
- var elementPrototype = null;
1553
1504
  switch (true) {
1554
1505
  case 'holeID' in selectedObject:
1555
- elementID = selectedObject.holeID;
1556
- elementPrototype = 'holes';
1557
- if (_this2.props.state.mode === _constants.MODE_DRAGGING_HOLE_3D) {
1506
+ if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
1558
1507
  actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1559
1508
  }
1560
1509
  break;
1561
1510
  case 'lineID' in selectedObject:
1562
- elementID = selectedObject.lineID;
1563
- elementPrototype = 'lines';
1564
- break;
1565
- case 'areaID' in selectedObject:
1566
- elementID = selectedObject.areaID;
1567
- elementPrototype = 'areas';
1511
+ if (selObj !== null && selObj !== void 0 && (_selObj$object2 = selObj.object) !== null && _selObj$object2 !== void 0 && _selObj$object2.name.includes('transHole')) {
1512
+ actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1513
+ }
1568
1514
  break;
1569
1515
  default:
1570
1516
  break;
1571
1517
  }
1572
- selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
1573
1518
  }
1574
1519
  isSelected = false;
1575
1520
  }
1576
1521
  } else {
1577
- var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1578
- if (bMove && !(0, _helper.isEmpty)(selectedItem)) {
1579
- addItemToolObj();
1580
- } else {
1581
- isSelected = false;
1582
- _this2.context.projectActions.unselectAll();
1583
- switch (true) {
1584
- case 'holeID' in selectedObject:
1585
- actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1586
- break;
1587
- default:
1588
- _this2.context.itemsActions.removeReplacingSupport();
1589
- break;
1590
- }
1522
+ isSelected = false;
1523
+ _this2.context.projectActions.unselectAll();
1524
+ switch (true) {
1525
+ case 'holeID' in selectedObject:
1526
+ actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
1527
+ break;
1528
+ default:
1529
+ _this2.context.itemsActions.removeReplacingSupport();
1530
+ break;
1591
1531
  }
1592
1532
  }
1593
1533
  bMove = false;
@@ -1608,15 +1548,35 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1608
1548
  }
1609
1549
  getPoint(event, alti);
1610
1550
  if (bRotate) {
1611
- addItemToolObj();
1551
+ var _intersects$_i;
1552
+ var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1553
+ if ((0, _util.isUndefined)(selectedItem)) return;
1554
+ var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1555
+ var itemPos = selectedItem.position.clone();
1556
+ 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) {
1557
+ toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1558
+ } else {
1559
+ toolObj.position.set(planData.plan.position.x + itemPos.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
1560
+ }
1561
+ scene3D.add(toolObj);
1612
1562
  _this2.setState({
1613
1563
  toolObj: toolObj
1614
1564
  });
1615
1565
  _this2.context.itemsActions.endRotatingItem3D(Point.x, Point.y);
1616
1566
  bRotate = false;
1617
- } else if (bMove) {
1567
+ }
1568
+ if (bMove) {
1618
1569
  bMove = false;
1619
- addItemToolObj();
1570
+ var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1571
+ if ((0, _util.isUndefined)(_selectedItem)) return;
1572
+ var _selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1573
+ var _itemPos = _selectedItem.position.clone();
1574
+ if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
1575
+ toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
1576
+ } else {
1577
+ toolObj.position.set(planData.plan.position.x + _itemPos.x, _selItem.category === 'lighting' ? -planData.plan.position.y - _selItem.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
1578
+ }
1579
+ scene3D.add(toolObj);
1620
1580
  _this2.setState({
1621
1581
  toolObj: toolObj
1622
1582
  });
@@ -1636,7 +1596,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1636
1596
  _item3D.position.z = targetPoint.z;
1637
1597
  _item3D.visible = true;
1638
1598
  }
1639
- } else {}
1599
+ }
1640
1600
  if (bMoveUP) {
1641
1601
  bMoveUP = false;
1642
1602
  }
@@ -1648,7 +1608,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1648
1608
  selectedObj = allItemRect.cur;
1649
1609
  }
1650
1610
  }
1651
- sendInternalEvent(internalType, selectedElement);
1652
1611
  };
1653
1612
  this.mouseEnterEvent = function (event) {
1654
1613
  if (_this2.props.state.mode !== _constants.MODE_DRAWING_ITEM_3D) return;
@@ -2083,7 +2042,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2083
2042
  if (minDis < snapDelta && !snapFlag) {
2084
2043
  _this2.snap(snapObj, layer);
2085
2044
  snapFlag = true;
2086
- (0, _sceneCreator.getDistances)(layer);
2045
+ (0, _sceneCreator.getDistances)(layer, true);
2087
2046
  var _i13 = 0;
2088
2047
  for (_i13 = 0; _i13 < _sceneCreator.fVLine.length; _i13++) {
2089
2048
  if (_sceneCreator.fVLine[_i13].userData.distance < snapDelta) {
@@ -2207,7 +2166,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2207
2166
  scene3D = new Three.Scene();
2208
2167
  if ((0, _helper.isElevationView)(state.mode)) scene3D.background = new Three.Color(0xffffff);
2209
2168
  // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2210
- else scene3D.background = new Three.Color(0xe4ebfe); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2169
+ else scene3D.background = new Three.Color(0xc3cadc); // change color about v1: 0x8791AB, v2: 0xC2C2C2, v3: 0xC3CADC
2211
2170
  // scene3D.fog = new Three.Fog(0xC3CADC, 2000, 3500);
2212
2171
  window.scene3D = scene3D;
2213
2172
  // Camera
@@ -2602,7 +2561,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2602
2561
  height: '70px',
2603
2562
  animation: 'spin 2s linear infinite'
2604
2563
  },
2605
- src: '/assets/img/loading/loading.gif',
2564
+ src: '/assets/img/loading_large.gif',
2606
2565
  alt: "img"
2607
2566
  }));
2608
2567
  } else {
@@ -2616,12 +2575,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2616
2575
  }, /*#__PURE__*/_react["default"].createElement("img", {
2617
2576
  style: {
2618
2577
  animation: 'spin 2s linear infinite',
2619
- position: "absolute",
2620
- top: "50%",
2621
- width: '70px',
2622
- height: '70px'
2578
+ marginTop: "22%"
2623
2579
  },
2624
- src: '/assets/img/loading/loading.gif',
2580
+ src: '/assets/img/loading_large.gif',
2625
2581
  alt: "img"
2626
2582
  }));
2627
2583
  }
@@ -2638,11 +2594,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2638
2594
  style: {
2639
2595
  animation: 'spin 2s linear infinite',
2640
2596
  position: "absolute",
2641
- top: "50%",
2642
- width: '70px',
2643
- height: '70px'
2597
+ top: "50%"
2644
2598
  },
2645
- src: '/assets/img/loading/loading.gif',
2599
+ src: '/assets/img/loading_large.gif',
2646
2600
  alt: "img"
2647
2601
  }));
2648
2602
  } else {