kitchen-simulator 3.0.1 → 3.1.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 (43) hide show
  1. package/es/LiteKitchenConfigurator.js +42 -9
  2. package/es/LiteRenderer.js +5 -8
  3. package/es/actions/lines-actions.js +3 -1
  4. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  5. package/es/catalog/factories/area-factory-3d.js +17 -17
  6. package/es/catalog/holes/window-clear/planner-element.js +2 -2
  7. package/es/catalog/utils/item-loader.js +198 -197
  8. package/es/class/item.js +11 -0
  9. package/es/class/line.js +14 -2
  10. package/es/components/viewer2d/item.js +41 -14
  11. package/es/components/viewer2d/rulerDist.js +1 -1
  12. package/es/components/viewer2d/utils.js +2 -2
  13. package/es/components/viewer2d/viewer2d.js +13 -11
  14. package/es/components/viewer3d/viewer3d.js +98 -96
  15. package/es/constants.js +6 -2
  16. package/es/devLiteRenderer.js +192 -98
  17. package/es/index.js +82 -13
  18. package/es/reducers/lines-reducer.js +1 -1
  19. package/es/utils/geometry.js +161 -0
  20. package/es/utils/isolate-event-handler.js +273 -116
  21. package/es/utils/molding.js +234 -2
  22. package/lib/LiteKitchenConfigurator.js +42 -9
  23. package/lib/LiteRenderer.js +5 -8
  24. package/lib/actions/lines-actions.js +3 -1
  25. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  26. package/lib/catalog/factories/area-factory-3d.js +14 -14
  27. package/lib/catalog/holes/window-clear/planner-element.js +2 -2
  28. package/lib/catalog/utils/item-loader.js +195 -194
  29. package/lib/class/item.js +11 -0
  30. package/lib/class/line.js +13 -1
  31. package/lib/components/viewer2d/item.js +40 -13
  32. package/lib/components/viewer2d/rulerDist.js +1 -1
  33. package/lib/components/viewer2d/utils.js +2 -2
  34. package/lib/components/viewer2d/viewer2d.js +13 -11
  35. package/lib/components/viewer3d/viewer3d.js +98 -96
  36. package/lib/constants.js +11 -7
  37. package/lib/devLiteRenderer.js +186 -92
  38. package/lib/index.js +82 -13
  39. package/lib/reducers/lines-reducer.js +1 -1
  40. package/lib/utils/geometry.js +162 -0
  41. package/lib/utils/isolate-event-handler.js +272 -115
  42. package/lib/utils/molding.js +233 -0
  43. package/package.json +1 -1
@@ -28,18 +28,18 @@ var _utils = require("../../components/viewer2d/utils");
28
28
  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" != _typeof3(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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
29
29
  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; }
30
30
  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; }
31
- var INITIAL_NORMAL_MAP = '';
31
+ var INITIAL_NORMAL_MAP = "";
32
32
 
33
33
  // env Map ///////////////
34
34
  var paramsCounter = {
35
- envMap: 'HDR',
35
+ envMap: "HDR",
36
36
  roughness: 0.6,
37
37
  metalness: 0.3,
38
38
  exposure: 1
39
39
  // debug: true
40
40
  };
41
41
  var params = {
42
- envMap: 'HDR',
42
+ envMap: "HDR",
43
43
  roughness: 0.9,
44
44
  metalness: 0.1,
45
45
  metalness_glossy: 0.2,
@@ -47,18 +47,18 @@ var params = {
47
47
  // debug: false
48
48
  };
49
49
  var paramsModel = {
50
- envMap: 'HDR',
50
+ envMap: "HDR",
51
51
  roughness: 0.9,
52
52
  metalness: 0.2,
53
53
  exposure: 1.0
54
54
  // debug: false
55
55
  };
56
56
  var buttons = [{
57
- name: 'Edit',
58
- thumbnail: '/assets/img/svg/3d_item_warning_edit.svg'
57
+ name: "Edit",
58
+ thumbnail: "/assets/img/svg/3d_item_warning_edit.svg"
59
59
  }, {
60
- name: 'Info',
61
- thumbnail: '/assets/img/svg/3d_item_warning_info.svg'
60
+ name: "Info",
61
+ thumbnail: "/assets/img/svg/3d_item_warning_info.svg"
62
62
  }];
63
63
 
64
64
  // /////////////////////////
@@ -74,7 +74,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
74
74
  var x = element.x,
75
75
  y = element.y,
76
76
  rotation = element.rotation;
77
- var el_DSN = 'el_DSN',
77
+ var el_DSN = "el_DSN",
78
78
  doorStylesKeys = [];
79
79
  var _element = element.toJS();
80
80
  if (_element.doorStyle !== undefined) {
@@ -82,10 +82,10 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
82
82
  doorStylesKeys = Object.keys(_element.doorStyle.doorStyles);
83
83
  }
84
84
  }
