kitchen-simulator 1.1.1-test.71 → 1.1.1-test.72
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/@history.js +5 -2
- package/es/AppContext.js +6 -3
- package/es/KitchenConfigurator.js +86 -87
- package/es/KitchenConfiguratorApp.js +128 -135
- package/es/actions/area-actions.js +8 -5
- package/es/actions/export.js +24 -12
- package/es/actions/groups-actions.js +41 -27
- package/es/actions/holes-actions.js +51 -34
- package/es/actions/items-actions.js +141 -94
- package/es/actions/lines-actions.js +32 -21
- package/es/actions/project-actions.js +141 -94
- package/es/actions/scene-actions.js +17 -11
- package/es/actions/vertices-actions.js +11 -7
- package/es/actions/viewer2d-actions.js +32 -21
- package/es/actions/viewer3d-actions.js +14 -9
- package/es/catalog/areas/area/planner-element.js +5 -2
- package/es/catalog/catalog.js +17 -15
- package/es/catalog/factories/area-factory-3d.js +26 -22
- package/es/catalog/factories/area-factory.js +15 -13
- package/es/catalog/factories/export.js +10 -6
- package/es/catalog/factories/wall-factory-3d.js +36 -31
- package/es/catalog/factories/wall-factory.js +26 -21
- package/es/catalog/holes/door-closet/planner-element.js +19 -15
- package/es/catalog/holes/door-double/planner-element.js +19 -15
- package/es/catalog/holes/door-exterior/planner-element.js +20 -16
- package/es/catalog/holes/door-interior/planner-element.js +20 -16
- package/es/catalog/holes/door-panic/planner-element.js +11 -7
- package/es/catalog/holes/door-panic-double/planner-element.js +19 -15
- package/es/catalog/holes/door-sliding/planner-element.js +21 -17
- package/es/catalog/holes/doorway-framed/planner-element.js +15 -11
- package/es/catalog/holes/doorway-frameless/planner-element.js +11 -7
- package/es/catalog/holes/export.js +29 -13
- package/es/catalog/holes/window-clear/planner-element.js +14 -10
- package/es/catalog/holes/window-cross/planner-element.js +14 -10
- package/es/catalog/holes/window-double-hung/planner-element.js +14 -10
- package/es/catalog/holes/window-vertical/planner-element.js +14 -10
- package/es/catalog/lines/wall/planner-element.js +5 -2
- package/es/catalog/molding/molding-dcm/planner-element.js +9 -5
- package/es/catalog/molding/molding-fbm/planner-element.js +9 -5
- package/es/catalog/molding/molding-lrm/planner-element.js +9 -5
- package/es/catalog/properties/export.js +31 -20
- package/es/catalog/properties/property-checkbox.js +29 -28
- package/es/catalog/properties/property-color.js +19 -16
- package/es/catalog/properties/property-enum.js +27 -24
- package/es/catalog/properties/property-hidden.js +12 -9
- package/es/catalog/properties/property-lenght-measure.js +41 -38
- package/es/catalog/properties/property-length-measure.js +39 -36
- package/es/catalog/properties/property-length-measure_hole.js +41 -38
- package/es/catalog/properties/property-number.js +20 -17
- package/es/catalog/properties/property-read-only.js +19 -16
- package/es/catalog/properties/property-string.js +19 -16
- package/es/catalog/properties/property-toggle.js +19 -16
- package/es/catalog/properties/shared-property-style.js +3 -1
- package/es/catalog/utils/FuseUtils.js +13 -12
- package/es/catalog/utils/exporter.js +11 -10
- package/es/catalog/utils/geom-utils.js +24 -13
- package/es/catalog/utils/item-loader.js +92 -86
- package/es/catalog/utils/load-obj.js +24 -20
- package/es/catalog/utils/mtl-loader.js +4 -3
- package/es/catalog/utils/obj-loader.js +4 -3
- package/es/class/FuseUtils.js +13 -12
- package/es/class/area.js +24 -24
- package/es/class/export.js +36 -23
- package/es/class/group.js +55 -53
- package/es/class/guide.js +17 -15
- package/es/class/hole.js +85 -83
- package/es/class/item.js +155 -155
- package/es/class/layer.js +61 -59
- package/es/class/line.js +138 -135
- package/es/class/project.js +94 -93
- package/es/class/vertex.js +31 -29
- package/es/components/content.js +23 -19
- package/es/components/disclaimer/disclaimer.js +13 -10
- package/es/components/export.js +13 -8
- package/es/components/style/button.js +25 -25
- package/es/components/style/cancel-button.js +10 -7
- package/es/components/style/content-container.js +12 -11
- package/es/components/style/content-title.js +15 -13
- package/es/components/style/delete-button.js +12 -8
- package/es/components/style/export.js +46 -30
- package/es/components/style/form-block.js +11 -10
- package/es/components/style/form-color-input.js +10 -7
- package/es/components/style/form-label.js +11 -10
- package/es/components/style/form-number-input.js +43 -45
- package/es/components/style/form-number-input_2.js +39 -41
- package/es/components/style/form-select.js +20 -19
- package/es/components/style/form-slider.js +13 -10
- package/es/components/style/form-submit-button.js +12 -8
- package/es/components/style/form-text-input.js +28 -30
- package/es/components/viewer2d/area.js +20 -17
- package/es/components/viewer2d/export.js +46 -30
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +13 -10
- package/es/components/viewer2d/grids/grid-streak.js +13 -10
- package/es/components/viewer2d/grids/grid-vertical-streak.js +13 -10
- package/es/components/viewer2d/grids/grids.js +14 -10
- package/es/components/viewer2d/group.js +19 -15
- package/es/components/viewer2d/item.js +65 -61
- package/es/components/viewer2d/layer.js +26 -23
- package/es/components/viewer2d/line.js +106 -101
- package/es/components/viewer2d/ruler.js +25 -22
- package/es/components/viewer2d/rulerDist.js +24 -21
- package/es/components/viewer2d/rulerX.js +44 -46
- package/es/components/viewer2d/rulerY.js +42 -44
- package/es/components/viewer2d/scene.js +34 -35
- package/es/components/viewer2d/snap.js +17 -13
- package/es/components/viewer2d/state.js +22 -18
- package/es/components/viewer2d/utils.js +33 -24
- package/es/components/viewer2d/vertex.js +12 -8
- package/es/components/viewer2d/viewer2d.js +159 -156
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +19 -21
- package/es/components/viewer3d/dcm.js +3 -1
- package/es/components/viewer3d/fbm.js +3 -1
- package/es/components/viewer3d/front3D.js +16 -12
- package/es/components/viewer3d/grid-creator.js +12 -8
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +9 -6
- package/es/components/viewer3d/grids/grid-streak.js +8 -5
- package/es/components/viewer3d/grids/grid-vertical-streak.js +9 -6
- package/es/components/viewer3d/libs/first-person-controls.js +5 -2
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +3 -1
- package/es/components/viewer3d/libs/mtl-loader.js +3 -1
- package/es/components/viewer3d/libs/obj-loader.js +3 -1
- package/es/components/viewer3d/libs/orbit-controls.js +4 -2
- package/es/components/viewer3d/libs/pointer-lock-controls.js +4 -2
- package/es/components/viewer3d/lrm.js +3 -1
- package/es/components/viewer3d/model.js +3 -1
- package/es/components/viewer3d/pointer-lock-navigation.js +6 -3
- package/es/components/viewer3d/ruler-utils/itemRect.js +21 -18
- package/es/components/viewer3d/ruler-utils/layer3D.js +62 -59
- package/es/components/viewer3d/ruler-utils/ruler3D.js +43 -42
- package/es/components/viewer3d/ruler-utils/scene3D.js +13 -9
- package/es/components/viewer3d/ruler-utils/state3D.js +7 -4
- package/es/components/viewer3d/scene-creator.js +223 -197
- package/es/components/viewer3d/three-memory-cleaner.js +7 -3
- package/es/components/viewer3d/viewer3d-first-person.js +42 -42
- package/es/components/viewer3d/viewer3d.js +198 -200
- package/es/constants.js +354 -349
- package/es/index.js +11 -7
- package/es/models.js +191 -193
- package/es/plugins/SVGLoader.js +49 -48
- package/es/plugins/autosave.js +5 -3
- package/es/plugins/console-debugger.js +7 -6
- package/es/plugins/export.js +13 -8
- package/es/plugins/keyboard.js +31 -29
- package/es/reducers/areas-reducer.js +9 -7
- package/es/reducers/export.js +37 -24
- package/es/reducers/groups-reducer.js +33 -31
- package/es/reducers/holes-reducer.js +45 -43
- package/es/reducers/items-reducer.js +108 -106
- package/es/reducers/lines-reducer.js +30 -28
- package/es/reducers/project-reducer.js +107 -105
- package/es/reducers/reducer.js +19 -16
- package/es/reducers/scene-reducer.js +17 -15
- package/es/reducers/user-reducer.js +7 -5
- package/es/reducers/vertices-reducer.js +13 -11
- package/es/reducers/viewer2d-reducer.js +20 -18
- package/es/reducers/viewer3d-reducer.js +18 -16
- package/es/shared-style.js +12 -10
- package/es/styles/export.js +6 -3
- package/es/translator/en.js +3 -1
- package/es/translator/it.js +3 -1
- package/es/translator/ru.js +3 -1
- package/es/translator/translator.js +15 -13
- package/es/utils/browser.js +5 -2
- package/es/utils/convert-units-lite.js +3 -1
- package/es/utils/email-validator.js +3 -1
- package/es/utils/export.js +29 -15
- package/es/utils/geometry.js +280 -190
- package/es/utils/get-edges-of-subgraphs.js +5 -2
- package/es/utils/graph-cycles.js +7 -8
- package/es/utils/graph-inner-cycles.js +14 -10
- package/es/utils/graph.js +13 -9
- package/es/utils/helper.js +58 -41
- package/es/utils/history.js +11 -8
- package/es/utils/id-broker.js +11 -8
- package/es/utils/logger.js +3 -1
- package/es/utils/math.js +8 -5
- package/es/utils/molding.js +146 -130
- package/es/utils/name-generator.js +9 -7
- package/es/utils/objects-utils.js +14 -7
- package/es/utils/phone-validator.js +3 -1
- package/es/utils/process-black-list.js +6 -5
- package/es/utils/react-if.js +9 -7
- package/es/utils/snap-scene.js +30 -27
- package/es/utils/snap.js +57 -53
- package/es/utils/summarizeCart.js +3 -1
- package/es/utils/threeCSG.es6.js +17 -13
- package/es/version.js +3 -1
- package/package.json +1 -1
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
2
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.addEdgesToMesh = addEdgesToMesh;
|
|
5
|
+
exports.loadTexture = loadTexture;
|
|
6
|
+
exports.render2DItem = render2DItem;
|
|
7
|
+
exports.render3DApplianceItem = render3DApplianceItem;
|
|
8
|
+
exports.render3DItem = render3DItem;
|
|
9
|
+
exports.render3DLightingItem = render3DLightingItem;
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
11
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
|
+
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
14
|
+
var _immutable = require("immutable");
|
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
var Three = _interopRequireWildcard(require("three"));
|
|
17
|
+
var SceneCreator = _interopRequireWildcard(require("../../components/viewer3d/scene-creator"));
|
|
18
|
+
var _constants = require("../../constants");
|
|
19
|
+
var _models = require("../../models");
|
|
20
|
+
var GeomUtils = _interopRequireWildcard(require("./geom-utils"));
|
|
21
|
+
var _loadObj = require("./load-obj");
|
|
22
|
+
var _helper = require("../../utils/helper");
|
|
17
23
|
// env Map ///////////////
|
|
18
24
|
var paramsCounter = {
|
|
19
25
|
envMap: 'HDR',
|
|
@@ -43,9 +49,9 @@ var paramsModel = {
|
|
|
43
49
|
var cachedObject = {}; // cached Object for quickly load-3d
|
|
44
50
|
|
|
45
51
|
// render 2d function//////
|
|
46
|
-
|
|
47
|
-
var _useState = useState(false),
|
|
48
|
-
_useState2 =
|
|
52
|
+
function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg) {
|
|
53
|
+
var _useState = (0, _react.useState)(false),
|
|
54
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
49
55
|
hover = _useState2[0],
|
|
50
56
|
setHover = _useState2[1];
|
|
51
57
|
var x = element.x,
|
|
@@ -88,24 +94,24 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
88
94
|
length: tempDepth.get('_length'),
|
|
89
95
|
unit: tempDepth.get('_unit')
|
|
90
96
|
};
|
|
91
|
-
var originalWidth = convert(sizeinfo.width).from('in').to('cm');
|
|
92
|
-
var originalDepth = convert(sizeinfo.depth).from('in').to('cm');
|
|
93
|
-
var newWidth = convert(width.length).from(width.unit).to('cm');
|
|
94
|
-
var newDepth = convert(depth.length).from(depth.unit).to('cm');
|
|
95
|
-
var padding = convert(SHAPE_SVG_PADDING).from(UNIT_INCH).to(UNIT_CENTIMETER);
|
|
97
|
+
var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from('in').to('cm');
|
|
98
|
+
var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from('in').to('cm');
|
|
99
|
+
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
|
|
100
|
+
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
|
|
101
|
+
var padding = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_PADDING).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
|
|
96
102
|
var angle = element.rotation + 90;
|
|
97
103
|
var textRotation = 0;
|
|
98
104
|
if (Math.sin(angle * Math.PI / 180) < 0) {
|
|
99
105
|
textRotation = 180;
|
|
100
106
|
}
|
|
101
107
|
var color = '#eee';
|
|
102
|
-
if (layoutpos == BASE_CABINET_LAYOUTPOS) {
|
|
108
|
+
if (layoutpos == _constants.BASE_CABINET_LAYOUTPOS) {
|
|
103
109
|
color = '#3f8db3';
|
|
104
110
|
}
|
|
105
|
-
if (layoutpos == TALL_CABINET_LAYOUTPOS) {
|
|
111
|
+
if (layoutpos == _constants.TALL_CABINET_LAYOUTPOS) {
|
|
106
112
|
color = '#93b3be';
|
|
107
113
|
}
|
|
108
|
-
if (layoutpos == WALL_CABINET_LAYOUTPOS) {
|
|
114
|
+
if (layoutpos == _constants.WALL_CABINET_LAYOUTPOS) {
|
|
109
115
|
color = '#48b08dcc';
|
|
110
116
|
}
|
|
111
117
|
var splitStr = [];
|
|
@@ -119,7 +125,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
119
125
|
if (objSKU.length !== 0) {
|
|
120
126
|
var dcId,
|
|
121
127
|
doorStyle = element.doorStyle;
|
|
122
|
-
if (doorStyle instanceof Map) {
|
|
128
|
+
if (doorStyle instanceof _immutable.Map) {
|
|
123
129
|
dcId = doorStyle.get('id');
|
|
124
130
|
} else {
|
|
125
131
|
dcId = doorStyle.id;
|
|
@@ -138,7 +144,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
138
144
|
}
|
|
139
145
|
splitStr.push(type.slice(lineCount * rowCount));
|
|
140
146
|
splitStr.forEach(function (el, key) {
|
|
141
|
-
txtContent.push(/*#__PURE__*/
|
|
147
|
+
txtContent.push(/*#__PURE__*/_react["default"].createElement("text", {
|
|
142
148
|
key: 'text' + key,
|
|
143
149
|
x: "0",
|
|
144
150
|
y: newDepth / 2 - 12,
|
|
@@ -182,12 +188,12 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
182
188
|
// } else {
|
|
183
189
|
// }
|
|
184
190
|
svg_url = shape_svg.url;
|
|
185
|
-
svg_width = convert(SHAPE_SVG_WIDTH).from(UNIT_INCH).to(UNIT_CENTIMETER);
|
|
186
|
-
svg_depth = convert(SHAPE_SVG_DEPTH).from(UNIT_INCH).to(UNIT_CENTIMETER);
|
|
191
|
+
svg_width = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_WIDTH).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
|
|
192
|
+
svg_depth = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_DEPTH).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
|
|
187
193
|
}
|
|
188
194
|
var padding_width = padding * newWidth / svg_width;
|
|
189
195
|
var padding_depth = padding * newDepth / svg_depth;
|
|
190
|
-
rendered = /*#__PURE__*/
|
|
196
|
+
rendered = /*#__PURE__*/_react["default"].createElement("g", {
|
|
191
197
|
onMouseOver: function onMouseOver(event) {
|
|
192
198
|
setHover(true);
|
|
193
199
|
},
|
|
@@ -195,11 +201,11 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
195
201
|
setHover(false);
|
|
196
202
|
},
|
|
197
203
|
transform: "translate(".concat(x, ",").concat(y, ")")
|
|
198
|
-
}, /*#__PURE__*/
|
|
204
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
199
205
|
transform: "rotate(".concat(rotation, ")")
|
|
200
|
-
}, /*#__PURE__*/
|
|
206
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
201
207
|
transform: "translate(".concat(-newWidth / 2 - padding_width, ",").concat(-newDepth / 2 - padding_depth, ")")
|
|
202
|
-
}, /*#__PURE__*/
|
|
208
|
+
}, /*#__PURE__*/_react["default"].createElement("image", {
|
|
203
209
|
preserveAspectRatio: "none",
|
|
204
210
|
style: {
|
|
205
211
|
pointerEvents: 'none'
|
|
@@ -210,7 +216,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
210
216
|
transform: "scale(1, -1)",
|
|
211
217
|
x: "0",
|
|
212
218
|
y: "".concat(-newDepth - 2 * padding_depth)
|
|
213
|
-
}), /*#__PURE__*/
|
|
219
|
+
}), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
214
220
|
x: "".concat(padding_width),
|
|
215
221
|
y: "".concat(padding_depth),
|
|
216
222
|
width: "".concat(newWidth),
|
|
@@ -223,14 +229,14 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
223
229
|
opacity: 0.7,
|
|
224
230
|
postion: 'relative'
|
|
225
231
|
},
|
|
226
|
-
fill: STATUS_WARNING_LIGHT_COLOR,
|
|
227
|
-
stroke: STATUS_WARNING_COLOR,
|
|
232
|
+
fill: _constants.STATUS_WARNING_LIGHT_COLOR,
|
|
233
|
+
stroke: _constants.STATUS_WARNING_COLOR,
|
|
228
234
|
strokeWidth: "2px"
|
|
229
|
-
}), /*#__PURE__*/
|
|
235
|
+
}), /*#__PURE__*/_react["default"].createElement("g", {
|
|
230
236
|
transform: "translate(".concat(padding_width, ",").concat(padding_depth, ")")
|
|
231
237
|
}, txtContent))));
|
|
232
238
|
} else {
|
|
233
|
-
rendered = /*#__PURE__*/
|
|
239
|
+
rendered = /*#__PURE__*/_react["default"].createElement("g", {
|
|
234
240
|
onMouseOver: function onMouseOver(event) {
|
|
235
241
|
setHover(true);
|
|
236
242
|
},
|
|
@@ -238,22 +244,22 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
238
244
|
setHover(false);
|
|
239
245
|
},
|
|
240
246
|
transform: "translate(".concat(x, ",").concat(y, ")")
|
|
241
|
-
}, /*#__PURE__*/
|
|
247
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
242
248
|
transform: "rotate(".concat(rotation, ")")
|
|
243
|
-
}, /*#__PURE__*/
|
|
249
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
244
250
|
transform: "translate(".concat(-newWidth / 2, ",").concat(-newDepth / 2, ")")
|
|
245
|
-
}, newDepth > 15 ? [/*#__PURE__*/
|
|
251
|
+
}, newDepth > 15 ? [/*#__PURE__*/_react["default"].createElement("rect", {
|
|
246
252
|
key: "base",
|
|
247
253
|
x: "0",
|
|
248
254
|
y: "12",
|
|
249
255
|
width: newWidth,
|
|
250
256
|
height: newDepth - 12,
|
|
251
257
|
style: style
|
|
252
|
-
}), /*#__PURE__*/
|
|
258
|
+
}), /*#__PURE__*/_react["default"].createElement("polygon", {
|
|
253
259
|
key: "door",
|
|
254
260
|
style: style,
|
|
255
261
|
points: "0,9 ".concat(newWidth, ",9 ").concat(newWidth, ",6 ").concat(newWidth - 5, ",6 ").concat(newWidth - 5, ",3 ").concat(newWidth - 2, ",3 ").concat(newWidth - 2, " 0 ").concat(newWidth - 10, " 0 ").concat(newWidth - 10, ",3 ").concat(newWidth - 7, ",3 ").concat(newWidth - 7, ",6 0 6")
|
|
256
|
-
})] : /*#__PURE__*/
|
|
262
|
+
})] : /*#__PURE__*/_react["default"].createElement("rect", {
|
|
257
263
|
key: "base",
|
|
258
264
|
x: "0",
|
|
259
265
|
y: "0",
|
|
@@ -266,7 +272,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
266
272
|
}
|
|
267
273
|
// end of render 2d function /////////////////////////
|
|
268
274
|
|
|
269
|
-
|
|
275
|
+
function loadTexture(url) {
|
|
270
276
|
var texture = new Three.TextureLoader().load(url);
|
|
271
277
|
texture.colorSpace = Three.SRGBColorSpace;
|
|
272
278
|
texture.wrapS = Three.MirroredRepeatWrapping;
|
|
@@ -311,10 +317,10 @@ var assignUVs = function assignUVs(geometry) {
|
|
|
311
317
|
* @param sizeinfo Dimesion of the item
|
|
312
318
|
* @param structure_json Structure of the item such as place holders and meshes, etc
|
|
313
319
|
*/
|
|
314
|
-
|
|
320
|
+
function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
|
|
315
321
|
var mode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
|
316
|
-
if (element.doorStyle.constructor !== Map) {
|
|
317
|
-
element = element.set('doorStyle', fromJS(element.doorStyle));
|
|
322
|
+
if (element.doorStyle.constructor !== _immutable.Map) {
|
|
323
|
+
element = element.set('doorStyle', (0, _immutable.fromJS)(element.doorStyle));
|
|
318
324
|
}
|
|
319
325
|
if (element.doorStyle.toJS().handle_gltf !== '') {
|
|
320
326
|
// Check element has doorHandle
|
|
@@ -336,9 +342,9 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
336
342
|
length: sizeinfo.height,
|
|
337
343
|
unit: 'in'
|
|
338
344
|
};
|
|
339
|
-
var newWidth = convert(width.length).from(width.unit).to('in');
|
|
340
|
-
var newDepth = convert(depth.length).from(depth.unit).to('in');
|
|
341
|
-
var newHeight = convert(height.length).from(height.unit).to('in');
|
|
345
|
+
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('in');
|
|
346
|
+
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('in');
|
|
347
|
+
var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('in');
|
|
342
348
|
var mainName = ''; // to get name structure//
|
|
343
349
|
if (element.properties.get('width')) newWidth = element.getIn(['properties', 'width', '_length']);
|
|
344
350
|
if (element.properties.get('depth')) newDepth = element.getIn(['properties', 'depth', '_length']);
|
|
@@ -356,7 +362,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
356
362
|
counterTop.uri = layer.toJS().counterTop.uri;
|
|
357
363
|
}
|
|
358
364
|
if ('name' in element.doorStyle) {
|
|
359
|
-
doorStyles = new Map(element.doorStyle.doorStyles);
|
|
365
|
+
doorStyles = new _immutable.Map(element.doorStyle.doorStyles);
|
|
360
366
|
color = element.doorStyle.color;
|
|
361
367
|
glossness = element.doorStyle.glossness;
|
|
362
368
|
handleMaterial.metalness = element.doorStyle.metalness;
|
|
@@ -377,7 +383,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
377
383
|
});
|
|
378
384
|
if (tPlaceholders !== undefined) {
|
|
379
385
|
placeholders = tPlaceholders.placeholders;
|
|
380
|
-
var tempStructure =
|
|
386
|
+
var tempStructure = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, tPlaceholders.structure), {}, {
|
|
381
387
|
animation: structure.animation,
|
|
382
388
|
placeholders: structure.placeholders,
|
|
383
389
|
tempPlaceholders: structure.tempPlaceholders,
|
|
@@ -399,7 +405,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
399
405
|
var object1 = object;
|
|
400
406
|
var newAltitude = element.properties.get('altitude').get('_length');
|
|
401
407
|
var newUnit = element.properties.get('altitude').get('_unit') || 'in';
|
|
402
|
-
newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
|
|
408
|
+
newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
|
|
403
409
|
var _element = element.toJS();
|
|
404
410
|
if (!_element.doorStyle.doorStyles.is_euro_cds) {
|
|
405
411
|
object1.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
|
|
@@ -537,7 +543,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
537
543
|
transparent: true,
|
|
538
544
|
opacity: 0.4
|
|
539
545
|
}));
|
|
540
|
-
var _color = new Three.Color(SHADE_DARK_PURPLE_COLOR).convertLinearToSRGB();
|
|
546
|
+
var _color = new Three.Color(_constants.SHADE_DARK_PURPLE_COLOR).convertLinearToSRGB();
|
|
541
547
|
var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
|
|
542
548
|
color: _color
|
|
543
549
|
}));
|
|
@@ -619,7 +625,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
619
625
|
SceneCreator.updateDoorHandleMesh(element, object1, true);
|
|
620
626
|
}
|
|
621
627
|
object1.traverse(function (obj) {
|
|
622
|
-
if (obj.type === OBJTYPE_MESH) {
|
|
628
|
+
if (obj.type === _constants.OBJTYPE_MESH) {
|
|
623
629
|
var name = obj.name;
|
|
624
630
|
if (name.match(/_door_.*_glass_/)) {
|
|
625
631
|
var material = new Three.MeshPhysicalMaterial({
|
|
@@ -674,10 +680,10 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
674
680
|
if (isDoor) {
|
|
675
681
|
var offsetData = object1.userData.door_animate_offset[obj.name];
|
|
676
682
|
// Open Door
|
|
677
|
-
animateDoor(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
|
|
683
|
+
(0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
|
|
678
684
|
} else {
|
|
679
685
|
// Open Drawer
|
|
680
|
-
translateDrawer(element.toJS(), obj, open_doors, 'Opened2D');
|
|
686
|
+
(0, _helper.translateDrawer)(element.toJS(), obj, open_doors, 'Opened2D');
|
|
681
687
|
}
|
|
682
688
|
}
|
|
683
689
|
}
|
|
@@ -749,7 +755,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
749
755
|
_url = structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())];
|
|
750
756
|
}
|
|
751
757
|
}
|
|
752
|
-
if (
|
|
758
|
+
if ((0, _typeof2["default"])(_url) == Array) _url = _url[0];
|
|
753
759
|
var uData = _url.split('/');
|
|
754
760
|
uData = uData[uData.length - 1];
|
|
755
761
|
uData = uData.slice(0, -5);
|
|
@@ -794,7 +800,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
794
800
|
} else {
|
|
795
801
|
structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = null;
|
|
796
802
|
}
|
|
797
|
-
return loadGLTF(loadUrl).then(function (object) {
|
|
803
|
+
return (0, _loadObj.loadGLTF)(loadUrl).then(function (object) {
|
|
798
804
|
if (normalMap !== '') {
|
|
799
805
|
var normalUrl = normalMap.split('.')[0] + '-normal.' + normalMap.split('.')[1];
|
|
800
806
|
var t = loadTexture(normalMap);
|
|
@@ -807,7 +813,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
807
813
|
mat2.normalMap = _m;
|
|
808
814
|
// mat2.envMap = textureCube;
|
|
809
815
|
for (var _j3 = 0; _j3 < object.children.length; _j3++) {
|
|
810
|
-
if (object.children[_j3].type === OBJTYPE_MESH) {
|
|
816
|
+
if (object.children[_j3].type === _constants.OBJTYPE_MESH) {
|
|
811
817
|
object.children[_j3].material = mat2;
|
|
812
818
|
object.children[_j3].receiveShadow = true;
|
|
813
819
|
}
|
|
@@ -839,12 +845,12 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
839
845
|
}
|
|
840
846
|
// mat2.envMap = textureCube;
|
|
841
847
|
for (var _j4 = 0; _j4 < object.children.length; _j4++) {
|
|
842
|
-
if (object.children[_j4].type === OBJTYPE_MESH) {
|
|
848
|
+
if (object.children[_j4].type === _constants.OBJTYPE_MESH) {
|
|
843
849
|
object.children[_j4].material = _mat;
|
|
844
850
|
object.children[_j4].receiveShadow = true;
|
|
845
851
|
object.children[_j4].castShadow = true;
|
|
846
852
|
!object.children[_j4].name.includes('handle') && addEdgesToMesh(object.children[_j4]);
|
|
847
|
-
} else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === OBJTYPE_GROUP) {
|
|
853
|
+
} else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
|
|
848
854
|
object.children[_j4].traverse(function (prim) {
|
|
849
855
|
prim.material = _mat;
|
|
850
856
|
prim.receiveShadow = true;
|
|
@@ -858,7 +864,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
858
864
|
});
|
|
859
865
|
// mat2.envMap = textureCube;
|
|
860
866
|
for (var _j5 = 0; _j5 < object.children.length; _j5++) {
|
|
861
|
-
if (object.children[_j5].type === OBJTYPE_MESH) {
|
|
867
|
+
if (object.children[_j5].type === _constants.OBJTYPE_MESH) {
|
|
862
868
|
object.children[_j5].material = _mat2;
|
|
863
869
|
object.children[_j5].receiveShadow = true;
|
|
864
870
|
}
|
|
@@ -882,7 +888,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
882
888
|
if (placeholder.includes('drawer_door') && placeholder.includes('_handle')) {
|
|
883
889
|
tmp.rotateZ(Math.PI / 2);
|
|
884
890
|
}
|
|
885
|
-
if (placeholder.includes('_handle') && tmp.children[0].type === OBJTYPE_MESH) {
|
|
891
|
+
if (placeholder.includes('_handle') && tmp.children[0].type === _constants.OBJTYPE_MESH) {
|
|
886
892
|
// NOTE: change metalness of handle
|
|
887
893
|
tmp.children[0].material.metalness = 1;
|
|
888
894
|
// handleMaterial.metalness || 0.2;
|
|
@@ -903,7 +909,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
903
909
|
});
|
|
904
910
|
}
|
|
905
911
|
};
|
|
906
|
-
return loadGLTF(structure['base']).then(function (object) {
|
|
912
|
+
return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
|
|
907
913
|
object.name = 'MainObject';
|
|
908
914
|
object.receiveShadow = true;
|
|
909
915
|
objGroup = object;
|
|
@@ -980,7 +986,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
980
986
|
addEdgesToMesh(object.children[j]);
|
|
981
987
|
} else if (object.children[j].name.includes('_interior_')) {
|
|
982
988
|
object.children[j].material = mat4;
|
|
983
|
-
} else if (object.children[j].type === OBJTYPE_MESH) {
|
|
989
|
+
} else if (object.children[j].type === _constants.OBJTYPE_MESH) {
|
|
984
990
|
object.children[j].material = mat2;
|
|
985
991
|
object.children[j].receiveShadow = true;
|
|
986
992
|
object.children[j].castShadow = true;
|
|
@@ -996,7 +1002,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
996
1002
|
}
|
|
997
1003
|
|
|
998
1004
|
// render 3d appliance function ////////////////////////////////
|
|
999
|
-
|
|
1005
|
+
function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json) {
|
|
1000
1006
|
var mode = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
|
1001
1007
|
var structure = structure_json;
|
|
1002
1008
|
var applianceMaterial = element.applianceMaterial;
|
|
@@ -1004,16 +1010,16 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1004
1010
|
var onLoadItem = function onLoadItem(object) {
|
|
1005
1011
|
var newAltitude = element.properties.get('altitude').get('_length');
|
|
1006
1012
|
var newUnit = element.properties.get('altitude').get('_unit') || 'in';
|
|
1007
|
-
newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
|
|
1013
|
+
newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
|
|
1008
1014
|
var newWidth = element.properties.get('width').get('_length');
|
|
1009
1015
|
var newWidthUnit = element.properties.get('width').get('_unit') || 'in';
|
|
1010
|
-
newWidth = convert(newWidth).from(newWidthUnit).to('in');
|
|
1016
|
+
newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to('in');
|
|
1011
1017
|
var newHeight = element.properties.get('height').get('_length');
|
|
1012
1018
|
var newHeightUnit = element.properties.get('height').get('_unit') || 'in';
|
|
1013
|
-
newHeight = convert(newHeight).from(newHeightUnit).to('in');
|
|
1019
|
+
newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to('in');
|
|
1014
1020
|
var newDepth = element.properties.get('depth').get('_length');
|
|
1015
1021
|
var newDepthUnit = element.properties.get('depth').get('_unit') || 'in';
|
|
1016
|
-
newDepth = convert(newDepth).from(newDepthUnit).to('in');
|
|
1022
|
+
newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to('in');
|
|
1017
1023
|
object.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
|
|
1018
1024
|
// Normalize the origin of the object
|
|
1019
1025
|
var boundingBox = new Three.Box3().setFromObject(object);
|
|
@@ -1024,7 +1030,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1024
1030
|
object.position.z -= center[2];
|
|
1025
1031
|
object.position.y += newAltitude;
|
|
1026
1032
|
object.traverse(function (obj) {
|
|
1027
|
-
if (obj.type === OBJTYPE_MESH) {
|
|
1033
|
+
if (obj.type === _constants.OBJTYPE_MESH) {
|
|
1028
1034
|
var name = obj.name;
|
|
1029
1035
|
var texture,
|
|
1030
1036
|
textureLoader = new Three.TextureLoader();
|
|
@@ -1136,7 +1142,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1136
1142
|
transparent: true,
|
|
1137
1143
|
opacity: 0.4
|
|
1138
1144
|
}));
|
|
1139
|
-
var color = new Three.Color(ARROW_COLOR).convertLinearToSRGB();
|
|
1145
|
+
var color = new Three.Color(_constants.ARROW_COLOR).convertLinearToSRGB();
|
|
1140
1146
|
var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
|
|
1141
1147
|
color: color
|
|
1142
1148
|
}));
|
|
@@ -1236,7 +1242,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1236
1242
|
|
|
1237
1243
|
// load base to start //
|
|
1238
1244
|
// return loadGLTF(dirName + structure["base"])
|
|
1239
|
-
return loadGLTF(structure['base']).then(function (object) {
|
|
1245
|
+
return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
|
|
1240
1246
|
// let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
|
|
1241
1247
|
// let texture = loadTexture(textureURL);
|
|
1242
1248
|
// texture.wrapS = Three.MirroredRepeatWrapping;
|
|
@@ -1252,7 +1258,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1252
1258
|
// mat2.envMap = textureCube;
|
|
1253
1259
|
object.material = mat2;
|
|
1254
1260
|
for (var j = 0; j < object.children.length; j++) {
|
|
1255
|
-
if (object.children[j].type === OBJTYPE_MESH) {
|
|
1261
|
+
if (object.children[j].type === _constants.OBJTYPE_MESH) {
|
|
1256
1262
|
object.children[j].material = mat2;
|
|
1257
1263
|
object.children[j].receiveShadow = true;
|
|
1258
1264
|
object.children[j].castShadow = true; // change
|
|
@@ -1267,7 +1273,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1267
1273
|
});
|
|
1268
1274
|
}
|
|
1269
1275
|
// render 3d appliance function ////////////////////////////////
|
|
1270
|
-
|
|
1276
|
+
function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
|
|
1271
1277
|
var mode = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
|
1272
1278
|
var structure = structure_json;
|
|
1273
1279
|
var onLoadItem = function onLoadItem(object) {
|
|
@@ -1283,12 +1289,12 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1283
1289
|
length: sizeinfo.height,
|
|
1284
1290
|
unit: 'in'
|
|
1285
1291
|
};
|
|
1286
|
-
var newWidth = convert(width.length).from(width.unit).to('cm');
|
|
1287
|
-
var newDepth = convert(depth.length).from(depth.unit).to('cm');
|
|
1288
|
-
var newHeight = convert(height.length).from(height.unit).to('cm');
|
|
1292
|
+
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
|
|
1293
|
+
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
|
|
1294
|
+
var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('cm');
|
|
1289
1295
|
var newAltitude = element.properties.get('altitude').get('_length');
|
|
1290
1296
|
var newUnit = element.properties.get('altitude').get('_unit') || 'in';
|
|
1291
|
-
newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
|
|
1297
|
+
newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
|
|
1292
1298
|
|
|
1293
1299
|
//object.scale.set(newWidth, newHeight, newDepth);
|
|
1294
1300
|
object.scale.set(100, 100, 100);
|
|
@@ -1368,7 +1374,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1368
1374
|
transparent: true,
|
|
1369
1375
|
opacity: 0.4
|
|
1370
1376
|
}));
|
|
1371
|
-
var color = new Three.Color(ARROW_COLOR).convertLinearToSRGB();
|
|
1377
|
+
var color = new Three.Color(_constants.ARROW_COLOR).convertLinearToSRGB();
|
|
1372
1378
|
var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
|
|
1373
1379
|
color: color
|
|
1374
1380
|
}));
|
|
@@ -1474,7 +1480,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1474
1480
|
|
|
1475
1481
|
// load base to start //
|
|
1476
1482
|
// return loadGLTF(dirName + structure["base"])
|
|
1477
|
-
return loadGLTF(structure['base']).then(function (object) {
|
|
1483
|
+
return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
|
|
1478
1484
|
// let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
|
|
1479
1485
|
// let texture = loadTexture(textureURL);
|
|
1480
1486
|
// texture.wrapS = Three.MirroredRepeatWrapping;
|
|
@@ -1489,7 +1495,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1489
1495
|
// mat2.envMap = textureCube;
|
|
1490
1496
|
object.material = mat2;
|
|
1491
1497
|
for (var j = 0; j < object.children.length; j++) {
|
|
1492
|
-
if (object.children[j].type === OBJTYPE_MESH) {
|
|
1498
|
+
if (object.children[j].type === _constants.OBJTYPE_MESH) {
|
|
1493
1499
|
object.children[j].material = mat2;
|
|
1494
1500
|
object.children[j].receiveShadow = true;
|
|
1495
1501
|
}
|
|
@@ -1502,7 +1508,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1502
1508
|
return _loadGLTFs3(0);
|
|
1503
1509
|
});
|
|
1504
1510
|
}
|
|
1505
|
-
|
|
1511
|
+
function addEdgesToMesh(inChild) {
|
|
1506
1512
|
var boxEdge = new Three.EdgesGeometry(inChild.geometry, 10);
|
|
1507
1513
|
var boxEdgeMaterial = new Three.LineBasicMaterial({
|
|
1508
1514
|
color: 0x000000,
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
exports.__esModule = true;
|
|
2
|
+
exports.loadGLTF = loadGLTF;
|
|
3
|
+
exports.loadObjWithMaterial = loadObjWithMaterial;
|
|
4
|
+
exports.scaleObject = scaleObject;
|
|
5
|
+
var _three = require("three");
|
|
6
|
+
var _MTLLoader = require("three/examples/jsm/loaders/MTLLoader.js");
|
|
7
|
+
var _OBJLoader = require("three/examples/jsm/loaders/OBJLoader.js");
|
|
8
|
+
var _GLTFLoader = require("three/examples/jsm/loaders/GLTFLoader.js");
|
|
9
|
+
var _DRACOLoader = require("three/examples/jsm/loaders/DRACOLoader.js");
|
|
10
|
+
var _constants = require("../../constants");
|
|
11
|
+
function loadObjWithMaterial(mtlFile, objFile, imgPath) {
|
|
12
|
+
var manager = new _three.LoadingManager();
|
|
13
|
+
var mtlLoader = new _MTLLoader.MTLLoader(manager);
|
|
10
14
|
// mtlLoader.setPath(imgPath);
|
|
11
15
|
var url = mtlFile;
|
|
12
16
|
return new Promise(function (resolve, reject) {
|
|
13
17
|
mtlLoader.load(url, function (materials) {
|
|
14
18
|
materials.preload();
|
|
15
|
-
var objLoader = new OBJLoader();
|
|
19
|
+
var objLoader = new _OBJLoader.OBJLoader();
|
|
16
20
|
objLoader.setMaterials(materials);
|
|
17
21
|
objLoader.load(objFile, function (object) {
|
|
18
22
|
return resolve(object);
|
|
@@ -20,12 +24,12 @@ export function loadObjWithMaterial(mtlFile, objFile, imgPath) {
|
|
|
20
24
|
});
|
|
21
25
|
});
|
|
22
26
|
}
|
|
23
|
-
|
|
27
|
+
function loadGLTF(url) {
|
|
24
28
|
if (url == undefined) {
|
|
25
29
|
return Promise.reject('No url is passed');
|
|
26
30
|
}
|
|
27
|
-
var baseURL = LoaderUtils.extractUrlBase(url);
|
|
28
|
-
var manager = new LoadingManager();
|
|
31
|
+
var baseURL = _three.LoaderUtils.extractUrlBase(url);
|
|
32
|
+
var manager = new _three.LoadingManager();
|
|
29
33
|
|
|
30
34
|
// Intercept and override relative URLs.
|
|
31
35
|
manager.setURLModifier(function (url, path) {
|
|
@@ -42,9 +46,9 @@ export function loadGLTF(url) {
|
|
|
42
46
|
// }
|
|
43
47
|
return (path || '') + url;
|
|
44
48
|
});
|
|
45
|
-
var loader = new GLTFLoader(manager);
|
|
49
|
+
var loader = new _GLTFLoader.GLTFLoader(manager);
|
|
46
50
|
loader.setCrossOrigin('anonymous');
|
|
47
|
-
var dracoLoader = new DRACOLoader();
|
|
51
|
+
var dracoLoader = new _DRACOLoader.DRACOLoader();
|
|
48
52
|
dracoLoader.setDecoderPath('/assets/draco/');
|
|
49
53
|
loader.setDRACOLoader(dracoLoader);
|
|
50
54
|
return new Promise(function (resolve, reject) {
|
|
@@ -62,15 +66,15 @@ export function loadGLTF(url) {
|
|
|
62
66
|
});
|
|
63
67
|
});
|
|
64
68
|
}
|
|
65
|
-
|
|
66
|
-
var boundingBox = new Box3().setFromObject(object);
|
|
67
|
-
var initialSizeArray = boundingBox.getSize(new Vector3()).toArray();
|
|
69
|
+
function scaleObject(object, defaultSizeArray, scaleSizeArray) {
|
|
70
|
+
var boundingBox = new _three.Box3().setFromObject(object);
|
|
71
|
+
var initialSizeArray = boundingBox.getSize(new _three.Vector3()).toArray();
|
|
68
72
|
for (var i = 0; i < 3; i++) {
|
|
69
73
|
scaleSizeArray[i] -= defaultSizeArray[i];
|
|
70
74
|
defaultSizeArray[i] /= initialSizeArray[i];
|
|
71
75
|
}
|
|
72
76
|
object.children.forEach(function (child) {
|
|
73
|
-
if (child.type == OBJTYPE_MESH && child.geometry instanceof BufferGeometry) {
|
|
77
|
+
if (child.type == _constants.OBJTYPE_MESH && child.geometry instanceof _three.BufferGeometry) {
|
|
74
78
|
var position = child.geometry.attributes.position;
|
|
75
79
|
var new_pos = position.array.map(function (v, i, a) {
|
|
76
80
|
var j = i % 3;
|
|
@@ -81,7 +85,7 @@ export function scaleObject(object, defaultSizeArray, scaleSizeArray) {
|
|
|
81
85
|
}
|
|
82
86
|
return v;
|
|
83
87
|
});
|
|
84
|
-
var new_geom = child.geometry.clone().setAttribute('position', new BufferAttribute(new_pos, 3));
|
|
88
|
+
var new_geom = child.geometry.clone().setAttribute('position', new _three.BufferAttribute(new_pos, 3));
|
|
85
89
|
new_geom.computeBoundingBox();
|
|
86
90
|
new_geom.computeBoundingSphere();
|
|
87
91
|
child.geometry.dispose();
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
exports.__esModule = true;
|
|
2
|
+
exports["default"] = exports.MTLLoader = void 0;
|
|
1
3
|
/**
|
|
2
4
|
* Loads a Wavefront .mtl file specifying materials
|
|
3
5
|
*
|
|
@@ -6,7 +8,7 @@
|
|
|
6
8
|
|
|
7
9
|
var THREE = window.THREE;
|
|
8
10
|
var MTLLoader;
|
|
9
|
-
MTLLoader = function MTLLoader(manager) {
|
|
11
|
+
exports.MTLLoader = MTLLoader = function MTLLoader(manager) {
|
|
10
12
|
this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
|
|
11
13
|
};
|
|
12
14
|
Object.assign(MTLLoader.prototype, THREE.EventDispatcher.prototype, {
|
|
@@ -354,5 +356,4 @@ MTLLoader.MaterialCreator.prototype = {
|
|
|
354
356
|
return texture;
|
|
355
357
|
}
|
|
356
358
|
};
|
|
357
|
-
|
|
358
|
-
export { MTLLoader };
|
|
359
|
+
var _default = exports["default"] = MTLLoader;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
exports.__esModule = true;
|
|
2
|
+
exports["default"] = exports.OBJLoader = void 0;
|
|
1
3
|
/**
|
|
2
4
|
* @author mrdoob / http://mrdoob.com/
|
|
3
5
|
*/
|
|
4
6
|
var THREE = window.THREE;
|
|
5
7
|
var OBJLoader;
|
|
6
|
-
OBJLoader = function () {
|
|
8
|
+
exports.OBJLoader = OBJLoader = function () {
|
|
7
9
|
// o object_name | g group_name
|
|
8
10
|
var object_pattern = /^[og]\s*(.+)?/;
|
|
9
11
|
// mtllib file_reference
|
|
@@ -473,5 +475,4 @@ OBJLoader = function () {
|
|
|
473
475
|
};
|
|
474
476
|
return OBJLoader;
|
|
475
477
|
}();
|
|
476
|
-
|
|
477
|
-
export { OBJLoader };
|
|
478
|
+
var _default = exports["default"] = OBJLoader;
|