kitchen-simulator 4.0.11-react-18 → 4.1.1-react-18

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.
@@ -4,9 +4,9 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
4
  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; }
5
5
  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) { _defineProperty(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; }
6
6
  import { convert } from "../../utils/convert-units-lite";
7
- import { fromJS, Map } from 'immutable';
8
- import React, { useState } from 'react';
9
- import * as Three from 'three';
7
+ import { fromJS, Map } from "immutable";
8
+ import React, { useState } from "react";
9
+ import * as Three from "three";
10
10
  import * as SceneCreator from "../../components/viewer3d/scene-creator";
11
11
  import { ARROW_COLOR, BASE_CABINET_LAYOUTPOS, OBJTYPE_GROUP, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, SHAPE_SVG_DEPTH, SHAPE_SVG_PADDING, SHAPE_SVG_WIDTH, STATUS_WARNING_COLOR, STATUS_WARNING_LIGHT_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, UNIT_INCH, WALL_CABINET_LAYOUTPOS } from "../../constants";
12
12
  import { Item } from "../../models";
@@ -14,18 +14,18 @@ import * as GeomUtils from "./geom-utils";
14
14
  import { loadGLTF } from "./load-obj";
15
15
  import { animateDoor, isEmpty, translateDrawer } from "../../utils/helper";
16
16
  import { isWarningItem } from "../../components/viewer2d/utils";
17
- var INITIAL_NORMAL_MAP = '';
17
+ var INITIAL_NORMAL_MAP = "";
18
18
 
19
19
  // env Map ///////////////
20
20
  var paramsCounter = {
21
- envMap: 'HDR',
21
+ envMap: "HDR",
22
22
  roughness: 0.6,
23
23
  metalness: 0.3,
24
24
  exposure: 1
25
25
  // debug: true
26
26
  };
27
27
  var params = {
28
- envMap: 'HDR',
28
+ envMap: "HDR",
29
29
  roughness: 0.9,
30
30
  metalness: 0.1,
31
31
  metalness_glossy: 0.2,
@@ -33,18 +33,18 @@ var params = {
33
33
  // debug: false
34
34
  };
35
35
  var paramsModel = {
36
- envMap: 'HDR',
36
+ envMap: "HDR",
37
37
  roughness: 0.9,
38
38
  metalness: 0.2,
39
39
  exposure: 1.0
40
40
  // debug: false
41
41
  };
42
42
  var buttons = [{
43
- name: 'Edit',
44
- thumbnail: '/assets/img/svg/3d_item_warning_edit.svg'
43
+ name: "Edit",
44
+ thumbnail: "/assets/img/svg/3d_item_warning_edit.svg"
45
45
  }, {
46
- name: 'Info',
47
- thumbnail: '/assets/img/svg/3d_item_warning_info.svg'
46
+ name: "Info",
47
+ thumbnail: "/assets/img/svg/3d_item_warning_info.svg"
48
48
  }];
49
49
 
50
50
  // /////////////////////////
@@ -60,7 +60,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
60
60
  var x = element.x,
61
61
  y = element.y,
62
62
  rotation = element.rotation;
63
- var el_DSN = 'el_DSN',
63
+ var el_DSN = "el_DSN",
64
64
  doorStylesKeys = [];
65
65
  var _element = element.toJS();
66
66
  if (_element.doorStyle !== undefined) {
@@ -68,10 +68,10 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
68
68
  doorStylesKeys = Object.keys(_element.doorStyle.doorStyles);
69
69
  }
70
70
  }
71
- if ((doorStylesKeys.includes('euro_length') || doorStylesKeys.includes('euro_width') || doorStylesKeys.includes('euro_shape_svg')) && _element.doorStyle.doorStyles.is_euro_cds) {
71
+ if ((doorStylesKeys.includes("euro_length") || doorStylesKeys.includes("euro_width") || doorStylesKeys.includes("euro_shape_svg")) && _element.doorStyle.doorStyles.is_euro_cds) {
72
72
  el_DSN = _element.doorStyle.door_style_name;
73
73
  } else {
74
- el_DSN = 'el_DSN';
74
+ el_DSN = "el_DSN";
75
75
  }
76
76
  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;
77
77
  if (doorStylesKeys.length > 0) {
@@ -81,41 +81,41 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
81
81
  el_euro_shape_svg = _element.doorStyle.doorStyles.euro_shape_svg;
82
82
  }
83
83
  if (el_euro_length === undefined && el_euro_width === undefined) {
84
- el_DSN = 'el_DSN';
84
+ el_DSN = "el_DSN";
85
85
  }
86
- if (el_DSN === 'Euro & Frameless') {
86
+ if (el_DSN === "Euro & Frameless") {
87
87
  // sizeinfo["depth"] = el_euro_length;
88
88
  // sizeinfo["width"] = el_euro_width;
89
89
  }
90
- var tempWidth = element.properties.get('width');
91
- var tempDepth = element.properties.get('depth');
90
+ var tempWidth = element.properties.get("width");
91
+ var tempDepth = element.properties.get("depth");
92
92
  width = tempWidth && {
93
- length: tempWidth.get('_length'),
94
- unit: tempWidth.get('_unit')
93
+ length: tempWidth.get("_length"),
94
+ unit: tempWidth.get("_unit")
95
95
  };
96
96
  depth = tempDepth && {
97
- length: tempDepth.get('_length'),
98
- unit: tempDepth.get('_unit')
97
+ length: tempDepth.get("_length"),
98
+ unit: tempDepth.get("_unit")
99
99
  };
100
- var originalWidth = convert(sizeinfo.width).from('in').to('cm');
101
- var originalDepth = convert(sizeinfo.depth).from('in').to('cm');
102
- var newWidth = convert(width.length).from(width.unit).to('cm');
103
- var newDepth = convert(depth.length).from(depth.unit).to('cm');
100
+ var originalWidth = convert(sizeinfo.width).from("in").to("cm");
101
+ var originalDepth = convert(sizeinfo.depth).from("in").to("cm");
102
+ var newWidth = convert(width.length).from(width.unit).to("cm");
103
+ var newDepth = convert(depth.length).from(depth.unit).to("cm");
104
104
  var padding = convert(SHAPE_SVG_PADDING).from(UNIT_INCH).to(UNIT_CENTIMETER);
105
105
  var angle = element.rotation + 90;
106
106
  var textRotation = 0;
107
107
  if (Math.sin(angle * Math.PI / 180) < 0) {
108
108
  textRotation = 180;
109
109
  }
110
- var color = '#eee';
110
+ var color = "#eee";
111
111
  if (layoutpos == BASE_CABINET_LAYOUTPOS) {
112
- color = '#3f8db3';
112
+ color = "#3f8db3";
113
113
  }
114
114
  if (layoutpos == TALL_CABINET_LAYOUTPOS) {
115
- color = '#93b3be';
115
+ color = "#93b3be";
116
116
  }
117
117
  if (layoutpos == WALL_CABINET_LAYOUTPOS) {
118
- color = '#48b08dcc';
118
+ color = "#48b08dcc";
119
119
  }
120
120
  var splitStr = [];
121
121
  var txtContent = [];
@@ -129,7 +129,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
129
129
  var dcId,
130
130
  doorStyle = element.doorStyle;
131
131
  if (doorStyle instanceof Map) {
132
- dcId = doorStyle.get('id');
132
+ dcId = doorStyle.get("id");
133
133
  } else {
134
134
  dcId = doorStyle.id;
135
135
  }
@@ -148,7 +148,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
148
148
  splitStr.push(type.slice(lineCount * rowCount));
149
149
  splitStr.forEach(function (el, key) {
150
150
  txtContent.push(/*#__PURE__*/React.createElement("text", {
151
- key: 'text' + key,
151
+ key: "text" + key,
152
152
  x: "0",
153
153
  y: newDepth / 2 - 12,
154
154
  dy: 16 * key,
@@ -158,16 +158,16 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
158
158
  ,
159
159
  style: {
160
160
  fontWeight: 500,
161
- fontSize: '7px',
162
- textAnchor: 'middle',
163
- fill: '#FFF',
164
- display: 'block'
161
+ fontSize: "7px",
162
+ textAnchor: "middle",
163
+ fill: "#FFF",
164
+ display: "block"
165
165
  }
166
166
  }, el));
167
167
  });
168
168
  var style = {
169
- stroke: element.selected ? '#565658' : '#565658',
170
- strokeWidth: '2px',
169
+ stroke: element.selected ? "#565658" : "#565658",
170
+ strokeWidth: "2px",
171
171
  fill: color
172
172
  };
173
173
  // let arrow_style = { stroke: element.selected ? '#0096fd' : null, strokeWidth: "2px", fill: "#84e1ce" };
@@ -175,8 +175,8 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
175
175
  var rendered = null;
176
176
  var svg_url, svg_width, svg_depth;
177
177
  if (shape_svg || el_euro_shape_svg) {
178
- if (typeof shape_svg == 'string' || typeof el_euro_shape_svg == 'string') {
179
- if (el_DSN === 'Euro & Frameless' && el_is_euro_cds) {
178
+ if (typeof shape_svg == "string" || typeof el_euro_shape_svg == "string") {
179
+ if (el_DSN === "Euro & Frameless" && el_is_euro_cds) {
180
180
  svg_url = el_euro_shape_svg;
181
181
  svg_width = newWidth;
182
182
  svg_depth = newDepth;
@@ -203,20 +203,20 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
203
203
  var warning_buttons = /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("g", {
204
204
  id: "warning_info_2d",
205
205
  style: {
206
- cursor: 'pointer',
206
+ cursor: "pointer",
207
207
  transform: "translate(".concat(-transX, "px, ").concat(-transY, "px)")
208
208
  },
209
209
  onMouseEnter: function onMouseEnter(event) {
210
210
  var bbox = event.target.getBoundingClientRect();
211
- if (document.getElementById('warning_box_2d')) {
212
- document.getElementById('warning_box_2d').style.display = 'flex';
213
- document.getElementById('warning_box_2d').style.top = "".concat(bbox.top - 60, "px");
214
- document.getElementById('warning_box_2d').style.left = "".concat(bbox.left, "px");
211
+ if (document.getElementById("warning_box_2d")) {
212
+ document.getElementById("warning_box_2d").style.display = "flex";
213
+ document.getElementById("warning_box_2d").style.top = "".concat(bbox.top - 60, "px");
214
+ document.getElementById("warning_box_2d").style.left = "".concat(bbox.left, "px");
215
215
  }
216
216
  },
217
217
  onMouseLeave: function onMouseLeave() {
218
- if (document.getElementById('warning_box_2d')) {
219
- document.getElementById('warning_box_2d').style.display = 'none';
218
+ if (document.getElementById("warning_box_2d")) {
219
+ document.getElementById("warning_box_2d").style.display = "none";
220
220
  }
221
221
  }
222
222
  }, /*#__PURE__*/React.createElement("circle", {
@@ -235,7 +235,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
235
235
  href: buttons[1].thumbnail
236
236
  })), /*#__PURE__*/React.createElement("g", {
237
237
  style: {
238
- cursor: 'pointer',
238
+ cursor: "pointer",
239
239
  transform: "translate(".concat(transX, "px, ").concat(transY, "px)")
240
240
  },
241
241
  "data-element-root": true,
@@ -281,7 +281,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
281
281
  }, /*#__PURE__*/React.createElement("image", {
282
282
  preserveAspectRatio: "none",
283
283
  style: {
284
- pointerEvents: 'none'
284
+ pointerEvents: "none"
285
285
  },
286
286
  href: svg_url,
287
287
  width: "".concat(newWidth + 2 * padding_width),
@@ -294,16 +294,16 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
294
294
  y: "".concat(padding_depth),
295
295
  width: "".concat(newWidth),
296
296
  height: "".concat(newDepth),
297
- visibility: 'hidden',
297
+ visibility: "hidden",
298
298
  style: {
299
- pointerEvents: 'all',
299
+ pointerEvents: "all",
300
300
  opacity: 0.7,
301
- postion: 'relative'
301
+ postion: "relative"
302
302
  }
303
303
  }), /*#__PURE__*/React.createElement("g", {
304
304
  transform: "translate(".concat(padding_width, ",").concat(padding_depth, ")")
305
- }, txtContent)), element.category === 'cabinet' && /*#__PURE__*/React.createElement("g", {
306
- visibility: isWarningItem(element) ? 'visible' : 'hidden'
305
+ }, txtContent)), element.category === "cabinet" && /*#__PURE__*/React.createElement("g", {
306
+ visibility: isWarningItem(element) ? "visible" : "hidden"
307
307
  }, warning_buttons)));
308
308
  } else {
309
309
  rendered = /*#__PURE__*/React.createElement("g", {
@@ -390,38 +390,38 @@ var assignUVs = function assignUVs(geometry) {
390
390
  export function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
391
391
  var mode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
392
392
  if (element.doorStyle.constructor !== Map) {
393
- element = element.set('doorStyle', fromJS(element.doorStyle));
393
+ element = element.set("doorStyle", fromJS(element.doorStyle));
394
394
  }
395
- if (element.doorStyle.toJS().handle_gltf !== '') {
395
+ if (element.doorStyle.toJS().handle_gltf !== "") {
396
396
  // Check element has doorHandle
397
397
  for (var i = 1; i < 10; i++) {
398
- element = element.setIn(['doorStyle', 'doorStyles', 'door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
399
- element = element.setIn(['doorStyle', 'doorStyles', 'fixed_drawer_door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
400
- element = element.setIn(['doorStyle', 'doorStyles', 'drawer_door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
398
+ element = element.setIn(["doorStyle", "doorStyles", "door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
399
+ element = element.setIn(["doorStyle", "doorStyles", "fixed_drawer_door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
400
+ element = element.setIn(["doorStyle", "doorStyles", "drawer_door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
401
401
  }
402
402
  }
403
403
  var width = {
404
404
  length: sizeinfo.width,
405
- unit: 'in'
405
+ unit: "in"
406
406
  };
407
407
  var depth = {
408
408
  length: sizeinfo.depth,
409
- unit: 'in'
409
+ unit: "in"
410
410
  };
411
411
  var height = {
412
412
  length: sizeinfo.height,
413
- unit: 'in'
413
+ unit: "in"
414
414
  };
415
- var newWidth = convert(width.length).from(width.unit).to('in');
416
- var newDepth = convert(depth.length).from(depth.unit).to('in');
417
- var newHeight = convert(height.length).from(height.unit).to('in');
418
- var mainName = ''; // to get name structure//
419
- if (element.properties.get('width')) newWidth = element.getIn(['properties', 'width', '_length']);
420
- if (element.properties.get('depth')) newDepth = element.getIn(['properties', 'depth', '_length']);
421
- if (element.properties.get('height')) newHeight = element.getIn(['properties', 'height', '_length']);
415
+ var newWidth = convert(width.length).from(width.unit).to("in");
416
+ var newDepth = convert(depth.length).from(depth.unit).to("in");
417
+ var newHeight = convert(height.length).from(height.unit).to("in");
418
+ var mainName = ""; // to get name structure//
419
+ if (element.properties.get("width")) newWidth = element.getIn(["properties", "width", "_length"]);
420
+ if (element.properties.get("depth")) newDepth = element.getIn(["properties", "depth", "_length"]);
421
+ if (element.properties.get("height")) newHeight = element.getIn(["properties", "height", "_length"]);
422
422
  var structure = structure_json;
423
423
  // structure.push({name:'model', url: '/assets/model/DCM.gltf'});
424
- structure.model = '/assets/model/DCM.gltf';
424
+ structure.model = "/assets/model/DCM.gltf";
425
425
  var placeholders = structure.placeholders;
426
426
  var doorStyles = null;
427
427
  var color = 0xffffff,
@@ -431,20 +431,20 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
431
431
  if (layer.toJS().counterTop.uri) {
432
432
  counterTop.uri = layer.toJS().counterTop.uri;
433
433
  }
434
- if ('name' in element.doorStyle) {
434
+ if ("name" in element.doorStyle) {
435
435
  doorStyles = new Map(element.doorStyle.doorStyles);
436
436
  color = element.doorStyle.color;
437
437
  glossness = element.doorStyle.glossness;
438
438
  handleMaterial.metalness = element.doorStyle.metalness;
439
439
  handleMaterial.roughness = element.doorStyle.roughness;
440
440
  } else if (element.doorStyle != null && element.doorStyle) {
441
- doorStyles = element.doorStyle.get('doorStyles');
442
- color = element.doorStyle.get('color');
443
- glossness = element.doorStyle.get('glossness');
444
- handleMaterial.metalness = element.doorStyle.get('metalness');
445
- handleMaterial.roughness = element.doorStyle.get('roughness');
441
+ doorStyles = element.doorStyle.get("doorStyles");
442
+ color = element.doorStyle.get("color");
443
+ glossness = element.doorStyle.get("glossness");
444
+ handleMaterial.metalness = element.doorStyle.get("metalness");
445
+ handleMaterial.roughness = element.doorStyle.get("roughness");
446
446
  }
447
- if (color === undefined) color = '#ffffff';
447
+ if (color === undefined) color = "#ffffff";
448
448
  if (glossness === undefined) glossness = 1;
449
449
  var tempDoorStyles = doorStyles.toJS();
450
450
  var tempPlaceholders = structure.tempPlaceholders;
@@ -469,13 +469,13 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
469
469
  areaMaterial.side = Three.DoubleSide;
470
470
  // areaMaterial.envMap = textureCube;
471
471
  if (isEmpty(doorStyles)) {
472
- var normalMap = doorStyles.get('base') || INITIAL_NORMAL_MAP;
472
+ var normalMap = doorStyles.get("base") || INITIAL_NORMAL_MAP;
473
473
  var interiortexture = loadTexture(normalMap);
474
474
  applyTexture(areaMaterial, interiortexture, 100, 100);
475
475
  }
476
476
  var object1 = object;
477
- var newAltitude = element.properties.get('altitude').get('_length');
478
- var newUnit = element.properties.get('altitude').get('_unit') || 'in';
477
+ var newAltitude = element.properties.get("altitude").get("_length");
478
+ var newUnit = element.properties.get("altitude").get("_unit") || "in";
479
479
  newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
480
480
  var _element = element.toJS();
481
481
  if (!_element.doorStyle.doorStyles.is_euro_cds) {
@@ -492,27 +492,27 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
492
492
  var door_match = child.name.match(matchStr);
493
493
  if (door_match && door_match.length > 2) {
494
494
  var _child$children$;
495
- var rotate_match_text = element.properties.toJS().flip_doorhandle ? 'rotate_L' : 'rotate_R';
496
- if (door_match[2] === '_L') {
497
- rotate_match_text = element.properties.toJS().flip_doorhandle ? 'rotate_R' : 'rotate_L';
495
+ var rotate_match_text = element.properties.toJS().flip_doorhandle ? "rotate_L" : "rotate_R";
496
+ if (door_match[2] === "_L") {
497
+ rotate_match_text = element.properties.toJS().flip_doorhandle ? "rotate_R" : "rotate_L";
498
498
  }
499
499
  var isDoubleDoor = door_match && door_match[2] !== undefined;
500
500
  (_child$children$ = child.children[0]) === null || _child$children$ === void 0 || _child$children$.children.forEach(function (it) {
501
501
  var _it$name, _it$children;
502
- 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) {
502
+ 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) {
503
503
  var _child$name, _child$name2, _object1$children, _t0$name, _t0$children;
504
- 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');
504
+ 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");
505
505
  var tmp = (object1 === null || object1 === void 0 || (_object1$children = object1.children) === null || _object1$children === void 0 ? void 0 : _object1$children.filter(function (item) {
506
506
  return (item === null || item === void 0 ? void 0 : item.name) === tname;
507
507
  })) || [];
508
508
  var t0 = tmp[0];
509
- var filterStr = t0 !== null && t0 !== void 0 && (_t0$name = t0.name) !== null && _t0$name !== void 0 && _t0$name.endsWith('_L') ? 'rotate_L' : 'rotate_R';
509
+ var filterStr = t0 !== null && t0 !== void 0 && (_t0$name = t0.name) !== null && _t0$name !== void 0 && _t0$name.endsWith("_L") ? "rotate_L" : "rotate_R";
510
510
  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) {
511
511
  var _item$name;
512
512
  return item === null || item === void 0 || (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.endsWith(filterStr);
513
513
  })) || [];
514
514
  var tpos0 = tposArr[0];
515
- if (it.name.includes('base_end')) {
515
+ if (it.name.includes("base_end")) {
516
516
  var _it$position$x, _it$position, _it$position$y, _it$position2, _tpos0$position$x, _tpos0$position;
517
517
  door_animate_offset[child.name] = {
518
518
  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,
@@ -580,16 +580,16 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
580
580
  // vertical line - 4 lines around object//////////////////////////
581
581
  var vLineGeom = new Three.BufferGeometry();
582
582
  var vertices = [(max.x - min.x) / 2 + min.x, 0, max.z, (max.x - min.x) / 2 + min.x, 0, max.z + 1.3];
583
- vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
583
+ vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
584
584
  var vLineGeom1 = new Three.BufferGeometry();
585
585
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
586
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
586
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
587
587
  var vLineGeom2 = new Three.BufferGeometry();
588
588
  var vertices2 = [max.x, 0, max.z - (max.z - min.z) / 2, max.x + 1.3, 0, max.z - (max.z - min.z) / 2];
589
- vLineGeom2.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
589
+ vLineGeom2.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
590
590
  var vLineGeom3 = new Three.BufferGeometry();
591
591
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
592
- vLineGeom3.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
592
+ vLineGeom3.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
593
593
  // ///////////////////////////////////////
594
594
 
595
595
  // set names of transform object
@@ -602,12 +602,12 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
602
602
  color: new Three.Color(0xffffff).convertLinearToSRGB(),
603
603
  colorWrite: true
604
604
  }));
605
- rotFillObj.name = 'rotate';
605
+ rotFillObj.name = "rotate";
606
606
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
607
607
  color: new Three.Color(0xffffff).convertLinearToSRGB(),
608
608
  side: Three.DoubleSide
609
609
  }));
610
- upObj.name = 'transUp';
610
+ upObj.name = "transUp";
611
611
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
612
612
  color: new Three.Color(0xdd6699).convertLinearToSRGB(),
613
613
  side: Three.DoubleSide,
@@ -649,7 +649,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
649
649
  //rotObj.translateOnAxis(uVec, 1);
650
650
  upObj.translateOnAxis(uVec, 1);
651
651
  upObj.translateY(max.y - min.y);
652
- mBox.name = 'TransformBox';
652
+ mBox.name = "TransformBox";
653
653
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
654
654
  mBox.scale.set(1.01, 1.01, 1.01);
655
655
 
@@ -678,7 +678,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
678
678
  asrtObj.add(mBox);
679
679
  asrtObj.scale.set(1 / object.scale.x, object.scale.y, 1 / object.scale.z);
680
680
  //asrtObj.translateY(newAltitude / scalevec.y);
681
- asrtObj.name = 'TransformGizmo';
681
+ asrtObj.name = "TransformGizmo";
682
682
  // add assets Objects Group
683
683
  object1.add(asrtObj);
684
684
 
@@ -691,7 +691,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
691
691
  SceneCreator.getDistances(layer);
692
692
  }, 100);
693
693
  }
694
- var flip_doorhandle = element.properties.get('flip_doorhandle');
694
+ var flip_doorhandle = element.properties.get("flip_doorhandle");
695
695
  if (flip_doorhandle) {
696
696
  SceneCreator.updateDoorHandleMesh(element, object1, true);
697
697
  }
@@ -707,14 +707,14 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
707
707
  transparency: 0.8
708
708
  });
709
709
  obj.material = material;
710
- } else if (name.startsWith('sink_')) {
710
+ } else if (name.startsWith("sink_")) {
711
711
  // texture = loadTexture('/assets/img/texture/steel.jpg');
712
712
 
713
713
  var _material;
714
714
  // Get color from name
715
- if (name.includes('black') || name.includes('white')) {
715
+ if (name.includes("black") || name.includes("white")) {
716
716
  var _color2;
717
- if (name.includes('black')) {
717
+ if (name.includes("black")) {
718
718
  _color2 = new Three.Color(0x555555).convertLinearToSRGB();
719
719
  } else {
720
720
  _color2 = 0xffffff;
@@ -747,14 +747,14 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
747
747
  var open_doors = element.toJS().properties.open_doors;
748
748
  var object_match = obj.name.match(/\d_(interior_drawer[^LR1-9]*)(_[LR1-9])?$/) || obj.name.match(matchStr);
749
749
  if (object_match && object_match.length > 2) {
750
- var isDoor = object_match[1] === 'door';
750
+ var isDoor = object_match[1] === "door";
751
751
  if (isDoor) {
752
752
  var offsetData = object1.userData.door_animate_offset[obj.name];
753
753
  // Open Door
754
- animateDoor(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
754
+ animateDoor(offsetData, obj, open_doors, element.toJS(), is_corner, "Opened2D");
755
755
  } else {
756
756
  // Open Drawer
757
- translateDrawer(element.toJS(), obj, open_doors, 'Opened2D');
757
+ translateDrawer(element.toJS(), obj, open_doors, "Opened2D");
758
758
  }
759
759
  }
760
760
  }
@@ -764,30 +764,30 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
764
764
  // keys in structure
765
765
  var keys = Object.keys(structure);
766
766
  // if exist in cached Objects
767
- if (element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
768
- var _objGroup = cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone();
767
+ if (element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
768
+ var _objGroup = cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())].clone();
769
769
  return Promise.resolve(onLoadItem(_objGroup.clone()));
770
770
  }
771
771
 
772
772
  // base Object/////
773
773
  var objGroup = null;
774
774
  var _loadGLTFs = function loadGLTFs(i) {
775
- if (keys[i] === 'animation') {
775
+ if (keys[i] === "animation") {
776
776
  // if animation info
777
777
  i++;
778
778
  return _loadGLTFs(i);
779
779
  }
780
- if (keys[i] === 'placeholders') {
780
+ if (keys[i] === "placeholders") {
781
781
  // if placeholders group
782
782
  i++;
783
783
  return _loadGLTFs(i);
784
784
  }
785
785
  if (i === keys.length) {
786
786
  // if end of keys
787
- cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = objGroup.clone(); //register to cachedObject
788
- return onLoadItem(cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone());
787
+ cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())] = objGroup.clone(); //register to cachedObject
788
+ return onLoadItem(cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())].clone());
789
789
  }
790
- if (keys[i] === 'base') {
790
+ if (keys[i] === "base") {
791
791
  // if base Objects
792
792
  i++;
793
793
  return _loadGLTFs(i);
@@ -800,15 +800,15 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
800
800
  }
801
801
  for (var j = 0; j < placeholderStructure.length; j++) {
802
802
  var phData = placeholderStructure[j];
803
- var phs = phData.split('/');
804
- var temp = phData.split('/');
803
+ var phs = phData.split("/");
804
+ var temp = phData.split("/");
805
805
  // placeholder remake////////////////
806
806
  for (var k = 0; k < phs.length; k++) {
807
807
  if (phs[k] in placeholders) {
808
808
  var placeholderphs = placeholders[phs[k]];
809
809
  var key = placeholderStructure.length / placeholderphs.length;
810
810
  phs[k] = placeholderphs[Math.floor(j / key)];
811
- var splitedData = phs[k].split('/');
811
+ var splitedData = phs[k].split("/");
812
812
  if (splitedData.length > 1) {
813
813
  phs[k] = splitedData[splitedData.length - 1];
814
814
  for (var m = splitedData.length - 2; m >= 0; m--) {
@@ -819,41 +819,41 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
819
819
  k = -1;
820
820
  continue;
821
821
  }
822
- if (phs[k].indexOf('ph') == -1) {
822
+ if (phs[k].indexOf("ph") == -1) {
823
823
  var _url = structure[temp[k - 1]];
824
- if (temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS()) in structure) {
825
- if (structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] != null) {
826
- _url = structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())];
824
+ if (temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS()) in structure) {
825
+ if (structure[temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] != null) {
826
+ _url = structure[temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())];
827
827
  }
828
828
  }
829
829
  if (_typeof(_url) == Array) _url = _url[0];
830
- var uData = _url.split('/');
830
+ var uData = _url.split("/");
831
831
  uData = uData[uData.length - 1];
832
832
  uData = uData.slice(0, -5);
833
- var datas = uData.split('_');
833
+ var datas = uData.split("_");
834
834
  uData = datas[1];
835
835
  for (var _i = 2; _i < datas.length; _i++) {
836
- uData += '_';
836
+ uData += "_";
837
837
  uData += datas[_i];
838
838
  }
839
- uData = mainName.replace('main', uData);
840
- phs[k] = 'ph_' + uData + '_' + phs[k];
839
+ uData = mainName.replace("main", uData);
840
+ phs[k] = "ph_" + uData + "_" + phs[k];
841
841
  }
842
842
  }
843
843
  phsArray.push(phs);
844
844
  }
845
845
  var url = structure[keys[i]];
846
- var normalMap = '';
847
- var urlData = url.split('/');
846
+ var normalMap = "";
847
+ var urlData = url.split("/");
848
848
  for (var _j = 0; _j < element.submodule.size; _j++) {
849
- var replaceUrlData = element.submodule.get(_j).split('/');
849
+ var replaceUrlData = element.submodule.get(_j).split("/");
850
850
  if (urlData.includes(replaceUrlData[replaceUrlData.length - 2])) {
851
851
  url = element.submodule.get(_j);
852
852
  break;
853
853
  }
854
854
  }
855
855
  for (var _j2 = 0; _j2 < element.normalMap.size; _j2++) {
856
- var normalMapData = element.normalMap.get(_j2).split('/');
856
+ var normalMapData = element.normalMap.get(_j2).split("/");
857
857
  if (urlData.includes(normalMapData[normalMapData.length - 2])) {
858
858
  normalMap = element.normalMap.get(_j2);
859
859
  break;
@@ -865,15 +865,15 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
865
865
  if (phsArray.length > 0) {
866
866
  // let loadUrl = dirName + url;
867
867
  var loadUrl = url;
868
- if (doorStyles.get(keys[i] + '_gltf') != undefined) {
869
- loadUrl = doorStyles.get(keys[i] + '_gltf');
870
- structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = loadUrl;
868
+ if (doorStyles.get(keys[i] + "_gltf") != undefined) {
869
+ loadUrl = doorStyles.get(keys[i] + "_gltf");
870
+ structure[keys[i] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] = loadUrl;
871
871
  } else {
872
- structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = null;
872
+ structure[keys[i] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] = null;
873
873
  }
874
874
  return loadGLTF(loadUrl).then(function (object) {
875
- if (normalMap !== '') {
876
- var normalUrl = normalMap.split('.')[0] + '-normal.' + normalMap.split('.')[1];
875
+ if (normalMap !== "") {
876
+ var normalUrl = normalMap.split(".")[0] + "-normal." + normalMap.split(".")[1];
877
877
  var t = loadTexture(normalMap);
878
878
  var _m = loadTexture(normalUrl);
879
879
  var mat2 = new Three.MeshStandardMaterial({
@@ -897,7 +897,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
897
897
  // let normalMap = "catalog/items/doorstyle/" + doorStyles.get(keys[i]);
898
898
  var _normalMap = doorStyles.get(keys[i]) || INITIAL_NORMAL_MAP;
899
899
  var _mat;
900
- if (_normalMap === '') {
900
+ if (_normalMap === "") {
901
901
  var examplecolor = new Three.Color(parseInt(color.slice(1), 16)).convertLinearToSRGB();
902
902
  _mat = new Three.MeshStandardMaterial({
903
903
  color: examplecolor,
@@ -921,8 +921,8 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
921
921
  object.children[_j4].material = _mat;
922
922
  object.children[_j4].receiveShadow = true;
923
923
  object.children[_j4].castShadow = true;
924
- !object.children[_j4].name.includes('handle') && addEdgesToMesh(object.children[_j4]);
925
- } else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === OBJTYPE_GROUP) {
924
+ !object.children[_j4].name.includes("handle") && addEdgesToMesh(object.children[_j4]);
925
+ } else if (!object.children[_j4].name.startsWith("ph_") && object.children[_j4].type === OBJTYPE_GROUP) {
926
926
  object.children[_j4].traverse(function (prim) {
927
927
  prim.material = _mat;
928
928
  prim.receiveShadow = true;
@@ -962,10 +962,10 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
962
962
  } else {
963
963
  if (parent.children[_k].name == placeholder) {
964
964
  var tmp = object.clone();
965
- if (placeholder.includes('drawer_door') && placeholder.includes('_handle')) {
965
+ if (placeholder.includes("drawer_door") && placeholder.includes("_handle")) {
966
966
  tmp.rotateZ(Math.PI / 2);
967
967
  }
968
- if (placeholder.includes('_handle') && tmp.children[0].type === OBJTYPE_MESH) {
968
+ if (placeholder.includes("_handle") && tmp.children[0].type === OBJTYPE_MESH) {
969
969
  // NOTE: change metalness of handle
970
970
  tmp.children[0].material.metalness = 1;
971
971
  // handleMaterial.metalness || 0.2;
@@ -979,25 +979,25 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
979
979
  }
980
980
  }
981
981
  }, function (reason) {
982
- console.log('loadGLTF failed for reason:', reason);
982
+ console.log("loadGLTF failed for reason:", reason);
983
983
  }).then(function () {
984
984
  i++;
985
985
  return _loadGLTFs(i);
986
986
  });
987
987
  }
988
988
  };
989
- return loadGLTF(structure['base']).then(function (object) {
990
- object.name = 'MainObject';
989
+ return loadGLTF(structure["base"]).then(function (object) {
990
+ object.name = "MainObject";
991
991
  object.receiveShadow = true;
992
992
  objGroup = object;
993
993
  if (!isEmpty(doorStyles)) {
994
- var normalMap = doorStyles.get('base') || INITIAL_NORMAL_MAP;
994
+ var normalMap = doorStyles.get("base") || INITIAL_NORMAL_MAP;
995
995
  if (counterTop.uri === undefined) {
996
996
  try {
997
997
  counterTop = counterTop.toJS();
998
998
  } catch (error) {
999
999
  //@todo THIS IS A TEMPORARY FIX FOR COUNTERTOP TEXTURE UNDEFINED ISSUE
1000
- counterTop.uri = 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg';
1000
+ counterTop.uri = "https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg";
1001
1001
  console.log(error);
1002
1002
  }
1003
1003
  }
@@ -1005,7 +1005,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
1005
1005
  counterTop.uri = layer.toJS().counterTop.uri;
1006
1006
  }
1007
1007
  var countTopMap = counterTop.uri;
1008
- var interiorMap = doorStyles.get('interior');
1008
+ var interiorMap = doorStyles.get("interior");
1009
1009
  var countT = loadTexture(countTopMap);
1010
1010
  countT.wrapS = Three.RepeatWrapping;
1011
1011
  countT.wrapT = Three.RepeatWrapping;
@@ -1014,7 +1014,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
1014
1014
  var mat2 = null,
1015
1015
  mat3 = null,
1016
1016
  mat4 = null;
1017
- if (normalMap === '') {
1017
+ if (normalMap === "") {
1018
1018
  mat2 = new Three.MeshStandardMaterial({
1019
1019
  color: examplecolor,
1020
1020
  metalness: glossness === 1 ? params.metalness : params.metalness_glossy,
@@ -1031,11 +1031,11 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
1031
1031
  }
1032
1032
  // mat2.envMap = textureCube;
1033
1033
 
1034
- if (normalMap !== '') {
1034
+ if (normalMap !== "") {
1035
1035
  var t = loadTexture(normalMap);
1036
1036
  mat2.map = t;
1037
1037
  }
1038
- if (normalMap === '') {
1038
+ if (normalMap === "") {
1039
1039
  mat3 = new Three.MeshStandardMaterial({
1040
1040
  // color: examplecolor,
1041
1041
  metalness: counterTop.metalness,
@@ -1057,13 +1057,13 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
1057
1057
  });
1058
1058
  mat4.map = loadTexture(interiorMap);
1059
1059
  for (var j = 0; j < object.children.length; j++) {
1060
- if (object.children[j].name.includes('main')) {}
1061
- if (object.children[j].name.includes('countertop')) {
1060
+ if (object.children[j].name.includes("main")) {}
1061
+ if (object.children[j].name.includes("countertop")) {
1062
1062
  object.children[j].material = mat3;
1063
1063
  object.children[j].receiveShadow = true;
1064
1064
  object.children[j].castShadow = true;
1065
1065
  addEdgesToMesh(object.children[j]);
1066
- } else if (object.children[j].name.includes('_interior_')) {
1066
+ } else if (object.children[j].name.includes("_interior_")) {
1067
1067
  object.children[j].material = mat4;
1068
1068
  } else if (object.children[j].type === OBJTYPE_MESH) {
1069
1069
  object.children[j].material = mat2;
@@ -1073,7 +1073,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
1073
1073
  }
1074
1074
  }
1075
1075
  }, function (reason) {
1076
- console.log('loadGLTF failed for reason:', reason);
1076
+ console.log("loadGLTF failed for reason:", reason);
1077
1077
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1078
1078
  }).then(function () {
1079
1079
  return _loadGLTFs(0);
@@ -1087,18 +1087,18 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1087
1087
  var applianceMaterial = element.applianceMaterial;
1088
1088
  if (applianceMaterial.metalness == undefined) applianceMaterial = applianceMaterial.toJS();
1089
1089
  var onLoadItem = function onLoadItem(object) {
1090
- var newAltitude = element.properties.get('altitude').get('_length');
1091
- var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1090
+ var newAltitude = element.properties.get("altitude").get("_length");
1091
+ var newUnit = element.properties.get("altitude").get("_unit") || "in";
1092
1092
  newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
1093
- var newWidth = element.properties.get('width').get('_length');
1094
- var newWidthUnit = element.properties.get('width').get('_unit') || 'in';
1095
- newWidth = convert(newWidth).from(newWidthUnit).to('in');
1096
- var newHeight = element.properties.get('height').get('_length');
1097
- var newHeightUnit = element.properties.get('height').get('_unit') || 'in';
1098
- newHeight = convert(newHeight).from(newHeightUnit).to('in');
1099
- var newDepth = element.properties.get('depth').get('_length');
1100
- var newDepthUnit = element.properties.get('depth').get('_unit') || 'in';
1101
- newDepth = convert(newDepth).from(newDepthUnit).to('in');
1093
+ var newWidth = element.properties.get("width").get("_length");
1094
+ var newWidthUnit = element.properties.get("width").get("_unit") || "in";
1095
+ newWidth = convert(newWidth).from(newWidthUnit).to("in");
1096
+ var newHeight = element.properties.get("height").get("_length");
1097
+ var newHeightUnit = element.properties.get("height").get("_unit") || "in";
1098
+ newHeight = convert(newHeight).from(newHeightUnit).to("in");
1099
+ var newDepth = element.properties.get("depth").get("_length");
1100
+ var newDepthUnit = element.properties.get("depth").get("_unit") || "in";
1101
+ newDepth = convert(newDepth).from(newDepthUnit).to("in");
1102
1102
  object.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
1103
1103
  // Normalize the origin of the object
1104
1104
  var boundingBox = new Three.Box3().setFromObject(object);
@@ -1113,16 +1113,16 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1113
1113
  var name = obj.name;
1114
1114
  var texture,
1115
1115
  textureLoader = new Three.TextureLoader();
1116
- if (name.includes('_black')) {
1116
+ if (name.includes("_black")) {
1117
1117
  obj.material.roughness = 0.4;
1118
1118
  obj.material.metalness = 1.0;
1119
1119
  obj.material.color = new Three.Color(0, 0, 0);
1120
1120
  obj.castShadow = true;
1121
1121
  obj.receiveShadow = true;
1122
1122
  return object;
1123
- } else if (name.includes('_wood')) {
1124
- texture = loadTexture('/assets/img/texture/wood.jpg');
1125
- } else if (name.includes('_glass')) {
1123
+ } else if (name.includes("_wood")) {
1124
+ texture = loadTexture("/assets/img/texture/wood.jpg");
1125
+ } else if (name.includes("_glass")) {
1126
1126
  // texture = loadTexture('/assets/img/texture/glass.jpg');
1127
1127
  var material = new Three.MeshPhysicalMaterial({
1128
1128
  transparent: true,
@@ -1137,7 +1137,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1137
1137
  obj.castShadow = true;
1138
1138
  obj.receiveShadow = true;
1139
1139
  return object;
1140
- } else if (name.includes('_steel')) {
1140
+ } else if (name.includes("_steel")) {
1141
1141
  // texture = loadTexture('/assets/img/texture/steel.jpg');
1142
1142
  var _material2 = new Three.MeshPhysicalMaterial({
1143
1143
  roughness: 0.2,
@@ -1187,16 +1187,16 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1187
1187
  // vertical line - 4 lines around object//////////////////////////
1188
1188
  var vLineGeom = new Three.BufferGeometry();
1189
1189
  var vertices = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z + 1.3];
1190
- vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
1190
+ vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
1191
1191
  var vLineGeom1 = new Three.BufferGeometry();
1192
1192
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
1193
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
1193
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
1194
1194
  var vLineGeom2 = new Three.BufferGeometry();
1195
1195
  var vertices2 = [max.x, 0, max.z - (max.z - min.z) / 2, max.x + 1.3, 0, max.z - (max.z - min.z) / 2];
1196
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
1196
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
1197
1197
  var vLineGeom3 = new Three.BufferGeometry();
1198
1198
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
1199
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
1199
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
1200
1200
  // ///////////////////////////////////////
1201
1201
 
1202
1202
  // set names of transform object
@@ -1209,12 +1209,12 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1209
1209
  color: 0xffffff,
1210
1210
  colorWrite: true
1211
1211
  }));
1212
- rotFillObj.name = 'rotate';
1212
+ rotFillObj.name = "rotate";
1213
1213
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
1214
1214
  color: 0xffffff,
1215
1215
  side: Three.DoubleSide
1216
1216
  }));
1217
- upObj.name = 'transUp';
1217
+ upObj.name = "transUp";
1218
1218
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
1219
1219
  color: new Three.Color(0xdd6699).convertLinearToSRGB(),
1220
1220
  side: Three.DoubleSide,
@@ -1254,7 +1254,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1254
1254
  vLine3.translateY(0.1);
1255
1255
  upObj.translateOnAxis(uVec, 1);
1256
1256
  upObj.translateY(max.y - min.y + 0.05);
1257
- mBox.name = 'TransformBox';
1257
+ mBox.name = "TransformBox";
1258
1258
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
1259
1259
  mBox.scale.set(1.01, 1.01, 1.01);
1260
1260
 
@@ -1282,7 +1282,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1282
1282
  asrtObj.add(mBox);
1283
1283
  asrtObj.scale.set(1 / object.scale.x, object.scale.y, 1 / object.scale.z);
1284
1284
  // asrtObj.translateY(newAltitude / scalevec.y);
1285
- asrtObj.name = 'TransformGizmo';
1285
+ asrtObj.name = "TransformGizmo";
1286
1286
  // add assets Objects Group
1287
1287
  object.add(asrtObj);
1288
1288
 
@@ -1312,7 +1312,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1312
1312
  cachedObject[element.type] = objGroup.clone(); //register to cachedObject
1313
1313
  return onLoadItem(cachedObject[element.type].clone());
1314
1314
  }
1315
- if (keys[i] === 'base') {
1315
+ if (keys[i] === "base") {
1316
1316
  // if base Objects
1317
1317
  i++;
1318
1318
  return _loadGLTFs2(i);
@@ -1321,13 +1321,13 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1321
1321
 
1322
1322
  // load base to start //
1323
1323
  // return loadGLTF(dirName + structure["base"])
1324
- return loadGLTF(structure['base']).then(function (object) {
1324
+ return loadGLTF(structure["base"]).then(function (object) {
1325
1325
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1326
1326
  // let texture = loadTexture(textureURL);
1327
1327
  // texture.wrapS = Three.MirroredRepeatWrapping;
1328
1328
  // texture.wrapT = Three.MirroredRepeatWrapping;
1329
1329
 
1330
- object.name = 'MainObject';
1330
+ object.name = "MainObject";
1331
1331
  // NOTE: changed appliance emissive color to black
1332
1332
  var mat2 = new Three.MeshStandardMaterial({
1333
1333
  emissive: new Three.Color(0x0d0d0d).convertLinearToSRGB(),
@@ -1345,7 +1345,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
1345
1345
  }
1346
1346
  objGroup = object;
1347
1347
  }, function (reason) {
1348
- console.log('loadGLTF failed for reason:', reason);
1348
+ console.log("loadGLTF failed for reason:", reason);
1349
1349
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1350
1350
  }).then(function () {
1351
1351
  return _loadGLTFs2(0);
@@ -1358,21 +1358,21 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1358
1358
  var onLoadItem = function onLoadItem(object) {
1359
1359
  var width = {
1360
1360
  length: sizeinfo.width,
1361
- unit: 'in'
1361
+ unit: "in"
1362
1362
  };
1363
1363
  var depth = {
1364
1364
  length: sizeinfo.depth,
1365
- unit: 'in'
1365
+ unit: "in"
1366
1366
  };
1367
1367
  var height = {
1368
1368
  length: sizeinfo.height,
1369
- unit: 'in'
1369
+ unit: "in"
1370
1370
  };
1371
- var newWidth = convert(width.length).from(width.unit).to('cm');
1372
- var newDepth = convert(depth.length).from(depth.unit).to('cm');
1373
- var newHeight = convert(height.length).from(height.unit).to('cm');
1374
- var newAltitude = element.properties.get('altitude').get('_length');
1375
- var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1371
+ var newWidth = convert(width.length).from(width.unit).to("cm");
1372
+ var newDepth = convert(depth.length).from(depth.unit).to("cm");
1373
+ var newHeight = convert(height.length).from(height.unit).to("cm");
1374
+ var newAltitude = element.properties.get("altitude").get("_length");
1375
+ var newUnit = element.properties.get("altitude").get("_unit") || "in";
1376
1376
  newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
1377
1377
 
1378
1378
  //object.scale.set(newWidth, newHeight, newDepth);
@@ -1419,16 +1419,16 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1419
1419
  // vertical line - 4 lines around object//////////////////////////
1420
1420
  var vLineGeom = new Three.BufferGeometry();
1421
1421
  var vertices = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z + 1.3];
1422
- vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
1422
+ vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
1423
1423
  var vLineGeom1 = new Three.BufferGeometry();
1424
1424
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
1425
- vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
1425
+ vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
1426
1426
  var vLineGeom2 = new Three.BufferGeometry();
1427
1427
  var vertices2 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x + 1.3, 0, max.z - (max.z - min.z) / 2];
1428
- vLineGeom2.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
1428
+ vLineGeom2.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
1429
1429
  var vLineGeom3 = new Three.BufferGeometry();
1430
1430
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
1431
- vLineGeom3.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
1431
+ vLineGeom3.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
1432
1432
  // ///////////////////////////////////////
1433
1433
 
1434
1434
  // set names of transform object
@@ -1441,12 +1441,12 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1441
1441
  color: 0xffffff,
1442
1442
  colorWrite: true
1443
1443
  }));
1444
- rotFillObj.name = 'rotate';
1444
+ rotFillObj.name = "rotate";
1445
1445
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
1446
1446
  color: 0xffffff,
1447
1447
  side: Three.DoubleSide
1448
1448
  }));
1449
- upObj.name = 'transUp';
1449
+ upObj.name = "transUp";
1450
1450
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
1451
1451
  color: 0xdd6699,
1452
1452
  side: Three.DoubleSide,
@@ -1488,7 +1488,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1488
1488
  //rotObj.translateOnAxis(uVec, 1);
1489
1489
  upObj.translateOnAxis(uVec, 1);
1490
1490
  upObj.translateY(max.y - min.y);
1491
- mBox.name = 'TransformBox';
1491
+ mBox.name = "TransformBox";
1492
1492
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
1493
1493
  mBox.scale.set(1.01, 1.01, 1.01);
1494
1494
 
@@ -1517,7 +1517,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1517
1517
  asrtObj.add(mBox);
1518
1518
  asrtObj.scale.set(1, 1, 1);
1519
1519
  //asrtObj.translateY(newAltitude / scalevec.y);
1520
- asrtObj.name = 'TransformGizmo';
1520
+ asrtObj.name = "TransformGizmo";
1521
1521
  // add assets Objects Group
1522
1522
  object.add(asrtObj);
1523
1523
 
@@ -1550,7 +1550,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1550
1550
  cachedObject[element.type] = objGroup.clone(); //register to cachedObject
1551
1551
  return onLoadItem(cachedObject[element.type].clone());
1552
1552
  }
1553
- if (keys[i] === 'base') {
1553
+ if (keys[i] === "base") {
1554
1554
  // if base Objects
1555
1555
  i++;
1556
1556
  return _loadGLTFs3(i);
@@ -1559,13 +1559,13 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1559
1559
 
1560
1560
  // load base to start //
1561
1561
  // return loadGLTF(dirName + structure["base"])
1562
- return loadGLTF(structure['base']).then(function (object) {
1562
+ return loadGLTF(structure["base"]).then(function (object) {
1563
1563
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1564
1564
  // let texture = loadTexture(textureURL);
1565
1565
  // texture.wrapS = Three.MirroredRepeatWrapping;
1566
1566
  // texture.wrapT = Three.MirroredRepeatWrapping;
1567
1567
 
1568
- object.name = 'MainObject';
1568
+ object.name = "MainObject";
1569
1569
  var mat2 = new Three.MeshStandardMaterial({
1570
1570
  emissive: new Three.Color(0x666666).convertLinearToSRGB(),
1571
1571
  metalness: 0.7,
@@ -1581,7 +1581,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
1581
1581
  }
1582
1582
  objGroup = object;
1583
1583
  }, function (reason) {
1584
- console.log('loadGLTF failed for reason:', reason);
1584
+ console.log("loadGLTF failed for reason:", reason);
1585
1585
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1586
1586
  }).then(function () {
1587
1587
  return _loadGLTFs3(0);