85
- if ((doorStylesKeys.includes('euro_length') || doorStylesKeys.includes('euro_width') || doorStylesKeys.includes('euro_shape_svg')) && _element.doorStyle.doorStyles.is_euro_cds) {
85
+ if ((doorStylesKeys.includes("euro_length") || doorStylesKeys.includes("euro_width") || doorStylesKeys.includes("euro_shape_svg")) && _element.doorStyle.doorStyles.is_euro_cds) {
86
86
  el_DSN = _element.doorStyle.door_style_name;
87
87
  } else {
88
- el_DSN = 'el_DSN';
88
+ el_DSN = "el_DSN";
89
89
  }
90
90
  var width, depth, el_euro_length, el_euro_width, el_euro_length_unit, el_euro_width_unit, el_is_euro_cds, el_euro_shape_svg;
91
91
  if (doorStylesKeys.length > 0) {
@@ -95,41 +95,41 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
95
95
  el_euro_shape_svg = _element.doorStyle.doorStyles.euro_shape_svg;
96
96
  }
97
97
  if (el_euro_length === undefined && el_euro_width === undefined) {
98
- el_DSN = 'el_DSN';
98
+ el_DSN = "el_DSN";
99
99
  }
100
- if (el_DSN === 'Euro & Frameless') {
100
+ if (el_DSN === "Euro & Frameless") {
101
101
  // sizeinfo["depth"] = el_euro_length;
102
102
  // sizeinfo["width"] = el_euro_width;
103
103
  }
104
- var tempWidth = element.properties.get('width');
105
- var tempDepth = element.properties.get('depth');
104
+ var tempWidth = element.properties.get("width");
105
+ var tempDepth = element.properties.get("depth");
106
106
  width = tempWidth && {
107
- length: tempWidth.get('_length'),
108
- unit: tempWidth.get('_unit')
107
+ length: tempWidth.get("_length"),
108
+ unit: tempWidth.get("_unit")
109
109
  };
110
110
  depth = tempDepth && {
111
- length: tempDepth.get('_length'),
112
- unit: tempDepth.get('_unit')
111
+ length: tempDepth.get("_length"),
112
+ unit: tempDepth.get("_unit")
113
113
  };
114
- var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from('in').to('cm');
115
- var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from('in').to('cm');
116
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
117
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
114
+ var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from("in").to("cm");
115
+ var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from("in").to("cm");
116
+ var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to("cm");
117
+ var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to("cm");
118
118
  var padding = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_PADDING).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
119
119
  var angle = element.rotation + 90;
120
120
  var textRotation = 0;
121
121
  if (Math.sin(angle * Math.PI / 180) < 0) {
122
122
  textRotation = 180;
123
123
  }
124
- var color = '#eee';
124
+ var color = "#eee";
125
125
  if (layoutpos == _constants.BASE_CABINET_LAYOUTPOS) {
126
- color = '#3f8db3';
126
+ color = "#3f8db3";
127
127
  }
128
128
  if (layoutpos == _constants.TALL_CABINET_LAYOUTPOS) {
129
- color = '#93b3be';
129
+ color = "#93b3be";
130
130
  }
131
131
  if (layoutpos == _constants.WALL_CABINET_LAYOUTPOS) {
132
- color = '#48b08dcc';
132
+ color = "#48b08dcc";
133
133
  }
134
134
  var splitStr = [];
135
135
  var txtContent = [];
@@ -143,7 +143,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
143
143
  var dcId,
144
144
  doorStyle = element.doorStyle;
145
145
  if (doorStyle instanceof _immutable.Map) {
146
- dcId = doorStyle.get('id');
146
+ dcId = doorStyle.get("id");
147
147
  } else {
148
148
  dcId = doorStyle.id;
149
149
  }
@@ -162,7 +162,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
162
162
  splitStr.push(type.slice(lineCount * rowCount));
163
163
  splitStr.forEach(function (el, key) {
164
164
  txtContent.push(/*#__PURE__*/_react["default"].createElement("text", {
165
- key: 'text' + key,
165
+ key: "text" + key,
166
166
  x: "0",
167
167
  y: newDepth / 2 - 12,
168
168
  dy: 16 * key,
@@ -172,16 +172,16 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
172
172
  ,
173
173
  style: {
174
174
  fontWeight: 500,
175
- fontSize: '7px',
176
- textAnchor: 'middle',
177
- fill: '#FFF',
178
- display: 'block'
175
+ fontSize: "7px",
176
+ textAnchor: "middle",
177
+ fill: "#FFF",
178
+ display: "block"
179
179
  }
180
180
  }, el));
181
181
  });
182
182
  var style = {
183
- stroke: element.selected ? '#565658' : '#565658',
184
- strokeWidth: '2px',
183
+ stroke: element.selected ? "#565658" : "#565658",
184
+ strokeWidth: "2px",
185
185
  fill: color
186
186
  };
187
187
  // let arrow_style = { stroke: element.selected ? '#0096fd' : null, strokeWidth: "2px", fill: "#84e1ce" };
@@ -189,8 +189,8 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
189
189
  var rendered = null;
190
190
  var svg_url, svg_width, svg_depth;
191
191
  if (shape_svg || el_euro_shape_svg) {
192
- if (typeof shape_svg == 'string' || typeof el_euro_shape_svg == 'string') {
193
- if (el_DSN === 'Euro & Frameless' && el_is_euro_cds) {
192
+ if (typeof shape_svg == "string" || typeof el_euro_shape_svg == "string") {
193
+ if (el_DSN === "Euro & Frameless" && el_is_euro_cds) {
194
194
  svg_url = el_euro_shape_svg;
195
195
  svg_width = newWidth;
196
196
  svg_depth = newDepth;
@@ -217,20 +217,20 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
217
217
  var warning_buttons = /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", {
218
218
  id: "warning_info_2d",
219
219
  style: {
220
- cursor: 'pointer',
220
+ cursor: "pointer",
221
221
  transform: "translate(".concat(-transX, "px, ").concat(-transY, "px)")
222
222
  },
223
223
  onMouseEnter: function onMouseEnter(event) {
224
224
  var bbox = event.target.getBoundingClientRect();
225
- if (document.getElementById('warning_box_2d')) {
226
- document.getElementById('warning_box_2d').style.display = 'flex';
227
- document.getElementById('warning_box_2d').style.top = "".concat(bbox.top - 60, "px");
228
- document.getElementById('warning_box_2d').style.left = "".concat(bbox.left, "px");
225
+ if (document.getElementById("warning_box_2d")) {
226
+ document.getElementById("warning_box_2d").style.display = "flex";
227
+ document.getElementById("warning_box_2d").style.top = "".concat(bbox.top - 60, "px");
228
+ document.getElementById("warning_box_2d").style.left = "".concat(bbox.left, "px");
229
229
  }
230
230
  },
231
231
  onMouseLeave: function onMouseLeave() {
232
- if (document.getElementById('warning_box_2d')) {
233
- document.getElementById('warning_box_2d').style.display = 'none';
232
+ if (document.getElementById("warning_box_2d")) {
233
+ document.getElementById("warning_box_2d").style.display = "none";
234
234
  }
235
235
  }
236
236
  }, /*#__PURE__*/_react["default"].createElement("circle", {
@@ -249,7 +249,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
249
249
  href: buttons[1].thumbnail
250
250
  })), /*#__PURE__*/_react["default"].createElement("g", {
251
251
  style: {
252
- cursor: 'pointer',
252
+ cursor: "pointer",
253
253
  transform: "translate(".concat(transX, "px, ").concat(transY, "px)")
254
254
  },
255
255
  "data-element-root": true,
@@ -295,7 +295,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
295
295
  }, /*#__PURE__*/_react["default"].createElement("image", {
296
296
  preserveAspectRatio: "none",
297
297
  style: {
298
- pointerEvents: 'none'
298
+ pointerEvents: "none"
299
299
  },
300
300
  href: svg_url,
301
301
  width: "".concat(newWidth + 2 * padding_width),
@@ -308,16 +308,16 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
308
308
  y: "".concat(padding_depth),
309
309
  width: "".concat(newWidth),
310
310
  height: "".concat(newDepth),
311
- visibility: 'hidden',
311
+ visibility: "hidden",
312
312
  style: {
313
- pointerEvents: 'all',
313
+ pointerEvents: "all",
314
314
  opacity: 0.7,
315
- postion: 'relative'
315
+ postion: "relative"
316
316
  }
317
317
  }), /*#__PURE__*/_react["default"].createElement("g", {
318
318
  transform: "translate(".concat(padding_width, ",").concat(padding_depth, ")")
319
- }, txtContent)), element.category === 'cabinet' && /*#__PURE__*/_react["default"].createElement("g", {
320
- visibility: (0, _utils.isWarningItem)(element) ? 'visible' : 'hidden'
319
+ }, txtContent)), element.category === "cabinet" && /*#__PURE__*/_react["default"].createElement("g", {
320
+ visibility: (0, _utils.isWarningItem)(element) ? "visible" : "hidden"
321
321
  }, warning_buttons)));
322
322
  } else {
323
323
  rendered = /*#__PURE__*/_react["default"].createElement("g", {
@@ -404,38 +404,38 @@ var assignUVs = function assignUVs(geometry) {
404
404
  function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
405
405
  var mode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
406
406
  if (element.doorStyle.constructor !== _immutable.Map) {
407
- element = element.set('doorStyle', (0, _immutable.fromJS)(element.doorStyle));
407
+ element = element.set("doorStyle", (0, _immutable.fromJS)(element.doorStyle));
408
408
  }
409
- if (element.doorStyle.toJS().handle_gltf !== '') {
409
+ if (element.doorStyle.toJS().handle_gltf !== "") {
410
410
  // Check element has doorHandle
411
411
  for (var i = 1; i < 10; i++) {
412
- element = element.setIn(['doorStyle', 'doorStyles', 'door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
413
- element = element.setIn(['doorStyle', 'doorStyles', 'fixed_drawer_door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
414
- element = element.setIn(['doorStyle', 'doorStyles', 'drawer_door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
412
+ element = element.setIn(["doorStyle", "doorStyles", "door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
413
+ element = element.setIn(["doorStyle", "doorStyles", "fixed_drawer_door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
414
+ element = element.setIn(["doorStyle", "doorStyles", "drawer_door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
415
415
  }
416
416
  }
417
417
  var width = {
418
418
  length: sizeinfo.width,
419
- unit: 'in'
419
+ unit: "in"
420
420
  };
421
421
  var depth = {
422
422
  length: sizeinfo.depth,
423
- unit: 'in'
423
+ unit: "in"
424
424
  };
425
425
  var height = {
426
426
  length: sizeinfo.height,
427
- unit: 'in'
427
+ unit: "in"
428
428
  };
429
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('in');
430
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('in');
431
- var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('in');
432
- var mainName = ''; // to get name structure//
433
- if (element.properties.get('width')) newWidth = element.getIn(['properties', 'width', '_length']);
434
- if (element.properties.get('depth')) newDepth = element.getIn(['properties', 'depth', '_length']);
435
- if (element.properties.get('height')) newHeight = element.getIn(['properties', 'height', '_length']);
429
+ var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to("in");
430
+ var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to("in");
431
+ var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to("in");
432
+ var mainName = ""; // to get name structure//
433
+ if (element.properties.get("width")) newWidth = element.getIn(["properties", "width", "_length"]);
434
+ if (element.properties.get("depth")) newDepth = element.getIn(["properties", "depth", "_length"]);
435
+ if (element.properties.get("height")) newHeight = element.getIn(["properties", "height", "_length"]);
436
436
  var structure = structure_json;
437
437
  // structure.push({name:'model', url: '/assets/model/DCM.gltf'});
438
- structure.model = '/assets/model/DCM.gltf';
438
+ structure.model = "/assets/model/DCM.gltf";
439
439
  var placeholders = structure.placeholders;
440
440
  var doorStyles = null;
441
441
  var color = 0xffffff,
@@ -445,25 +445,26 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
445
445
  if (layer.toJS().counterTop.uri) {
446
446
  counterTop.uri = layer.toJS().counterTop.uri;
447
447
  }
448
- if ('name' in element.doorStyle) {
448
+ if ("name" in element.doorStyle) {
449
449
  doorStyles = new _immutable.Map(element.doorStyle.doorStyles);
450
450
  color = element.doorStyle.color;
451
451
  glossness = element.doorStyle.glossness;
452
452
  handleMaterial.metalness = element.doorStyle.metalness;
453
453
  handleMaterial.roughness = element.doorStyle.roughness;
454
454
  } else if (element.doorStyle != null && element.doorStyle) {
455
- doorStyles = element.doorStyle.get('doorStyles');
456
- color = element.doorStyle.get('color');
457
- glossness = element.doorStyle.get('glossness');
458
- handleMaterial.metalness = element.doorStyle.get('metalness');
459
- handleMaterial.roughness = element.doorStyle.get('roughness');
455
+ doorStyles = element.doorStyle.get("doorStyles");
456
+ color = element.doorStyle.get("color");
457
+ glossness = element.doorStyle.get("glossness");
458
+ handleMaterial.metalness = element.doorStyle.get("metalness");
459
+ handleMaterial.roughness = element.doorStyle.get("roughness");
460
460
  }
461
- if (color === undefined) color = '#ffffff';
461
+ if (color === undefined) color = "#ffffff";
462
462
  if (glossness === undefined) glossness = 1;
463
463
  var tempDoorStyles = doorStyles.toJS();
464
464
  var tempPlaceholders = structure.tempPlaceholders;
465
465
  var tPlaceholders = tempPlaceholders.find(function (el) {
466
466
  return el.id === tempDoorStyles.cabinet_door_style_id;
467
+ // return el.id === tempDoorStyles.cds[0].cabinet_door_style_id;
467
468
  });
468
469
  if (tPlaceholders !== undefined) {
469
470
  placeholders = tPlaceholders.placeholders;
@@ -482,13 +483,13 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
482
483
  areaMaterial.side = Three.DoubleSide;
483
484
  // areaMaterial.envMap = textureCube;
484
485
  if ((0, _helper.isEmpty)(doorStyles)) {
485
- var normalMap = doorStyles.get('base') || INITIAL_NORMAL_MAP;
486
+ var normalMap = doorStyles.get("base") || INITIAL_NORMAL_MAP;
486
487
  var interiortexture = loadTexture(normalMap);
487
488
  applyTexture(areaMaterial, interiortexture, 100, 100);
488
489
  }
489
490
  var object1 = object;
490
- var newAltitude = element.properties.get('altitude').get('_length');
491
- var newUnit = element.properties.get('altitude').get('_unit') || 'in';
491
+ var newAltitude = element.properties.get("altitude").get("_length");
492
+ var newUnit = element.properties.get("altitude").get("_unit") || "in";
492
493
  newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
493
494
  var _element = element.toJS();
494
495
  if (!_element.doorStyle.doorStyles.is_euro_cds) {
@@ -505,27 +506,27 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
505
506
  var door_match = child.name.match(matchStr);
506
507
  if (door_match && door_match.length > 2) {
507
508
  var _child$children$;
508
- var rotate_match_text = element.properties.toJS().flip_doorhandle ? 'rotate_L' : 'rotate_R';
509
- if (door_match[2] === '_L') {
510
- rotate_match_text = element.properties.toJS().flip_doorhandle ? 'rotate_R' : 'rotate_L';
509
+ var rotate_match_text = element.properties.toJS().flip_doorhandle ? "rotate_L" : "rotate_R";
510
+ if (door_match[2] === "_L") {
511
+ rotate_match_text = element.properties.toJS().flip_doorhandle ? "rotate_R" : "rotate_L";
511
512
  }
512
513
  var isDoubleDoor = door_match && door_match[2] !== undefined;
513
514
  (_child$children$ = child.children[0]) === null || _child$children$ === void 0 || _child$children$.children.forEach(function (it) {
514
515
  var _it$name, _it$children;
515
- if (it !== null && it !== void 0 && (_it$name = it.name) !== null && _it$name !== void 0 && _it$name.includes('handle') && (_it$children = it.children) !== null && _it$children !== void 0 && _it$children.length && is_corner === 1 && isDoubleDoor) {
516
+ if (it !== null && it !== void 0 && (_it$name = it.name) !== null && _it$name !== void 0 && _it$name.includes("handle") && (_it$children = it.children) !== null && _it$children !== void 0 && _it$children.length && is_corner === 1 && isDoubleDoor) {
516
517
  var _child$name, _child$name2, _object1$children, _t0$name, _t0$children;
517
- var tname = child !== null && child !== void 0 && (_child$name = child.name) !== null && _child$name !== void 0 && _child$name.endsWith('_L') ? child.name.replace('_L', '_R') : child === null || child === void 0 || (_child$name2 = child.name) === null || _child$name2 === void 0 ? void 0 : _child$name2.replace('_R', '_L');
518
+ var tname = child !== null && child !== void 0 && (_child$name = child.name) !== null && _child$name !== void 0 && _child$name.endsWith("_L") ? child.name.replace("_L", "_R") : child === null || child === void 0 || (_child$name2 = child.name) === null || _child$name2 === void 0 ? void 0 : _child$name2.replace("_R", "_L");
518
519
  var tmp = (object1 === null || object1 === void 0 || (_object1$children = object1.children) === null || _object1$children === void 0 ? void 0 : _object1$children.filter(function (item) {
519
520
  return (item === null || item === void 0 ? void 0 : item.name) === tname;
520
521
  })) || [];
521
522
  var t0 = tmp[0];
522
- var filterStr = t0 !== null && t0 !== void 0 && (_t0$name = t0.name) !== null && _t0$name !== void 0 && _t0$name.endsWith('_L') ? 'rotate_L' : 'rotate_R';
523
+ var filterStr = t0 !== null && t0 !== void 0 && (_t0$name = t0.name) !== null && _t0$name !== void 0 && _t0$name.endsWith("_L") ? "rotate_L" : "rotate_R";
523
524
  var tposArr = (t0 === null || t0 === void 0 || (_t0$children = t0.children) === null || _t0$children === void 0 || (_t0$children = _t0$children[0]) === null || _t0$children === void 0 || (_t0$children = _t0$children.children) === null || _t0$children === void 0 ? void 0 : _t0$children.filter(function (item) {
524
525
  var _item$name;
525
526
  return item === null || item === void 0 || (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.endsWith(filterStr);
526
527
  })) || [];
527
528
  var tpos0 = tposArr[0];
528
- if (it.name.includes('base_end')) {
529
+ if (it.name.includes("base_end")) {
529
530
  var _it$position$x, _it$position, _it$position$y, _it$position2, _tpos0$position$x, _tpos0$position;
530
531
  door_animate_offset[child.name] = {
531
532
  x: -2 * ((_it$position$x = (_it$position = it.position) === null || _it$position === void 0 ? void 0 : _it$position.x) !== null && _it$position$x !== void 0 ? _it$position$x : 0) - 0.12,
@@ -593,16 +594,16 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
593
594
  // vertical line - 4 lines around object//////////////////////////
594
595
  var vLineGeom = new Three.BufferGeometry();
595
596
  var vertices = [(max.x - min.x) / 2 + min.x, 0, max.z, (max.x - min.x) / 2 + min.x, 0, max.z + 1.3];
596
- vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
597
+ vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
597
598
  var vLineGeom1 = new Three.BufferGeometry();
598
599
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
599
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
600
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
600
601
  var vLineGeom2 = new Three.BufferGeometry();
601
602
  var vertices2 = [max.x, 0, max.z - (max.z - min.z) / 2, max.x + 1.3, 0, max.z - (max.z - min.z) / 2];
602
- vLineGeom2.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
603
+ vLineGeom2.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
603
604
  var vLineGeom3 = new Three.BufferGeometry();
604
605
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
605
- vLineGeom3.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
606
+ vLineGeom3.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
606
607
  // ///////////////////////////////////////
607
608
 
608
609
  // set names of transform object
@@ -615,12 +616,12 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
615
616
  color: new Three.Color(0xffffff).convertLinearToSRGB(),
616
617
  colorWrite: true
617
618
  }));
618
- rotFillObj.name = 'rotate';
619
+ rotFillObj.name = "rotate";
619
620
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
620
621
  color: new Three.Color(0xffffff).convertLinearToSRGB(),
621
622
  side: Three.DoubleSide
622
623
  }));
623
- upObj.name = 'transUp';
624
+ upObj.name = "transUp";
624
625
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
625
626
  color: new Three.Color(0xdd6699).convertLinearToSRGB(),
626
627
  side: Three.DoubleSide,
@@ -662,7 +663,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
662
663
  //rotObj.translateOnAxis(uVec, 1);
663
664
  upObj.translateOnAxis(uVec, 1);
664
665
  upObj.translateY(max.y - min.y);
665
- mBox.name = 'TransformBox';
666
+ mBox.name = "TransformBox";
666
667
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
667
668
  mBox.scale.set(1.01, 1.01, 1.01);
668
669
 
@@ -691,7 +692,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
691
692
  asrtObj.add(mBox);
692
693
  asrtObj.scale.set(1 / object.scale.x, object.scale.y, 1 / object.scale.z);
693
694
  //asrtObj.translateY(newAltitude / scalevec.y);
694
- asrtObj.name = 'TransformGizmo';
695
+ asrtObj.name = "TransformGizmo";
695
696
  // add assets Objects Group
696
697
  object1.add(asrtObj);
697
698
 
@@ -704,7 +705,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
704
705
  SceneCreator.getDistances(layer);
705
706
  }, 100);
706
707
  }
707
- var flip_doorhandle = element.properties.get('flip_doorhandle');
708
+ var flip_doorhandle = element.properties.get("flip_doorhandle");
708
709
  if (flip_doorhandle) {
709
710
  SceneCreator.updateDoorHandleMesh(element, object1, true);
710
711
  }
@@ -720,14 +721,14 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
720
721
  transparency: 0.8
721
722
  });
722
723
  obj.material = material;
723
- } else if (name.startsWith('sink_')) {
724
+ } else if (name.startsWith("sink_")) {
724
725
  // texture = loadTexture('/assets/img/texture/steel.jpg');
725
726
 
726
727
  var _material;
727
728
  // Get color from name
728
- if (name.includes('black') || name.includes('white')) {
729
+ if (name.includes("black") || name.includes("white")) {
729
730
  var _color2;
730
- if (name.includes('black')) {
731
+ if (name.includes("black")) {
731
732
  _color2 = new Three.Color(0x555555).convertLinearToSRGB();
732
733
  } else {
733
734
  _color2 = 0xffffff;
@@ -760,14 +761,14 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
760
761
  var open_doors = element.toJS().properties.open_doors;
761
762
  var object_match = obj.name.match(/\d_(interior_drawer[^LR1-9]*)(_[LR1-9])?$/) || obj.name.match(matchStr);
762
763
  if (object_match && object_match.length > 2) {
763
- var isDoor = object_match[1] === 'door';
764
+ var isDoor = object_match[1] === "door";
764
765
  if (isDoor) {
765
766
  var offsetData = object1.userData.door_animate_offset[obj.name];
766
767
  // Open Door
767
- (0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
768
+ (0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, "Opened2D");
768
769
  } else {
769
770
  // Open Drawer
770
- (0, _helper.translateDrawer)(element.toJS(), obj, open_doors, 'Opened2D');
771
+ (0, _helper.translateDrawer)(element.toJS(), obj, open_doors, "Opened2D");
771
772
  }
772
773
  }
773
774
  }
@@ -777,30 +778,30 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
777
778
  // keys in structure
778
779
  var keys = Object.keys(structure);
779
780
  // if exist in cached Objects
780
- if (element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
781
- var _objGroup = cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone();
781
+ if (element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
782
+ var _objGroup = cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())].clone();
782
783
  return Promise.resolve(onLoadItem(_objGroup.clone()));
783
784
  }
784
785
 
785
786
  // base Object/////
786
787
  var objGroup = null;
787
788
  var _loadGLTFs = function loadGLTFs(i) {
788
- if (keys[i] === 'animation') {
789
+ if (keys[i] === "animation") {
789
790
  // if animation info
790
791
  i++;
791
792
  return _loadGLTFs(i);
792
793
  }
793
- if (keys[i] === 'placeholders') {
794
+ if (keys[i] === "placeholders") {
794
795
  // if placeholders group
795
796
  i++;
796
797
  return _loadGLTFs(i);
797
798
  }
798
799
  if (i === keys.length) {
799
800
  // if end of keys
800
- cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = objGroup.clone(); //register to cachedObject
801
- return onLoadItem(cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone());
801
+ cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())] = objGroup.clone(); //register to cachedObject
802
+ return onLoadItem(cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())].clone());
802
803
  }
803
- if (keys[i] === 'base') {
804
+ if (keys[i] === "base") {
804
805
  // if base Objects
805
806
  i++;
806
807
  return _loadGLTFs(i);
@@ -813,15 +814,15 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
813
814
  }
814
815
  for (var j = 0; j < placeholderStructure.length; j++) {
815
816
  var phData = placeholderStructure[j];
816
- var phs = phData.split('/');
817
- var temp = phData.split('/');
817
+ var phs = phData.split("/");
818
+ var temp = phData.split("/");
818
819
  // placeholder remake////////////////
819
820
  for (var k = 0; k < phs.length; k++) {
820
821
  if (phs[k] in placeholders) {
821
822
  var placeholderphs = placeholders[phs[k]];
822
823
  var key = placeholderStructure.length / placeholderphs.length;
823
824
  phs[k] = placeholderphs[Math.floor(j / key)];
824
- var splitedData = phs[k].split('/');
825
+ var splitedData = phs[k].split("/");
825
826
  if (splitedData.length > 1) {
826
827
  phs[k] = splitedData[splitedData.length - 1];
827
828
  for (var m = splitedData.length - 2; m >= 0; m--) {
@@ -832,41 +833,41 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
832
833
  k = -1;
833
834
  continue;
834
835
  }
835
- if (phs[k].indexOf('ph') == -1) {
836
+ if (phs[k].indexOf("ph") == -1) {
836
837
  var _url = structure[temp[k - 1]];
837
- if (temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS()) in structure) {
838
- if (structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] != null) {
839
- _url = structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())];
838
+ if (temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS()) in structure) {
839
+ if (structure[temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] != null) {
840
+ _url = structure[temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())];
840
841
  }
841
842
  }
842
843
  if ((0, _typeof2["default"])(_url) == Array) _url = _url[0];
843
- var uData = _url.split('/');
844
+ var uData = _url.split("/");
844
845
  uData = uData[uData.length - 1];
845
846
  uData = uData.slice(0, -5);
846
- var datas = uData.split('_');
847
+ var datas = uData.split("_");
847
848
  uData = datas[1];
848
849
  for (var _i = 2; _i < datas.length; _i++) {
849
- uData += '_';
850
+ uData += "_";
850
851
  uData += datas[_i];
851
852
  }
852
- uData = mainName.replace('main', uData);
853
- phs[k] = 'ph_' + uData + '_' + phs[k];
853
+ uData = mainName.replace("main", uData);
854
+ phs[k] = "ph_" + uData + "_" + phs[k];
854
855
  }
855
856
  }
856
857
  phsArray.push(phs);
857
858
  }
858
859
  var url = structure[keys[i]];
859
- var normalMap = '';
860
- var urlData = url.split('/');
860
+ var normalMap = "";
861
+ var urlData = url.split("/");
861
862
  for (var _j = 0; _j < element.submodule.size; _j++) {
862
- var replaceUrlData = element.submodule.get(_j).split('/');
863
+ var replaceUrlData = element.submodule.get(_j).split("/");
863
864
  if (urlData.includes(replaceUrlData[replaceUrlData.length - 2])) {
864
865
  url = element.submodule.get(_j);
865
866
  break;
866
867
  }
867
868
  }
868
869
  for (var _j2 = 0; _j2 < element.normalMap.size; _j2++) {
869
- var normalMapData = element.normalMap.get(_j2).split('/');
870
+ var normalMapData = element.normalMap.get(_j2).split("/");
870
871
  if (urlData.includes(normalMapData[normalMapData.length - 2])) {
871
872
  normalMap = element.normalMap.get(_j2);
872
873
  break;
@@ -878,15 +879,15 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
878
879
  if (phsArray.length > 0) {
879
880
  // let loadUrl = dirName + url;
880
881
  var loadUrl = url;
881
- if (doorStyles.get(keys[i] + '_gltf') != undefined) {
882
- loadUrl = doorStyles.get(keys[i] + '_gltf');
883
- structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = loadUrl;
882
+ if (doorStyles.get(keys[i] + "_gltf") != undefined) {
883
+ loadUrl = doorStyles.get(keys[i] + "_gltf");
884
+ structure[keys[i] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] = loadUrl;
884
885
  } else {
885
- structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = null;
886
+ structure[keys[i] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] = null;
886
887
  }
887
888
  return (0, _loadObj.loadGLTF)(loadUrl).then(function (object) {
888
- if (normalMap !== '') {
889
- var normalUrl = normalMap.split('.')[0] + '-normal.' + normalMap.split('.')[1];
889
+ if (normalMap !== "") {
890
+ var normalUrl = normalMap.split(".")[0] + "-normal." + normalMap.split(".")[1];
890
891
  var t = loadTexture(normalMap);
891
892
  var _m = loadTexture(normalUrl);
892
893
  var mat2 = new Three.MeshStandardMaterial({
@@ -910,7 +911,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
910
911
  // let normalMap = "catalog/items/doorstyle/" + doorStyles.get(keys[i]);
911
912
  var _normalMap = doorStyles.get(keys[i]) || INITIAL_NORMAL_MAP;
912
913
  var _mat;
913
- if (_normalMap === '') {
914
+ if (_normalMap === "") {
914
915
  var examplecolor = new Three.Color(parseInt(color.slice(1), 16)).convertLinearToSRGB();
915
916
  _mat = new Three.MeshStandardMaterial({
916
917
  color: examplecolor,
@@ -934,8 +935,8 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
934
935
  object.children[_j4].material = _mat;
935
936
  object.children[_j4].receiveShadow = true;
936
937
  object.children[_j4].castShadow = true;
937
- !object.children[_j4].name.includes('handle') && addEdgesToMesh(object.children[_j4]);
938
- } else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
938
+ !object.children[_j4].name.includes("handle") && addEdgesToMesh(object.children[_j4]);
939
+ } else if (!object.children[_j4].name.startsWith("ph_") && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
939
940
  object.children[_j4].traverse(function (prim) {
940
941
  prim.material = _mat;
941
942
  prim.receiveShadow = true;
@@ -975,10 +976,10 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
975
976
  } else {
976
977
  if (parent.children[_k].name == placeholder) {
977
978
  var tmp = object.clone();
978
- if (placeholder.includes('drawer_door') && placeholder.includes('_handle')) {
979
+ if (placeholder.includes("drawer_door") && placeholder.includes("_handle")) {
979
980
  tmp.rotateZ(Math.PI / 2);
980
981
  }
981
- if (placeholder.includes('_handle') && tmp.children[0].type === _constants.OBJTYPE_MESH) {
982
+ if (placeholder.includes("_handle") && tmp.children[0].type === _constants.OBJTYPE_MESH) {
982
983
  // NOTE: change metalness of handle
983
984
  tmp.children[0].material.metalness = 1;
984
985
  // handleMaterial.metalness || 0.2;
@@ -992,25 +993,25 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
992
993
  }
993
994
  }
994
995
  }, function (reason) {
995
- console.log('loadGLTF failed for reason:', reason);
996
+ console.log("loadGLTF failed for reason:", reason);
996
997
  }).then(function () {
997
998
  i++;
998
999
  return _loadGLTFs(i);
999
1000
  });
1000
1001
  }
1001
1002
  };
1002
- return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1003
- object.name = 'MainObject';
1003
+ return (0, _loadObj.loadGLTF)(structure["base"]).then(function (object) {
1004
+ object.name = "MainObject";
1004
1005
  object.receiveShadow = true;
1005
1006
  objGroup = object;
1006
1007
  if (!(0, _helper.isEmpty)(doorStyles)) {
1007
- var normalMap = doorStyles.get('base') || INITIAL_NORMAL_MAP;
1008
+ var normalMap = doorStyles.get("base") || INITIAL_NORMAL_MAP;
1008
1009
  if (counterTop.uri === undefined) {
1009
1010
  try {
1010
1011
  counterTop = counterTop.toJS();
1011
1012
  } catch (error) {
1012
1013
  //@todo THIS IS A TEMPORARY FIX FOR COUNTERTOP TEXTURE UNDEFINED ISSUE
1013
- counterTop.uri = 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg';
1014
+ counterTop.uri = "https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg";
1014
1015
  console.log(error);
1015
1016
  }
1016
1017
  }
@@ -1018,7 +1019,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1018
1019
  counterTop.uri = layer.toJS().counterTop.uri;
1019
1020
  }
1020
1021
  var countTopMap = counterTop.uri;
1021
- var interiorMap = doorStyles.get('interior');
1022
+ var interiorMap = doorStyles.get("interior");
1022
1023
  var countT = loadTexture(countTopMap);
1023
1024
  countT.wrapS = Three.RepeatWrapping;
1024
1025
  countT.wrapT = Three.RepeatWrapping;
@@ -1027,7 +1028,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1027
1028
  var mat2 = null,
1028
1029
  mat3 = null,
1029
1030
  mat4 = null;
1030
- if (normalMap === '') {
1031
+ if (normalMap === "") {
1031
1032
  mat2 = new Three.MeshStandardMaterial({
1032
1033
  color: examplecolor,
1033
1034
  metalness: glossness === 1 ? params.metalness : params.metalness_glossy,
@@ -1044,11 +1045,11 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1044
1045
  }
1045
1046
  // mat2.envMap = textureCube;
1046
1047
 
1047
- if (normalMap !== '') {
1048
+ if (normalMap !== "") {
1048
1049
  var t = loadTexture(normalMap);
1049
1050
  mat2.map = t;
1050
1051
  }
1051
- if (normalMap === '') {
1052
+ if (normalMap === "") {
1052
1053
  mat3 = new Three.MeshStandardMaterial({
1053
1054
  // color: examplecolor,
1054
1055
  metalness: counterTop.metalness,
@@ -1070,13 +1071,13 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1070
1071
  });
1071
1072
  mat4.map = loadTexture(interiorMap);
1072
1073
  for (var j = 0; j < object.children.length; j++) {
1073
- if (object.children[j].name.includes('main')) {}
1074
- if (object.children[j].name.includes('countertop')) {
1074
+ if (object.children[j].name.includes("main")) {}
1075
+ if (object.children[j].name.includes("countertop")) {
1075
1076
  object.children[j].material = mat3;
1076
1077
  object.children[j].receiveShadow = true;
1077
1078
  object.children[j].castShadow = true;
1078
1079
  addEdgesToMesh(object.children[j]);
1079
- } else if (object.children[j].name.includes('_interior_')) {
1080
+ } else if (object.children[j].name.includes("_interior_")) {
1080
1081
  object.children[j].material = mat4;
1081
1082
  } else if (object.children[j].type === _constants.OBJTYPE_MESH) {
1082
1083
  object.children[j].material = mat2;
@@ -1086,7 +1087,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1086
1087
  }
1087
1088
  }
1088
1089
  }, function (reason) {
1089
- console.log('loadGLTF failed for reason:', reason);
1090
+ console.log("loadGLTF failed for reason:", reason);
1090
1091
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1091
1092
  }).then(function () {
1092
1093
  return _loadGLTFs(0);
@@ -1100,18 +1101,18 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1100
1101
  var applianceMaterial = element.applianceMaterial;
1101
1102
  if (applianceMaterial.metalness == undefined) applianceMaterial = applianceMaterial.toJS();
1102
1103
  var onLoadItem = function onLoadItem(object) {
1103
- var newAltitude = element.properties.get('altitude').get('_length');
1104
- var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1104
+ var newAltitude = element.properties.get("altitude").get("_length");
1105
+ var newUnit = element.properties.get("altitude").get("_unit") || "in";
1105
1106
  newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
1106
- var newWidth = element.properties.get('width').get('_length');
1107
- var newWidthUnit = element.properties.get('width').get('_unit') || 'in';
1108
- newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to('in');
1109
- var newHeight = element.properties.get('height').get('_length');
1110
- var newHeightUnit = element.properties.get('height').get('_unit') || 'in';
1111
- newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to('in');
1112
- var newDepth = element.properties.get('depth').get('_length');
1113
- var newDepthUnit = element.properties.get('depth').get('_unit') || 'in';
1114
- newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to('in');
1107
+ var newWidth = element.properties.get("width").get("_length");
1108
+ var newWidthUnit = element.properties.get("width").get("_unit") || "in";
1109
+ newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to("in");
1110
+ var newHeight = element.properties.get("height").get("_length");
1111
+ var newHeightUnit = element.properties.get("height").get("_unit") || "in";
1112
+ newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to("in");
1113
+ var newDepth = element.properties.get("depth").get("_length");
1114
+ var newDepthUnit = element.properties.get("depth").get("_unit") || "in";
1115
+ newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to("in");
1115
1116
  object.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
1116
1117
  // Normalize the origin of the object
1117
1118
  var boundingBox = new Three.Box3().setFromObject(object);
@@ -1126,16 +1127,16 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1126
1127
  var name = obj.name;
1127
1128
  var texture,
1128
1129
  textureLoader = new Three.TextureLoader();
1129
- if (name.includes('_black')) {
1130
+ if (name.includes("_black")) {
1130
1131
  obj.material.roughness = 0.4;
1131
1132
  obj.material.metalness = 1.0;
1132
1133
  obj.material.color = new Three.Color(0, 0, 0);
1133
1134
  obj.castShadow = true;
1134
1135
  obj.receiveShadow = true;
1135
1136
  return object;
1136
- } else if (name.includes('_wood')) {
1137
- texture = loadTexture('/assets/img/texture/wood.jpg');
1138
- } else if (name.includes('_glass')) {
1137
+ } else if (name.includes("_wood")) {
1138
+ texture = loadTexture("/assets/img/texture/wood.jpg");
1139
+ } else if (name.includes("_glass")) {
1139
1140
  // texture = loadTexture('/assets/img/texture/glass.jpg');
1140
1141
  var material = new Three.MeshPhysicalMaterial({
1141
1142
  transparent: true,
@@ -1150,7 +1151,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1150
1151
  obj.castShadow = true;
1151
1152
  obj.receiveShadow = true;
1152
1153
  return object;
1153
- } else if (name.includes('_steel')) {
1154
+ } else if (name.includes("_steel")) {
1154
1155
  // texture = loadTexture('/assets/img/texture/steel.jpg');
1155
1156
  var _material2 = new Three.MeshPhysicalMaterial({
1156
1157
  roughness: 0.2,
@@ -1200,16 +1201,16 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1200
1201
  // vertical line - 4 lines around object//////////////////////////
1201
1202
  var vLineGeom = new Three.BufferGeometry();
1202
1203
  var vertices = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z + 1.3];
1203
- vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
1204
+ vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
1204
1205
  var vLineGeom1 = new Three.BufferGeometry();
1205
1206
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
1206
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
1207
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
1207
1208
  var vLineGeom2 = new Three.BufferGeometry();
1208
1209
  var vertices2 = [max.x, 0, max.z - (max.z - min.z) / 2, max.x + 1.3, 0, max.z - (max.z - min.z) / 2];
1209
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
1210
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
1210
1211
  var vLineGeom3 = new Three.BufferGeometry();
1211
1212
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
1212
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
1213
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
1213
1214
  // ///////////////////////////////////////
1214
1215
 
1215
1216
  // set names of transform object
@@ -1222,12 +1223,12 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1222
1223
  color: 0xffffff,
1223
1224
  colorWrite: true
1224
1225
  }));
1225
- rotFillObj.name = 'rotate';
1226
+ rotFillObj.name = "rotate";
1226
1227
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
1227
1228
  color: 0xffffff,
1228
1229
  side: Three.DoubleSide
1229
1230
  }));
1230
- upObj.name = 'transUp';
1231
+ upObj.name = "transUp";
1231
1232
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
1232
1233
  color: new Three.Color(0xdd6699).convertLinearToSRGB(),
1233
1234
  side: Three.DoubleSide,
@@ -1267,7 +1268,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1267
1268
  vLine3.translateY(0.1);
1268
1269
  upObj.translateOnAxis(uVec, 1);
1269
1270
  upObj.translateY(max.y - min.y + 0.05);
1270
- mBox.name = 'TransformBox';
1271
+ mBox.name = "TransformBox";
1271
1272
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
1272
1273
  mBox.scale.set(1.01, 1.01, 1.01);
1273
1274
 
@@ -1295,7 +1296,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1295
1296
  asrtObj.add(mBox);
1296
1297
  asrtObj.scale.set(1 / object.scale.x, object.scale.y, 1 / object.scale.z);
1297
1298
  // asrtObj.translateY(newAltitude / scalevec.y);
1298
- asrtObj.name = 'TransformGizmo';
1299
+ asrtObj.name = "TransformGizmo";
1299
1300
  // add assets Objects Group
1300
1301
  object.add(asrtObj);
1301
1302
 
@@ -1325,7 +1326,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1325
1326
  cachedObject[element.type] = objGroup.clone(); //register to cachedObject
1326
1327
  return onLoadItem(cachedObject[element.type].clone());
1327
1328
  }
1328
- if (keys[i] === 'base') {
1329
+ if (keys[i] === "base") {
1329
1330
  // if base Objects
1330
1331
  i++;
1331
1332
  return _loadGLTFs2(i);
@@ -1334,13 +1335,13 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1334
1335
 
1335
1336
  // load base to start //
1336
1337
  // return loadGLTF(dirName + structure["base"])
1337
- return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1338
+ return (0, _loadObj.loadGLTF)(structure["base"]).then(function (object) {
1338
1339
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1339
1340
  // let texture = loadTexture(textureURL);
1340
1341
  // texture.wrapS = Three.MirroredRepeatWrapping;
1341
1342
  // texture.wrapT = Three.MirroredRepeatWrapping;
1342
1343
 
1343
- object.name = 'MainObject';
1344
+ object.name = "MainObject";
1344
1345
  // NOTE: changed appliance emissive color to black
1345
1346
  var mat2 = new Three.MeshStandardMaterial({
1346
1347
  emissive: new Three.Color(0x0d0d0d).convertLinearToSRGB(),
@@ -1358,7 +1359,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1358
1359
  }
1359
1360
  objGroup = object;
1360
1361
  }, function (reason) {
1361
- console.log('loadGLTF failed for reason:', reason);
1362
+ console.log("loadGLTF failed for reason:", reason);
1362
1363
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1363
1364
  }).then(function () {
1364
1365
  return _loadGLTFs2(0);
@@ -1371,21 +1372,21 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1371
1372
  var onLoadItem = function onLoadItem(object) {
1372
1373
  var width = {
1373
1374
  length: sizeinfo.width,
1374
- unit: 'in'
1375
+ unit: "in"
1375
1376
  };
1376
1377
  var depth = {
1377
1378
  length: sizeinfo.depth,
1378
- unit: 'in'
1379
+ unit: "in"
1379
1380
  };
1380
1381
  var height = {
1381
1382
  length: sizeinfo.height,
1382
- unit: 'in'
1383
+ unit: "in"
1383
1384
  };
1384
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
1385
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
1386
- var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('cm');
1387
- var newAltitude = element.properties.get('altitude').get('_length');
1388
- var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1385
+ var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to("cm");
1386
+ var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to("cm");
1387
+ var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to("cm");
1388
+ var newAltitude = element.properties.get("altitude").get("_length");
1389
+ var newUnit = element.properties.get("altitude").get("_unit") || "in";
1389
1390
  newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
1390
1391
 
1391
1392
  //object.scale.set(newWidth, newHeight, newDepth);
@@ -1432,16 +1433,16 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1432
1433
  // vertical line - 4 lines around object//////////////////////////
1433
1434
  var vLineGeom = new Three.BufferGeometry();
1434
1435
  var vertices = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z + 1.3];
1435
- vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
1436
+ vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
1436
1437
  var vLineGeom1 = new Three.BufferGeometry();
1437
1438
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
1438
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
1439
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
1439
1440
  var vLineGeom2 = new Three.BufferGeometry();
1440
1441
  var vertices2 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x + 1.3, 0, max.z - (max.z - min.z) / 2];
1441
- vLineGeom2.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
1442
+ vLineGeom2.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
1442
1443
  var vLineGeom3 = new Three.BufferGeometry();
1443
1444
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
1444
- vLineGeom3.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
1445
+ vLineGeom3.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
1445
1446
  // ///////////////////////////////////////
1446
1447
 
1447
1448
  // set names of transform object
@@ -1454,12 +1455,12 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1454
1455
  color: 0xffffff,
1455
1456
  colorWrite: true
1456
1457
  }));
1457
- rotFillObj.name = 'rotate';
1458
+ rotFillObj.name = "rotate";
1458
1459
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
1459
1460
  color: 0xffffff,
1460
1461
  side: Three.DoubleSide
1461
1462
  }));
1462
- upObj.name = 'transUp';
1463
+ upObj.name = "transUp";
1463
1464
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
1464
1465
  color: 0xdd6699,
1465
1466
  side: Three.DoubleSide,
@@ -1501,7 +1502,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1501
1502
  //rotObj.translateOnAxis(uVec, 1);
1502
1503
  upObj.translateOnAxis(uVec, 1);
1503
1504
  upObj.translateY(max.y - min.y);
1504
- mBox.name = 'TransformBox';
1505
+ mBox.name = "TransformBox";
1505
1506
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
1506
1507
  mBox.scale.set(1.01, 1.01, 1.01);
1507
1508
 
@@ -1530,7 +1531,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1530
1531
  asrtObj.add(mBox);
1531
1532
  asrtObj.scale.set(1, 1, 1);
1532
1533
  //asrtObj.translateY(newAltitude / scalevec.y);
1533
- asrtObj.name = 'TransformGizmo';
1534
+ asrtObj.name = "TransformGizmo";
1534
1535
  // add assets Objects Group
1535
1536
  object.add(asrtObj);
1536
1537
 
@@ -1563,7 +1564,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1563
1564
  cachedObject[element.type] = objGroup.clone(); //register to cachedObject
1564
1565
  return onLoadItem(cachedObject[element.type].clone());
1565
1566
  }
1566
- if (keys[i] === 'base') {
1567
+ if (keys[i] === "base") {
1567
1568
  // if base Objects
1568
1569
  i++;
1569
1570
  return _loadGLTFs3(i);
@@ -1572,13 +1573,13 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1572
1573
 
1573
1574
  // load base to start //
1574
1575
  // return loadGLTF(dirName + structure["base"])
1575
- return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1576
+ return (0, _loadObj.loadGLTF)(structure["base"]).then(function (object) {
1576
1577
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1577
1578
  // let texture = loadTexture(textureURL);
1578
1579
  // texture.wrapS = Three.MirroredRepeatWrapping;
1579
1580
  // texture.wrapT = Three.MirroredRepeatWrapping;
1580
1581
 
1581
- object.name = 'MainObject';
1582
+ object.name = "MainObject";
1582
1583
  var mat2 = new Three.MeshStandardMaterial({
1583
1584
  emissive: new Three.Color(0x666666).convertLinearToSRGB(),
1584
1585
  metalness: 0.7,
@@ -1594,7 +1595,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1594
1595
  }
1595
1596
  objGroup = object;
1596
1597
  }, function (reason) {
1597
- console.log('loadGLTF failed for reason:', reason);
1598
+ console.log("loadGLTF failed for reason:", reason);
1598
1599
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1599
1600
  }).then(function () {
1600
1601
  return _loadGLTFs3(0);