kitchen-simulator 1.1.1-test.60 → 1.1.1-test.62
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 +10 -2
- package/es/AppContext.js +10 -3
- package/es/KitchenConfigurator.js +92 -96
- package/es/KitchenConfiguratorApp.js +143 -136
- package/es/actions/area-actions.js +12 -5
- package/es/actions/export.js +29 -12
- package/es/actions/groups-actions.js +45 -27
- package/es/actions/holes-actions.js +55 -34
- package/es/actions/items-actions.js +145 -94
- package/es/actions/lines-actions.js +36 -21
- package/es/actions/project-actions.js +145 -94
- package/es/actions/scene-actions.js +21 -11
- package/es/actions/vertices-actions.js +15 -7
- package/es/actions/viewer2d-actions.js +36 -21
- package/es/actions/viewer3d-actions.js +18 -9
- package/es/catalog/areas/area/planner-element.js +9 -2
- package/es/catalog/catalog.js +21 -24
- package/es/catalog/factories/area-factory-3d.js +31 -22
- package/es/catalog/factories/area-factory.js +20 -14
- package/es/catalog/factories/export.js +24 -6
- package/es/catalog/factories/wall-factory-3d.js +41 -31
- package/es/catalog/factories/wall-factory.js +31 -21
- package/es/catalog/holes/door-closet/planner-element.js +24 -15
- package/es/catalog/holes/door-double/planner-element.js +24 -15
- package/es/catalog/holes/door-exterior/planner-element.js +25 -16
- package/es/catalog/holes/door-interior/planner-element.js +25 -16
- package/es/catalog/holes/door-panic/planner-element.js +16 -7
- package/es/catalog/holes/door-panic-double/planner-element.js +24 -15
- package/es/catalog/holes/door-sliding/planner-element.js +25 -16
- package/es/catalog/holes/doorway-framed/planner-element.js +20 -11
- package/es/catalog/holes/doorway-frameless/planner-element.js +16 -7
- package/es/catalog/holes/export.js +97 -13
- package/es/catalog/holes/window-clear/planner-element.js +19 -10
- package/es/catalog/holes/window-cross/planner-element.js +19 -10
- package/es/catalog/holes/window-double-hung/planner-element.js +19 -10
- package/es/catalog/holes/window-vertical/planner-element.js +19 -10
- package/es/catalog/lines/wall/planner-element.js +9 -2
- package/es/catalog/molding/molding-dcm/planner-element.js +14 -5
- package/es/catalog/molding/molding-fbm/planner-element.js +14 -5
- package/es/catalog/molding/molding-lrm/planner-element.js +14 -5
- package/es/catalog/properties/export.js +80 -20
- package/es/catalog/properties/property-checkbox.js +31 -27
- package/es/catalog/properties/property-color.js +23 -16
- package/es/catalog/properties/property-enum.js +31 -29
- package/es/catalog/properties/property-hidden.js +16 -9
- package/es/catalog/properties/property-lenght-measure.js +45 -39
- package/es/catalog/properties/property-length-measure.js +43 -42
- package/es/catalog/properties/property-length-measure_hole.js +45 -39
- package/es/catalog/properties/property-number.js +24 -17
- package/es/catalog/properties/property-read-only.js +23 -16
- package/es/catalog/properties/property-string.js +23 -16
- package/es/catalog/properties/property-toggle.js +23 -16
- package/es/catalog/properties/shared-property-style.js +7 -1
- package/es/catalog/utils/FuseUtils.js +15 -11
- package/es/catalog/utils/exporter.js +15 -11
- package/es/catalog/utils/geom-utils.js +29 -13
- package/es/catalog/utils/item-loader.js +97 -91
- package/es/catalog/utils/load-obj.js +28 -20
- package/es/catalog/utils/mtl-loader.js +8 -3
- package/es/catalog/utils/obj-loader.js +8 -3
- package/es/class/FuseUtils.js +15 -11
- package/es/class/area.js +28 -26
- package/es/class/export.js +95 -23
- package/es/class/group.js +59 -62
- package/es/class/guide.js +21 -19
- package/es/class/hole.js +89 -87
- package/es/class/item.js +147 -150
- package/es/class/layer.js +65 -63
- package/es/class/line.js +143 -144
- package/es/class/project.js +98 -94
- package/es/class/vertex.js +35 -33
- package/es/components/content.js +28 -19
- package/es/components/disclaimer/disclaimer.js +18 -10
- package/es/components/export.js +32 -8
- package/es/components/style/button.js +31 -30
- package/es/components/style/cancel-button.js +14 -8
- package/es/components/style/content-container.js +16 -12
- package/es/components/style/content-title.js +20 -15
- package/es/components/style/delete-button.js +17 -9
- package/es/components/style/export.js +120 -30
- package/es/components/style/form-block.js +15 -12
- package/es/components/style/form-color-input.js +14 -8
- package/es/components/style/form-label.js +15 -12
- package/es/components/style/form-number-input.js +49 -47
- package/es/components/style/form-number-input_2.js +44 -42
- package/es/components/style/form-select.js +24 -26
- package/es/components/style/form-slider.js +17 -11
- package/es/components/style/form-submit-button.js +17 -9
- package/es/components/style/form-text-input.js +34 -33
- package/es/components/viewer2d/area.js +24 -17
- package/es/components/viewer2d/export.js +120 -30
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +17 -10
- package/es/components/viewer2d/grids/grid-streak.js +17 -10
- package/es/components/viewer2d/grids/grid-vertical-streak.js +17 -10
- package/es/components/viewer2d/grids/grids.js +19 -15
- package/es/components/viewer2d/group.js +24 -15
- package/es/components/viewer2d/item.js +70 -66
- package/es/components/viewer2d/layer.js +30 -23
- package/es/components/viewer2d/line.js +111 -101
- package/es/components/viewer2d/ruler.js +29 -22
- package/es/components/viewer2d/rulerDist.js +28 -21
- package/es/components/viewer2d/rulerX.js +47 -45
- package/es/components/viewer2d/rulerY.js +45 -43
- package/es/components/viewer2d/scene.js +41 -45
- package/es/components/viewer2d/snap.js +22 -13
- package/es/components/viewer2d/state.js +27 -23
- package/es/components/viewer2d/utils.js +37 -29
- package/es/components/viewer2d/vertex.js +17 -8
- package/es/components/viewer2d/viewer2d.js +163 -164
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +23 -24
- package/es/components/viewer3d/dcm.js +7 -1
- package/es/components/viewer3d/fbm.js +7 -1
- package/es/components/viewer3d/front3D.js +21 -17
- package/es/components/viewer3d/grid-creator.js +17 -8
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +14 -6
- package/es/components/viewer3d/grids/grid-streak.js +13 -5
- package/es/components/viewer3d/grids/grid-vertical-streak.js +14 -6
- package/es/components/viewer3d/libs/first-person-controls.js +9 -2
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +7 -1
- package/es/components/viewer3d/libs/mtl-loader.js +7 -1
- package/es/components/viewer3d/libs/obj-loader.js +7 -1
- package/es/components/viewer3d/libs/orbit-controls.js +8 -2
- package/es/components/viewer3d/libs/pointer-lock-controls.js +8 -2
- package/es/components/viewer3d/lrm.js +7 -1
- package/es/components/viewer3d/model.js +7 -1
- package/es/components/viewer3d/pointer-lock-navigation.js +10 -3
- package/es/components/viewer3d/ruler-utils/itemRect.js +25 -18
- package/es/components/viewer3d/ruler-utils/layer3D.js +66 -59
- package/es/components/viewer3d/ruler-utils/ruler3D.js +46 -42
- package/es/components/viewer3d/ruler-utils/scene3D.js +17 -9
- package/es/components/viewer3d/ruler-utils/state3D.js +11 -4
- package/es/components/viewer3d/scene-creator.js +227 -198
- package/es/components/viewer3d/three-memory-cleaner.js +12 -3
- package/es/components/viewer3d/viewer3d-first-person.js +46 -46
- package/es/components/viewer3d/viewer3d.js +202 -202
- package/es/constants.js +358 -349
- package/es/index.js +15 -14
- package/es/models.js +184 -183
- package/es/plugins/SVGLoader.js +53 -48
- package/es/plugins/autosave.js +9 -3
- package/es/plugins/console-debugger.js +12 -8
- package/es/plugins/export.js +32 -8
- package/es/plugins/keyboard.js +35 -29
- package/es/reducers/areas-reducer.js +13 -7
- package/es/reducers/export.js +96 -24
- package/es/reducers/groups-reducer.js +37 -31
- package/es/reducers/holes-reducer.js +49 -43
- package/es/reducers/items-reducer.js +112 -106
- package/es/reducers/lines-reducer.js +34 -28
- package/es/reducers/project-reducer.js +111 -105
- package/es/reducers/reducer.js +23 -16
- package/es/reducers/scene-reducer.js +21 -15
- package/es/reducers/user-reducer.js +11 -5
- package/es/reducers/vertices-reducer.js +17 -11
- package/es/reducers/viewer2d-reducer.js +24 -18
- package/es/reducers/viewer3d-reducer.js +22 -16
- package/es/shared-style.js +16 -10
- package/es/styles/export.js +11 -3
- package/es/translator/en.js +7 -1
- package/es/translator/it.js +7 -1
- package/es/translator/ru.js +7 -1
- package/es/translator/translator.js +19 -17
- package/es/utils/browser.js +9 -2
- package/es/utils/convert-units-lite.js +7 -1
- package/es/utils/email-validator.js +7 -1
- package/es/utils/export.js +46 -15
- package/es/utils/geometry.js +278 -190
- package/es/utils/get-edges-of-subgraphs.js +9 -2
- package/es/utils/graph-cycles.js +11 -8
- package/es/utils/graph-inner-cycles.js +18 -10
- package/es/utils/graph.js +17 -13
- package/es/utils/helper.js +63 -41
- package/es/utils/history.js +15 -8
- package/es/utils/id-broker.js +15 -12
- package/es/utils/logger.js +7 -1
- package/es/utils/math.js +12 -5
- package/es/utils/molding.js +144 -125
- package/es/utils/name-generator.js +13 -11
- package/es/utils/objects-utils.js +19 -7
- package/es/utils/phone-validator.js +7 -1
- package/es/utils/process-black-list.js +10 -6
- package/es/utils/react-if.js +12 -6
- package/es/utils/snap-scene.js +34 -32
- package/es/utils/snap.js +59 -51
- package/es/utils/summarizeCart.js +7 -1
- package/es/utils/threeCSG.es6.js +22 -17
- package/es/version.js +7 -1
- package/lib/@history.js +1 -1
- package/lib/AppContext.js +1 -1
- package/lib/KitchenConfigurator.js +37 -49
- package/lib/KitchenConfiguratorApp.js +60 -61
- package/lib/actions/export.js +1 -1
- package/lib/catalog/areas/area/planner-element.js +1 -1
- package/lib/catalog/catalog.js +7 -15
- package/lib/catalog/factories/area-factory-3d.js +1 -1
- package/lib/catalog/factories/area-factory.js +4 -6
- package/lib/catalog/factories/export.js +1 -1
- package/lib/catalog/factories/wall-factory-3d.js +2 -2
- package/lib/catalog/factories/wall-factory.js +2 -2
- package/lib/catalog/holes/door-closet/planner-element.js +2 -2
- package/lib/catalog/holes/door-double/planner-element.js +2 -2
- package/lib/catalog/holes/door-exterior/planner-element.js +2 -2
- package/lib/catalog/holes/door-interior/planner-element.js +2 -2
- package/lib/catalog/holes/door-panic/planner-element.js +2 -2
- package/lib/catalog/holes/door-panic-double/planner-element.js +2 -2
- package/lib/catalog/holes/door-sliding/planner-element.js +2 -2
- package/lib/catalog/holes/doorway-framed/planner-element.js +2 -2
- package/lib/catalog/holes/doorway-frameless/planner-element.js +2 -2
- package/lib/catalog/holes/export.js +2 -2
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/holes/window-cross/planner-element.js +2 -2
- package/lib/catalog/holes/window-double-hung/planner-element.js +2 -2
- package/lib/catalog/holes/window-vertical/planner-element.js +2 -2
- package/lib/catalog/lines/wall/planner-element.js +1 -1
- package/lib/catalog/molding/molding-dcm/planner-element.js +2 -2
- package/lib/catalog/molding/molding-fbm/planner-element.js +2 -2
- package/lib/catalog/molding/molding-lrm/planner-element.js +2 -2
- package/lib/catalog/properties/export.js +1 -1
- package/lib/catalog/properties/property-checkbox.js +3 -6
- package/lib/catalog/properties/property-color.js +1 -1
- package/lib/catalog/properties/property-enum.js +4 -9
- package/lib/catalog/properties/property-hidden.js +1 -1
- package/lib/catalog/properties/property-lenght-measure.js +5 -6
- package/lib/catalog/properties/property-length-measure.js +7 -13
- package/lib/catalog/properties/property-length-measure_hole.js +5 -6
- package/lib/catalog/properties/property-number.js +1 -1
- package/lib/catalog/properties/property-read-only.js +1 -1
- package/lib/catalog/properties/property-string.js +1 -1
- package/lib/catalog/properties/property-toggle.js +1 -1
- package/lib/catalog/utils/FuseUtils.js +8 -10
- package/lib/catalog/utils/exporter.js +3 -5
- package/lib/catalog/utils/geom-utils.js +1 -1
- package/lib/catalog/utils/item-loader.js +9 -14
- package/lib/class/FuseUtils.js +8 -10
- package/lib/class/area.js +7 -10
- package/lib/class/export.js +1 -1
- package/lib/class/group.js +11 -19
- package/lib/class/guide.js +9 -12
- package/lib/class/hole.js +5 -8
- package/lib/class/item.js +10 -18
- package/lib/class/layer.js +5 -8
- package/lib/class/line.js +12 -19
- package/lib/class/project.js +8 -10
- package/lib/class/vertex.js +7 -10
- package/lib/components/content.js +2 -2
- package/lib/components/disclaimer/disclaimer.js +1 -1
- package/lib/components/export.js +1 -1
- package/lib/components/style/button.js +15 -21
- package/lib/components/style/cancel-button.js +5 -6
- package/lib/components/style/content-container.js +3 -6
- package/lib/components/style/content-title.js +8 -11
- package/lib/components/style/delete-button.js +6 -7
- package/lib/components/style/export.js +1 -1
- package/lib/components/style/form-block.js +7 -11
- package/lib/components/style/form-color-input.js +5 -6
- package/lib/components/style/form-label.js +7 -11
- package/lib/components/style/form-number-input.js +13 -18
- package/lib/components/style/form-number-input_2.js +13 -18
- package/lib/components/style/form-select.js +10 -19
- package/lib/components/style/form-slider.js +5 -6
- package/lib/components/style/form-submit-button.js +6 -7
- package/lib/components/style/form-text-input.js +17 -22
- package/lib/components/viewer2d/area.js +1 -1
- package/lib/components/viewer2d/export.js +1 -1
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +1 -1
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +1 -1
- package/lib/components/viewer2d/grids/grids.js +4 -9
- package/lib/components/viewer2d/group.js +2 -2
- package/lib/components/viewer2d/item.js +5 -10
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +2 -2
- package/lib/components/viewer2d/ruler.js +1 -1
- package/lib/components/viewer2d/rulerDist.js +1 -1
- package/lib/components/viewer2d/rulerX.js +13 -18
- package/lib/components/viewer2d/rulerY.js +13 -18
- package/lib/components/viewer2d/scene.js +21 -32
- package/lib/components/viewer2d/snap.js +2 -2
- package/lib/components/viewer2d/state.js +5 -10
- package/lib/components/viewer2d/utils.js +5 -9
- package/lib/components/viewer2d/vertex.js +2 -2
- package/lib/components/viewer2d/viewer2d.js +13 -23
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
- package/lib/components/viewer3d/front3D.js +4 -9
- package/lib/components/viewer3d/grid-creator.js +2 -2
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +1 -1
- package/lib/components/viewer3d/grids/grid-streak.js +1 -1
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +1 -1
- package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
- package/lib/components/viewer3d/ruler-utils/itemRect.js +1 -1
- package/lib/components/viewer3d/ruler-utils/layer3D.js +1 -1
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +3 -6
- package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/lib/components/viewer3d/ruler-utils/state3D.js +1 -1
- package/lib/components/viewer3d/scene-creator.js +16 -21
- package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
- package/lib/components/viewer3d/viewer3d-first-person.js +11 -16
- package/lib/components/viewer3d/viewer3d.js +15 -20
- package/lib/index.js +8 -14
- package/lib/models.js +51 -56
- package/lib/plugins/console-debugger.js +3 -6
- package/lib/plugins/export.js +1 -1
- package/lib/reducers/export.js +1 -1
- package/lib/styles/export.js +1 -1
- package/lib/translator/translator.js +5 -9
- package/lib/utils/export.js +2 -2
- package/lib/utils/geometry.js +11 -18
- package/lib/utils/graph-inner-cycles.js +1 -1
- package/lib/utils/graph.js +7 -10
- package/lib/utils/helper.js +7 -7
- package/lib/utils/history.js +1 -1
- package/lib/utils/id-broker.js +5 -8
- package/lib/utils/molding.js +14 -19
- package/lib/utils/name-generator.js +5 -8
- package/lib/utils/objects-utils.js +5 -3
- package/lib/utils/process-black-list.js +3 -5
- package/lib/utils/react-if.js +1 -1
- package/lib/utils/snap-scene.js +3 -7
- package/lib/utils/snap.js +22 -26
- package/lib/utils/threeCSG.es6.js +14 -14
- package/package.json +24 -18
|
@@ -1,26 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
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; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
8
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
13
|
-
import { convert } from "../../utils/convert-units-lite";
|
|
14
|
-
import { fromJS, Map } from 'immutable';
|
|
15
|
-
import React, { useState } from 'react';
|
|
16
|
-
import * as Three from 'three';
|
|
17
|
-
import * as SceneCreator from "../../components/viewer3d/scene-creator";
|
|
18
|
-
import { ARROW_COLOR, BASE_CABINET_LAYOUTPOS, OBJTYPE_GROUP, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, SHAPE_SVG_DEPTH, SHAPE_SVG_PADDING, SHAPE_SVG_WIDTH, STATUS_WARNING_COLOR, STATUS_WARNING_LIGHT_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, UNIT_INCH, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
19
|
-
import { Item } from "../../models";
|
|
20
|
-
import * as GeomUtils from "./geom-utils";
|
|
21
|
-
import { loadGLTF } from "./load-obj";
|
|
22
|
-
import { animateDoor, translateDrawer } from "../../utils/helper";
|
|
1
|
+
"use strict";
|
|
23
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.addEdgesToMesh = addEdgesToMesh;
|
|
9
|
+
exports.loadTexture = loadTexture;
|
|
10
|
+
exports.render2DItem = render2DItem;
|
|
11
|
+
exports.render3DApplianceItem = render3DApplianceItem;
|
|
12
|
+
exports.render3DItem = render3DItem;
|
|
13
|
+
exports.render3DLightingItem = render3DLightingItem;
|
|
14
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
18
|
+
var _immutable = require("immutable");
|
|
19
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
20
|
+
var Three = _interopRequireWildcard(require("three"));
|
|
21
|
+
var SceneCreator = _interopRequireWildcard(require("../../components/viewer3d/scene-creator"));
|
|
22
|
+
var _constants = require("../../constants");
|
|
23
|
+
var _models = require("../../models");
|
|
24
|
+
var GeomUtils = _interopRequireWildcard(require("./geom-utils"));
|
|
25
|
+
var _loadObj = require("./load-obj");
|
|
26
|
+
var _helper = require("../../utils/helper");
|
|
27
|
+
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); }
|
|
28
|
+
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; }
|
|
29
|
+
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; }
|
|
24
30
|
// env Map ///////////////
|
|
25
31
|
var paramsCounter = {
|
|
26
32
|
envMap: 'HDR',
|
|
@@ -50,9 +56,9 @@ var paramsModel = {
|
|
|
50
56
|
var cachedObject = {}; // cached Object for quickly load-3d
|
|
51
57
|
|
|
52
58
|
// render 2d function//////
|
|
53
|
-
|
|
54
|
-
var _useState = useState(false),
|
|
55
|
-
_useState2 =
|
|
59
|
+
function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg) {
|
|
60
|
+
var _useState = (0, _react.useState)(false),
|
|
61
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
56
62
|
hover = _useState2[0],
|
|
57
63
|
setHover = _useState2[1];
|
|
58
64
|
var x = element.x,
|
|
@@ -95,24 +101,24 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
95
101
|
length: tempDepth.get('_length'),
|
|
96
102
|
unit: tempDepth.get('_unit')
|
|
97
103
|
};
|
|
98
|
-
var originalWidth = convert(sizeinfo.width).from('in').to('cm');
|
|
99
|
-
var originalDepth = convert(sizeinfo.depth).from('in').to('cm');
|
|
100
|
-
var newWidth = convert(width.length).from(width.unit).to('cm');
|
|
101
|
-
var newDepth = convert(depth.length).from(depth.unit).to('cm');
|
|
102
|
-
var padding = convert(SHAPE_SVG_PADDING).from(UNIT_INCH).to(UNIT_CENTIMETER);
|
|
104
|
+
var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from('in').to('cm');
|
|
105
|
+
var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from('in').to('cm');
|
|
106
|
+
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
|
|
107
|
+
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
|
|
108
|
+
var padding = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_PADDING).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
|
|
103
109
|
var angle = element.rotation + 90;
|
|
104
110
|
var textRotation = 0;
|
|
105
111
|
if (Math.sin(angle * Math.PI / 180) < 0) {
|
|
106
112
|
textRotation = 180;
|
|
107
113
|
}
|
|
108
114
|
var color = '#eee';
|
|
109
|
-
if (layoutpos == BASE_CABINET_LAYOUTPOS) {
|
|
115
|
+
if (layoutpos == _constants.BASE_CABINET_LAYOUTPOS) {
|
|
110
116
|
color = '#3f8db3';
|
|
111
117
|
}
|
|
112
|
-
if (layoutpos == TALL_CABINET_LAYOUTPOS) {
|
|
118
|
+
if (layoutpos == _constants.TALL_CABINET_LAYOUTPOS) {
|
|
113
119
|
color = '#93b3be';
|
|
114
120
|
}
|
|
115
|
-
if (layoutpos == WALL_CABINET_LAYOUTPOS) {
|
|
121
|
+
if (layoutpos == _constants.WALL_CABINET_LAYOUTPOS) {
|
|
116
122
|
color = '#48b08dcc';
|
|
117
123
|
}
|
|
118
124
|
var splitStr = [];
|
|
@@ -126,7 +132,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
126
132
|
if (objSKU.length !== 0) {
|
|
127
133
|
var dcId,
|
|
128
134
|
doorStyle = element.doorStyle;
|
|
129
|
-
if (doorStyle instanceof Map) {
|
|
135
|
+
if (doorStyle instanceof _immutable.Map) {
|
|
130
136
|
dcId = doorStyle.get('id');
|
|
131
137
|
} else {
|
|
132
138
|
dcId = doorStyle.id;
|
|
@@ -145,7 +151,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
145
151
|
}
|
|
146
152
|
splitStr.push(type.slice(lineCount * rowCount));
|
|
147
153
|
splitStr.forEach(function (el, key) {
|
|
148
|
-
txtContent.push(/*#__PURE__*/
|
|
154
|
+
txtContent.push(/*#__PURE__*/_react["default"].createElement("text", {
|
|
149
155
|
key: 'text' + key,
|
|
150
156
|
x: "0",
|
|
151
157
|
y: newDepth / 2 - 12,
|
|
@@ -189,12 +195,12 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
189
195
|
// } else {
|
|
190
196
|
// }
|
|
191
197
|
svg_url = shape_svg.url;
|
|
192
|
-
svg_width = convert(SHAPE_SVG_WIDTH).from(UNIT_INCH).to(UNIT_CENTIMETER);
|
|
193
|
-
svg_depth = convert(SHAPE_SVG_DEPTH).from(UNIT_INCH).to(UNIT_CENTIMETER);
|
|
198
|
+
svg_width = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_WIDTH).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
|
|
199
|
+
svg_depth = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_DEPTH).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
|
|
194
200
|
}
|
|
195
201
|
var padding_width = padding * newWidth / svg_width;
|
|
196
202
|
var padding_depth = padding * newDepth / svg_depth;
|
|
197
|
-
rendered = /*#__PURE__*/
|
|
203
|
+
rendered = /*#__PURE__*/_react["default"].createElement("g", {
|
|
198
204
|
onMouseOver: function onMouseOver(event) {
|
|
199
205
|
setHover(true);
|
|
200
206
|
},
|
|
@@ -202,11 +208,11 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
202
208
|
setHover(false);
|
|
203
209
|
},
|
|
204
210
|
transform: "translate(".concat(x, ",").concat(y, ")")
|
|
205
|
-
}, /*#__PURE__*/
|
|
211
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
206
212
|
transform: "rotate(".concat(rotation, ")")
|
|
207
|
-
}, /*#__PURE__*/
|
|
213
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
208
214
|
transform: "translate(".concat(-newWidth / 2 - padding_width, ",").concat(-newDepth / 2 - padding_depth, ")")
|
|
209
|
-
}, /*#__PURE__*/
|
|
215
|
+
}, /*#__PURE__*/_react["default"].createElement("image", {
|
|
210
216
|
preserveAspectRatio: "none",
|
|
211
217
|
style: {
|
|
212
218
|
pointerEvents: 'none'
|
|
@@ -217,7 +223,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
217
223
|
transform: "scale(1, -1)",
|
|
218
224
|
x: "0",
|
|
219
225
|
y: "".concat(-newDepth - 2 * padding_depth)
|
|
220
|
-
}), /*#__PURE__*/
|
|
226
|
+
}), /*#__PURE__*/_react["default"].createElement("rect", {
|
|
221
227
|
x: "".concat(padding_width),
|
|
222
228
|
y: "".concat(padding_depth),
|
|
223
229
|
width: "".concat(newWidth),
|
|
@@ -230,14 +236,14 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
230
236
|
opacity: 0.7,
|
|
231
237
|
postion: 'relative'
|
|
232
238
|
},
|
|
233
|
-
fill: STATUS_WARNING_LIGHT_COLOR,
|
|
234
|
-
stroke: STATUS_WARNING_COLOR,
|
|
239
|
+
fill: _constants.STATUS_WARNING_LIGHT_COLOR,
|
|
240
|
+
stroke: _constants.STATUS_WARNING_COLOR,
|
|
235
241
|
strokeWidth: "2px"
|
|
236
|
-
}), /*#__PURE__*/
|
|
242
|
+
}), /*#__PURE__*/_react["default"].createElement("g", {
|
|
237
243
|
transform: "translate(".concat(padding_width, ",").concat(padding_depth, ")")
|
|
238
244
|
}, txtContent))));
|
|
239
245
|
} else {
|
|
240
|
-
rendered = /*#__PURE__*/
|
|
246
|
+
rendered = /*#__PURE__*/_react["default"].createElement("g", {
|
|
241
247
|
onMouseOver: function onMouseOver(event) {
|
|
242
248
|
setHover(true);
|
|
243
249
|
},
|
|
@@ -245,22 +251,22 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
245
251
|
setHover(false);
|
|
246
252
|
},
|
|
247
253
|
transform: "translate(".concat(x, ",").concat(y, ")")
|
|
248
|
-
}, /*#__PURE__*/
|
|
254
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
249
255
|
transform: "rotate(".concat(rotation, ")")
|
|
250
|
-
}, /*#__PURE__*/
|
|
256
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
251
257
|
transform: "translate(".concat(-newWidth / 2, ",").concat(-newDepth / 2, ")")
|
|
252
|
-
}, newDepth > 15 ? [/*#__PURE__*/
|
|
258
|
+
}, newDepth > 15 ? [/*#__PURE__*/_react["default"].createElement("rect", {
|
|
253
259
|
key: "base",
|
|
254
260
|
x: "0",
|
|
255
261
|
y: "12",
|
|
256
262
|
width: newWidth,
|
|
257
263
|
height: newDepth - 12,
|
|
258
264
|
style: style
|
|
259
|
-
}), /*#__PURE__*/
|
|
265
|
+
}), /*#__PURE__*/_react["default"].createElement("polygon", {
|
|
260
266
|
key: "door",
|
|
261
267
|
style: style,
|
|
262
268
|
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")
|
|
263
|
-
})] : /*#__PURE__*/
|
|
269
|
+
})] : /*#__PURE__*/_react["default"].createElement("rect", {
|
|
264
270
|
key: "base",
|
|
265
271
|
x: "0",
|
|
266
272
|
y: "0",
|
|
@@ -273,7 +279,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
|
|
|
273
279
|
}
|
|
274
280
|
// end of render 2d function /////////////////////////
|
|
275
281
|
|
|
276
|
-
|
|
282
|
+
function loadTexture(url) {
|
|
277
283
|
var texture = new Three.TextureLoader().load(url);
|
|
278
284
|
texture.colorSpace = Three.SRGBColorSpace;
|
|
279
285
|
texture.wrapS = Three.MirroredRepeatWrapping;
|
|
@@ -318,10 +324,10 @@ var assignUVs = function assignUVs(geometry) {
|
|
|
318
324
|
* @param sizeinfo Dimesion of the item
|
|
319
325
|
* @param structure_json Structure of the item such as place holders and meshes, etc
|
|
320
326
|
*/
|
|
321
|
-
|
|
327
|
+
function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
|
|
322
328
|
var mode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
|
323
|
-
if (element.doorStyle.constructor !== Map) {
|
|
324
|
-
element = element.set('doorStyle', fromJS(element.doorStyle));
|
|
329
|
+
if (element.doorStyle.constructor !== _immutable.Map) {
|
|
330
|
+
element = element.set('doorStyle', (0, _immutable.fromJS)(element.doorStyle));
|
|
325
331
|
}
|
|
326
332
|
if (element.doorStyle.toJS().handle_gltf !== '') {
|
|
327
333
|
// Check element has doorHandle
|
|
@@ -343,9 +349,9 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
343
349
|
length: sizeinfo.height,
|
|
344
350
|
unit: 'in'
|
|
345
351
|
};
|
|
346
|
-
var newWidth = convert(width.length).from(width.unit).to('in');
|
|
347
|
-
var newDepth = convert(depth.length).from(depth.unit).to('in');
|
|
348
|
-
var newHeight = convert(height.length).from(height.unit).to('in');
|
|
352
|
+
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('in');
|
|
353
|
+
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('in');
|
|
354
|
+
var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('in');
|
|
349
355
|
var mainName = ''; // to get name structure//
|
|
350
356
|
if (element.properties.get('width')) newWidth = element.getIn(['properties', 'width', '_length']);
|
|
351
357
|
if (element.properties.get('depth')) newDepth = element.getIn(['properties', 'depth', '_length']);
|
|
@@ -363,7 +369,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
363
369
|
counterTop.uri = layer.toJS().counterTop.uri;
|
|
364
370
|
}
|
|
365
371
|
if ('name' in element.doorStyle) {
|
|
366
|
-
doorStyles = new Map(element.doorStyle.doorStyles);
|
|
372
|
+
doorStyles = new _immutable.Map(element.doorStyle.doorStyles);
|
|
367
373
|
color = element.doorStyle.color;
|
|
368
374
|
glossness = element.doorStyle.glossness;
|
|
369
375
|
handleMaterial.metalness = element.doorStyle.metalness;
|
|
@@ -406,7 +412,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
406
412
|
var object1 = object;
|
|
407
413
|
var newAltitude = element.properties.get('altitude').get('_length');
|
|
408
414
|
var newUnit = element.properties.get('altitude').get('_unit') || 'in';
|
|
409
|
-
newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
|
|
415
|
+
newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
|
|
410
416
|
var _element = element.toJS();
|
|
411
417
|
if (!_element.doorStyle.doorStyles.is_euro_cds) {
|
|
412
418
|
object1.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
|
|
@@ -544,7 +550,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
544
550
|
transparent: true,
|
|
545
551
|
opacity: 0.4
|
|
546
552
|
}));
|
|
547
|
-
var _color = new Three.Color(SHADE_DARK_PURPLE_COLOR).convertLinearToSRGB();
|
|
553
|
+
var _color = new Three.Color(_constants.SHADE_DARK_PURPLE_COLOR).convertLinearToSRGB();
|
|
548
554
|
var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
|
|
549
555
|
color: _color
|
|
550
556
|
}));
|
|
@@ -626,7 +632,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
626
632
|
SceneCreator.updateDoorHandleMesh(element, object1, true);
|
|
627
633
|
}
|
|
628
634
|
object1.traverse(function (obj) {
|
|
629
|
-
if (obj.type === OBJTYPE_MESH) {
|
|
635
|
+
if (obj.type === _constants.OBJTYPE_MESH) {
|
|
630
636
|
var name = obj.name;
|
|
631
637
|
if (name.match(/_door_.*_glass_/)) {
|
|
632
638
|
var material = new Three.MeshPhysicalMaterial({
|
|
@@ -681,10 +687,10 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
681
687
|
if (isDoor) {
|
|
682
688
|
var offsetData = object1.userData.door_animate_offset[obj.name];
|
|
683
689
|
// Open Door
|
|
684
|
-
animateDoor(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
|
|
690
|
+
(0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
|
|
685
691
|
} else {
|
|
686
692
|
// Open Drawer
|
|
687
|
-
translateDrawer(element.toJS(), obj, open_doors, 'Opened2D');
|
|
693
|
+
(0, _helper.translateDrawer)(element.toJS(), obj, open_doors, 'Opened2D');
|
|
688
694
|
}
|
|
689
695
|
}
|
|
690
696
|
}
|
|
@@ -756,7 +762,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
756
762
|
_url = structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())];
|
|
757
763
|
}
|
|
758
764
|
}
|
|
759
|
-
if (
|
|
765
|
+
if ((0, _typeof2["default"])(_url) == Array) _url = _url[0];
|
|
760
766
|
var uData = _url.split('/');
|
|
761
767
|
uData = uData[uData.length - 1];
|
|
762
768
|
uData = uData.slice(0, -5);
|
|
@@ -801,7 +807,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
801
807
|
} else {
|
|
802
808
|
structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = null;
|
|
803
809
|
}
|
|
804
|
-
return loadGLTF(loadUrl).then(function (object) {
|
|
810
|
+
return (0, _loadObj.loadGLTF)(loadUrl).then(function (object) {
|
|
805
811
|
if (normalMap !== '') {
|
|
806
812
|
var normalUrl = normalMap.split('.')[0] + '-normal.' + normalMap.split('.')[1];
|
|
807
813
|
var t = loadTexture(normalMap);
|
|
@@ -814,7 +820,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
814
820
|
mat2.normalMap = _m;
|
|
815
821
|
// mat2.envMap = textureCube;
|
|
816
822
|
for (var _j3 = 0; _j3 < object.children.length; _j3++) {
|
|
817
|
-
if (object.children[_j3].type === OBJTYPE_MESH) {
|
|
823
|
+
if (object.children[_j3].type === _constants.OBJTYPE_MESH) {
|
|
818
824
|
object.children[_j3].material = mat2;
|
|
819
825
|
object.children[_j3].receiveShadow = true;
|
|
820
826
|
}
|
|
@@ -846,12 +852,12 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
846
852
|
}
|
|
847
853
|
// mat2.envMap = textureCube;
|
|
848
854
|
for (var _j4 = 0; _j4 < object.children.length; _j4++) {
|
|
849
|
-
if (object.children[_j4].type === OBJTYPE_MESH) {
|
|
855
|
+
if (object.children[_j4].type === _constants.OBJTYPE_MESH) {
|
|
850
856
|
object.children[_j4].material = _mat;
|
|
851
857
|
object.children[_j4].receiveShadow = true;
|
|
852
858
|
object.children[_j4].castShadow = true;
|
|
853
859
|
!object.children[_j4].name.includes('handle') && addEdgesToMesh(object.children[_j4]);
|
|
854
|
-
} else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === OBJTYPE_GROUP) {
|
|
860
|
+
} else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
|
|
855
861
|
object.children[_j4].traverse(function (prim) {
|
|
856
862
|
prim.material = _mat;
|
|
857
863
|
prim.receiveShadow = true;
|
|
@@ -865,7 +871,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
865
871
|
});
|
|
866
872
|
// mat2.envMap = textureCube;
|
|
867
873
|
for (var _j5 = 0; _j5 < object.children.length; _j5++) {
|
|
868
|
-
if (object.children[_j5].type === OBJTYPE_MESH) {
|
|
874
|
+
if (object.children[_j5].type === _constants.OBJTYPE_MESH) {
|
|
869
875
|
object.children[_j5].material = _mat2;
|
|
870
876
|
object.children[_j5].receiveShadow = true;
|
|
871
877
|
}
|
|
@@ -889,7 +895,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
889
895
|
if (placeholder.includes('drawer_door') && placeholder.includes('_handle')) {
|
|
890
896
|
tmp.rotateZ(Math.PI / 2);
|
|
891
897
|
}
|
|
892
|
-
if (placeholder.includes('_handle') && tmp.children[0].type === OBJTYPE_MESH) {
|
|
898
|
+
if (placeholder.includes('_handle') && tmp.children[0].type === _constants.OBJTYPE_MESH) {
|
|
893
899
|
// NOTE: change metalness of handle
|
|
894
900
|
tmp.children[0].material.metalness = 1;
|
|
895
901
|
// handleMaterial.metalness || 0.2;
|
|
@@ -910,7 +916,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
910
916
|
});
|
|
911
917
|
}
|
|
912
918
|
};
|
|
913
|
-
return loadGLTF(structure['base']).then(function (object) {
|
|
919
|
+
return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
|
|
914
920
|
object.name = 'MainObject';
|
|
915
921
|
object.receiveShadow = true;
|
|
916
922
|
objGroup = object;
|
|
@@ -987,7 +993,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
987
993
|
addEdgesToMesh(object.children[j]);
|
|
988
994
|
} else if (object.children[j].name.includes('_interior_')) {
|
|
989
995
|
object.children[j].material = mat4;
|
|
990
|
-
} else if (object.children[j].type === OBJTYPE_MESH) {
|
|
996
|
+
} else if (object.children[j].type === _constants.OBJTYPE_MESH) {
|
|
991
997
|
object.children[j].material = mat2;
|
|
992
998
|
object.children[j].receiveShadow = true;
|
|
993
999
|
object.children[j].castShadow = true;
|
|
@@ -1003,7 +1009,7 @@ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is
|
|
|
1003
1009
|
}
|
|
1004
1010
|
|
|
1005
1011
|
// render 3d appliance function ////////////////////////////////
|
|
1006
|
-
|
|
1012
|
+
function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json) {
|
|
1007
1013
|
var mode = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
|
1008
1014
|
var structure = structure_json;
|
|
1009
1015
|
var applianceMaterial = element.applianceMaterial;
|
|
@@ -1011,16 +1017,16 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1011
1017
|
var onLoadItem = function onLoadItem(object) {
|
|
1012
1018
|
var newAltitude = element.properties.get('altitude').get('_length');
|
|
1013
1019
|
var newUnit = element.properties.get('altitude').get('_unit') || 'in';
|
|
1014
|
-
newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
|
|
1020
|
+
newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
|
|
1015
1021
|
var newWidth = element.properties.get('width').get('_length');
|
|
1016
1022
|
var newWidthUnit = element.properties.get('width').get('_unit') || 'in';
|
|
1017
|
-
newWidth = convert(newWidth).from(newWidthUnit).to('in');
|
|
1023
|
+
newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to('in');
|
|
1018
1024
|
var newHeight = element.properties.get('height').get('_length');
|
|
1019
1025
|
var newHeightUnit = element.properties.get('height').get('_unit') || 'in';
|
|
1020
|
-
newHeight = convert(newHeight).from(newHeightUnit).to('in');
|
|
1026
|
+
newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to('in');
|
|
1021
1027
|
var newDepth = element.properties.get('depth').get('_length');
|
|
1022
1028
|
var newDepthUnit = element.properties.get('depth').get('_unit') || 'in';
|
|
1023
|
-
newDepth = convert(newDepth).from(newDepthUnit).to('in');
|
|
1029
|
+
newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to('in');
|
|
1024
1030
|
object.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
|
|
1025
1031
|
// Normalize the origin of the object
|
|
1026
1032
|
var boundingBox = new Three.Box3().setFromObject(object);
|
|
@@ -1031,7 +1037,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1031
1037
|
object.position.z -= center[2];
|
|
1032
1038
|
object.position.y += newAltitude;
|
|
1033
1039
|
object.traverse(function (obj) {
|
|
1034
|
-
if (obj.type === OBJTYPE_MESH) {
|
|
1040
|
+
if (obj.type === _constants.OBJTYPE_MESH) {
|
|
1035
1041
|
var name = obj.name;
|
|
1036
1042
|
var texture,
|
|
1037
1043
|
textureLoader = new Three.TextureLoader();
|
|
@@ -1143,7 +1149,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1143
1149
|
transparent: true,
|
|
1144
1150
|
opacity: 0.4
|
|
1145
1151
|
}));
|
|
1146
|
-
var color = new Three.Color(ARROW_COLOR).convertLinearToSRGB();
|
|
1152
|
+
var color = new Three.Color(_constants.ARROW_COLOR).convertLinearToSRGB();
|
|
1147
1153
|
var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
|
|
1148
1154
|
color: color
|
|
1149
1155
|
}));
|
|
@@ -1243,7 +1249,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1243
1249
|
|
|
1244
1250
|
// load base to start //
|
|
1245
1251
|
// return loadGLTF(dirName + structure["base"])
|
|
1246
|
-
return loadGLTF(structure['base']).then(function (object) {
|
|
1252
|
+
return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
|
|
1247
1253
|
// let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
|
|
1248
1254
|
// let texture = loadTexture(textureURL);
|
|
1249
1255
|
// texture.wrapS = Three.MirroredRepeatWrapping;
|
|
@@ -1259,7 +1265,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1259
1265
|
// mat2.envMap = textureCube;
|
|
1260
1266
|
object.material = mat2;
|
|
1261
1267
|
for (var j = 0; j < object.children.length; j++) {
|
|
1262
|
-
if (object.children[j].type === OBJTYPE_MESH) {
|
|
1268
|
+
if (object.children[j].type === _constants.OBJTYPE_MESH) {
|
|
1263
1269
|
object.children[j].material = mat2;
|
|
1264
1270
|
object.children[j].receiveShadow = true;
|
|
1265
1271
|
object.children[j].castShadow = true; // change
|
|
@@ -1274,7 +1280,7 @@ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure
|
|
|
1274
1280
|
});
|
|
1275
1281
|
}
|
|
1276
1282
|
// render 3d appliance function ////////////////////////////////
|
|
1277
|
-
|
|
1283
|
+
function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
|
|
1278
1284
|
var mode = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
|
1279
1285
|
var structure = structure_json;
|
|
1280
1286
|
var onLoadItem = function onLoadItem(object) {
|
|
@@ -1290,12 +1296,12 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1290
1296
|
length: sizeinfo.height,
|
|
1291
1297
|
unit: 'in'
|
|
1292
1298
|
};
|
|
1293
|
-
var newWidth = convert(width.length).from(width.unit).to('cm');
|
|
1294
|
-
var newDepth = convert(depth.length).from(depth.unit).to('cm');
|
|
1295
|
-
var newHeight = convert(height.length).from(height.unit).to('cm');
|
|
1299
|
+
var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
|
|
1300
|
+
var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
|
|
1301
|
+
var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('cm');
|
|
1296
1302
|
var newAltitude = element.properties.get('altitude').get('_length');
|
|
1297
1303
|
var newUnit = element.properties.get('altitude').get('_unit') || 'in';
|
|
1298
|
-
newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
|
|
1304
|
+
newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
|
|
1299
1305
|
|
|
1300
1306
|
//object.scale.set(newWidth, newHeight, newDepth);
|
|
1301
1307
|
object.scale.set(100, 100, 100);
|
|
@@ -1375,7 +1381,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1375
1381
|
transparent: true,
|
|
1376
1382
|
opacity: 0.4
|
|
1377
1383
|
}));
|
|
1378
|
-
var color = new Three.Color(ARROW_COLOR).convertLinearToSRGB();
|
|
1384
|
+
var color = new Three.Color(_constants.ARROW_COLOR).convertLinearToSRGB();
|
|
1379
1385
|
var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
|
|
1380
1386
|
color: color
|
|
1381
1387
|
}));
|
|
@@ -1481,7 +1487,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1481
1487
|
|
|
1482
1488
|
// load base to start //
|
|
1483
1489
|
// return loadGLTF(dirName + structure["base"])
|
|
1484
|
-
return loadGLTF(structure['base']).then(function (object) {
|
|
1490
|
+
return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
|
|
1485
1491
|
// let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
|
|
1486
1492
|
// let texture = loadTexture(textureURL);
|
|
1487
1493
|
// texture.wrapS = Three.MirroredRepeatWrapping;
|
|
@@ -1496,7 +1502,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1496
1502
|
// mat2.envMap = textureCube;
|
|
1497
1503
|
object.material = mat2;
|
|
1498
1504
|
for (var j = 0; j < object.children.length; j++) {
|
|
1499
|
-
if (object.children[j].type === OBJTYPE_MESH) {
|
|
1505
|
+
if (object.children[j].type === _constants.OBJTYPE_MESH) {
|
|
1500
1506
|
object.children[j].material = mat2;
|
|
1501
1507
|
object.children[j].receiveShadow = true;
|
|
1502
1508
|
}
|
|
@@ -1509,7 +1515,7 @@ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_
|
|
|
1509
1515
|
return _loadGLTFs3(0);
|
|
1510
1516
|
});
|
|
1511
1517
|
}
|
|
1512
|
-
|
|
1518
|
+
function addEdgesToMesh(inChild) {
|
|
1513
1519
|
var boxEdge = new Three.EdgesGeometry(inChild.geometry, 10);
|
|
1514
1520
|
var boxEdgeMaterial = new Three.LineBasicMaterial({
|
|
1515
1521
|
color: 0x000000,
|
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.loadGLTF = loadGLTF;
|
|
7
|
+
exports.loadObjWithMaterial = loadObjWithMaterial;
|
|
8
|
+
exports.scaleObject = scaleObject;
|
|
9
|
+
var _three = require("three");
|
|
10
|
+
var _MTLLoader = require("three/examples/jsm/loaders/MTLLoader.js");
|
|
11
|
+
var _OBJLoader = require("three/examples/jsm/loaders/OBJLoader.js");
|
|
12
|
+
var _GLTFLoader = require("three/examples/jsm/loaders/GLTFLoader.js");
|
|
13
|
+
var _DRACOLoader = require("three/examples/jsm/loaders/DRACOLoader.js");
|
|
14
|
+
var _constants = require("../../constants");
|
|
15
|
+
function loadObjWithMaterial(mtlFile, objFile, imgPath) {
|
|
16
|
+
var manager = new _three.LoadingManager();
|
|
17
|
+
var mtlLoader = new _MTLLoader.MTLLoader(manager);
|
|
10
18
|
// mtlLoader.setPath(imgPath);
|
|
11
19
|
var url = mtlFile;
|
|
12
20
|
return new Promise(function (resolve, reject) {
|
|
13
21
|
mtlLoader.load(url, function (materials) {
|
|
14
22
|
materials.preload();
|
|
15
|
-
var objLoader = new OBJLoader();
|
|
23
|
+
var objLoader = new _OBJLoader.OBJLoader();
|
|
16
24
|
objLoader.setMaterials(materials);
|
|
17
25
|
objLoader.load(objFile, function (object) {
|
|
18
26
|
return resolve(object);
|
|
@@ -20,12 +28,12 @@ export function loadObjWithMaterial(mtlFile, objFile, imgPath) {
|
|
|
20
28
|
});
|
|
21
29
|
});
|
|
22
30
|
}
|
|
23
|
-
|
|
31
|
+
function loadGLTF(url) {
|
|
24
32
|
if (url == undefined) {
|
|
25
33
|
return Promise.reject('No url is passed');
|
|
26
34
|
}
|
|
27
|
-
var baseURL = LoaderUtils.extractUrlBase(url);
|
|
28
|
-
var manager = new LoadingManager();
|
|
35
|
+
var baseURL = _three.LoaderUtils.extractUrlBase(url);
|
|
36
|
+
var manager = new _three.LoadingManager();
|
|
29
37
|
|
|
30
38
|
// Intercept and override relative URLs.
|
|
31
39
|
manager.setURLModifier(function (url, path) {
|
|
@@ -42,9 +50,9 @@ export function loadGLTF(url) {
|
|
|
42
50
|
// }
|
|
43
51
|
return (path || '') + url;
|
|
44
52
|
});
|
|
45
|
-
var loader = new GLTFLoader(manager);
|
|
53
|
+
var loader = new _GLTFLoader.GLTFLoader(manager);
|
|
46
54
|
loader.setCrossOrigin('anonymous');
|
|
47
|
-
var dracoLoader = new DRACOLoader();
|
|
55
|
+
var dracoLoader = new _DRACOLoader.DRACOLoader();
|
|
48
56
|
dracoLoader.setDecoderPath('/assets/draco/');
|
|
49
57
|
loader.setDRACOLoader(dracoLoader);
|
|
50
58
|
return new Promise(function (resolve, reject) {
|
|
@@ -62,15 +70,15 @@ export function loadGLTF(url) {
|
|
|
62
70
|
});
|
|
63
71
|
});
|
|
64
72
|
}
|
|
65
|
-
|
|
66
|
-
var boundingBox = new Box3().setFromObject(object);
|
|
67
|
-
var initialSizeArray = boundingBox.getSize(new Vector3()).toArray();
|
|
73
|
+
function scaleObject(object, defaultSizeArray, scaleSizeArray) {
|
|
74
|
+
var boundingBox = new _three.Box3().setFromObject(object);
|
|
75
|
+
var initialSizeArray = boundingBox.getSize(new _three.Vector3()).toArray();
|
|
68
76
|
for (var i = 0; i < 3; i++) {
|
|
69
77
|
scaleSizeArray[i] -= defaultSizeArray[i];
|
|
70
78
|
defaultSizeArray[i] /= initialSizeArray[i];
|
|
71
79
|
}
|
|
72
80
|
object.children.forEach(function (child) {
|
|
73
|
-
if (child.type == OBJTYPE_MESH && child.geometry instanceof BufferGeometry) {
|
|
81
|
+
if (child.type == _constants.OBJTYPE_MESH && child.geometry instanceof _three.BufferGeometry) {
|
|
74
82
|
var position = child.geometry.attributes.position;
|
|
75
83
|
var new_pos = position.array.map(function (v, i, a) {
|
|
76
84
|
var j = i % 3;
|
|
@@ -81,7 +89,7 @@ export function scaleObject(object, defaultSizeArray, scaleSizeArray) {
|
|
|
81
89
|
}
|
|
82
90
|
return v;
|
|
83
91
|
});
|
|
84
|
-
var new_geom = child.geometry.clone().setAttribute('position', new BufferAttribute(new_pos, 3));
|
|
92
|
+
var new_geom = child.geometry.clone().setAttribute('position', new _three.BufferAttribute(new_pos, 3));
|
|
85
93
|
new_geom.computeBoundingBox();
|
|
86
94
|
new_geom.computeBoundingSphere();
|
|
87
95
|
child.geometry.dispose();
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.MTLLoader = void 0;
|
|
1
7
|
/**
|
|
2
8
|
* Loads a Wavefront .mtl file specifying materials
|
|
3
9
|
*
|
|
@@ -6,7 +12,7 @@
|
|
|
6
12
|
|
|
7
13
|
var THREE = window.THREE;
|
|
8
14
|
var MTLLoader;
|
|
9
|
-
MTLLoader = function MTLLoader(manager) {
|
|
15
|
+
exports.MTLLoader = MTLLoader = function MTLLoader(manager) {
|
|
10
16
|
this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
|
|
11
17
|
};
|
|
12
18
|
Object.assign(MTLLoader.prototype, THREE.EventDispatcher.prototype, {
|
|
@@ -354,5 +360,4 @@ MTLLoader.MaterialCreator.prototype = {
|
|
|
354
360
|
return texture;
|
|
355
361
|
}
|
|
356
362
|
};
|
|
357
|
-
|
|
358
|
-
export { MTLLoader };
|
|
363
|
+
var _default = exports["default"] = MTLLoader;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.OBJLoader = void 0;
|
|
1
7
|
/**
|
|
2
8
|
* @author mrdoob / http://mrdoob.com/
|
|
3
9
|
*/
|
|
4
10
|
var THREE = window.THREE;
|
|
5
11
|
var OBJLoader;
|
|
6
|
-
OBJLoader = function () {
|
|
12
|
+
exports.OBJLoader = OBJLoader = function () {
|
|
7
13
|
// o object_name | g group_name
|
|
8
14
|
var object_pattern = /^[og]\s*(.+)?/;
|
|
9
15
|
// mtllib file_reference
|
|
@@ -473,5 +479,4 @@ OBJLoader = function () {
|
|
|
473
479
|
};
|
|
474
480
|
return OBJLoader;
|
|
475
481
|
}();
|
|
476
|
-
|
|
477
|
-
export { OBJLoader };
|
|
482
|
+
var _default = exports["default"] = OBJLoader;
|