kitchen-simulator 3.0.3 → 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.
- package/es/LiteKitchenConfigurator.js +42 -9
- package/es/LiteRenderer.js +5 -8
- package/es/actions/lines-actions.js +3 -1
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/catalog/factories/area-factory-3d.js +17 -17
- package/es/catalog/holes/window-clear/planner-element.js +2 -2
- package/es/catalog/utils/item-loader.js +198 -197
- package/es/class/item.js +8 -0
- package/es/class/line.js +14 -2
- package/es/components/viewer2d/item.js +36 -12
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/viewer2d.js +12 -10
- package/es/components/viewer3d/viewer3d.js +66 -74
- package/es/constants.js +6 -2
- package/es/devLiteRenderer.js +192 -98
- package/es/index.js +82 -13
- package/es/reducers/lines-reducer.js +1 -1
- package/es/utils/geometry.js +161 -0
- package/es/utils/isolate-event-handler.js +268 -114
- package/es/utils/molding.js +234 -2
- package/lib/LiteKitchenConfigurator.js +42 -9
- package/lib/LiteRenderer.js +5 -8
- package/lib/actions/lines-actions.js +3 -1
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/catalog/factories/area-factory-3d.js +14 -14
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/utils/item-loader.js +195 -194
- package/lib/class/item.js +8 -0
- package/lib/class/line.js +13 -1
- package/lib/components/viewer2d/item.js +36 -12
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/viewer2d.js +12 -10
- package/lib/components/viewer3d/viewer3d.js +66 -74
- package/lib/constants.js +11 -7
- package/lib/devLiteRenderer.js +186 -92
- package/lib/index.js +82 -13
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/utils/geometry.js +162 -0
- package/lib/utils/isolate-event-handler.js +267 -113
- package/lib/utils/molding.js +233 -0
- 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:
|
|
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:
|
|
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:
|
|
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:
|
|
58
|
-
thumbnail:
|
|
57
|
+
name: "Edit",
|
|
58
|
+
thumbnail: "/assets/img/svg/3d_item_warning_edit.svg"
|
|
59
59
|
}, {
|
|
60
|
-
name:
|
|
61
|
-
thumbnail:
|
|
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 =
|
|
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(
|
|
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 =
|
|
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 =
|
|
98
|
+
el_DSN = "el_DSN";
|
|
99
99
|
}
|
|
100
|
-
if (el_DSN ===
|
|
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(
|
|
105
|
-
var tempDepth = element.properties.get(
|
|
104
|
+
var tempWidth = element.properties.get("width");
|
|
105
|
+
var tempDepth = element.properties.get("depth");
|
|
106
106
|
width = tempWidth && {
|
|
107
|
-
length: tempWidth.get(
|
|
108
|
-
unit: tempWidth.get(
|
|
107
|
+
length: tempWidth.get("_length"),
|
|
108
|
+
unit: tempWidth.get("_unit")
|
|
109
109
|
};
|
|
110
110
|
depth = tempDepth && {
|
|
111
|
-
length: tempDepth.get(
|
|
112
|
-
unit: tempDepth.get(
|
|
111
|
+
length: tempDepth.get("_length"),
|
|
112
|
+
unit: tempDepth.get("_unit")
|
|
113
113
|
};
|
|
114
|
-
var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from(
|
|
115
|
-
var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from(
|
|
116
|
-
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to(
|
|
117
|
-
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to(
|
|
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 =
|
|
124
|
+
var color = "#eee";
|
|
125
125
|
if (layoutpos == _constants.BASE_CABINET_LAYOUTPOS) {
|
|
126
|
-
color =
|
|
126
|
+
color = "#3f8db3";
|
|
127
127
|
}
|
|
128
128
|
if (layoutpos == _constants.TALL_CABINET_LAYOUTPOS) {
|
|
129
|
-
color =
|
|
129
|
+
color = "#93b3be";
|
|
130
130
|
}
|
|
131
131
|
if (layoutpos == _constants.WALL_CABINET_LAYOUTPOS) {
|
|
132
|
-
color =
|
|
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(
|
|
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:
|
|
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:
|
|
176
|
-
textAnchor:
|
|
177
|
-
fill:
|
|
178
|
-
display:
|
|
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 ?
|
|
184
|
-
strokeWidth:
|
|
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 ==
|
|
193
|
-
if (el_DSN ===
|
|
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:
|
|
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(
|
|
226
|
-
document.getElementById(
|
|
227
|
-
document.getElementById(
|
|
228
|
-
document.getElementById(
|
|
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(
|
|
233
|
-
document.getElementById(
|
|
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:
|
|
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:
|
|
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:
|
|
311
|
+
visibility: "hidden",
|
|
312
312
|
style: {
|
|
313
|
-
pointerEvents:
|
|
313
|
+
pointerEvents: "all",
|
|
314
314
|
opacity: 0.7,
|
|
315
|
-
postion:
|
|
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 ===
|
|
320
|
-
visibility: (0, _utils.isWarningItem)(element) ?
|
|
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(
|
|
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([
|
|
413
|
-
element = element.setIn([
|
|
414
|
-
element = element.setIn([
|
|
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:
|
|
419
|
+
unit: "in"
|
|
420
420
|
};
|
|
421
421
|
var depth = {
|
|
422
422
|
length: sizeinfo.depth,
|
|
423
|
-
unit:
|
|
423
|
+
unit: "in"
|
|
424
424
|
};
|
|
425
425
|
var height = {
|
|
426
426
|
length: sizeinfo.height,
|
|
427
|
-
unit:
|
|
427
|
+
unit: "in"
|
|
428
428
|
};
|
|
429
|
-
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to(
|
|
430
|
-
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to(
|
|
431
|
-
var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to(
|
|
432
|
-
var mainName =
|
|
433
|
-
if (element.properties.get(
|
|
434
|
-
if (element.properties.get(
|
|
435
|
-
if (element.properties.get(
|
|
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 =
|
|
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 (
|
|
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(
|
|
456
|
-
color = element.doorStyle.get(
|
|
457
|
-
glossness = element.doorStyle.get(
|
|
458
|
-
handleMaterial.metalness = element.doorStyle.get(
|
|
459
|
-
handleMaterial.roughness = element.doorStyle.get(
|
|
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 =
|
|
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(
|
|
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(
|
|
491
|
-
var newUnit = element.properties.get(
|
|
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 ?
|
|
509
|
-
if (door_match[2] ===
|
|
510
|
-
rotate_match_text = element.properties.toJS().flip_doorhandle ?
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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(
|
|
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(
|
|
729
|
+
if (name.includes("black") || name.includes("white")) {
|
|
729
730
|
var _color2;
|
|
730
|
-
if (name.includes(
|
|
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] ===
|
|
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,
|
|
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,
|
|
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 +
|
|
781
|
-
var _objGroup = cachedObject[element.type + color +
|
|
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] ===
|
|
789
|
+
if (keys[i] === "animation") {
|
|
789
790
|
// if animation info
|
|
790
791
|
i++;
|
|
791
792
|
return _loadGLTFs(i);
|
|
792
793
|
}
|
|
793
|
-
if (keys[i] ===
|
|
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 +
|
|
801
|
-
return onLoadItem(cachedObject[element.type + color +
|
|
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] ===
|
|
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(
|
|
836
|
+
if (phs[k].indexOf("ph") == -1) {
|
|
836
837
|
var _url = structure[temp[k - 1]];
|
|
837
|
-
if (temp[k - 1] +
|
|
838
|
-
if (structure[temp[k - 1] +
|
|
839
|
-
_url = structure[temp[k - 1] +
|
|
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(
|
|
853
|
-
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] +
|
|
882
|
-
loadUrl = doorStyles.get(keys[i] +
|
|
883
|
-
structure[keys[i] +
|
|
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] +
|
|
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(
|
|
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(
|
|
938
|
-
} else if (!object.children[_j4].name.startsWith(
|
|
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(
|
|
979
|
+
if (placeholder.includes("drawer_door") && placeholder.includes("_handle")) {
|
|
979
980
|
tmp.rotateZ(Math.PI / 2);
|
|
980
981
|
}
|
|
981
|
-
if (placeholder.includes(
|
|
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(
|
|
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[
|
|
1003
|
-
object.name =
|
|
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(
|
|
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 =
|
|
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(
|
|
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(
|
|
1074
|
-
if (object.children[j].name.includes(
|
|
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(
|
|
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(
|
|
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(
|
|
1104
|
-
var newUnit = element.properties.get(
|
|
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(
|
|
1107
|
-
var newWidthUnit = element.properties.get(
|
|
1108
|
-
newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to(
|
|
1109
|
-
var newHeight = element.properties.get(
|
|
1110
|
-
var newHeightUnit = element.properties.get(
|
|
1111
|
-
newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to(
|
|
1112
|
-
var newDepth = element.properties.get(
|
|
1113
|
-
var newDepthUnit = element.properties.get(
|
|
1114
|
-
newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to(
|
|
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(
|
|
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(
|
|
1137
|
-
texture = loadTexture(
|
|
1138
|
-
} else if (name.includes(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] ===
|
|
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[
|
|
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 =
|
|
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(
|
|
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:
|
|
1375
|
+
unit: "in"
|
|
1375
1376
|
};
|
|
1376
1377
|
var depth = {
|
|
1377
1378
|
length: sizeinfo.depth,
|
|
1378
|
-
unit:
|
|
1379
|
+
unit: "in"
|
|
1379
1380
|
};
|
|
1380
1381
|
var height = {
|
|
1381
1382
|
length: sizeinfo.height,
|
|
1382
|
-
unit:
|
|
1383
|
+
unit: "in"
|
|
1383
1384
|
};
|
|
1384
|
-
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to(
|
|
1385
|
-
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to(
|
|
1386
|
-
var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to(
|
|
1387
|
-
var newAltitude = element.properties.get(
|
|
1388
|
-
var newUnit = element.properties.get(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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] ===
|
|
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[
|
|
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 =
|
|
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(
|
|
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);
|