kitchen-simulator 1.1.1-test.70 → 1.1.1-test.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/es/@history.js +2 -8
  2. package/es/AppContext.js +3 -8
  3. package/es/KitchenConfigurator.js +70 -77
  4. package/es/KitchenConfiguratorApp.js +98 -105
  5. package/es/actions/area-actions.js +5 -10
  6. package/es/actions/export.js +12 -27
  7. package/es/actions/groups-actions.js +27 -43
  8. package/es/actions/holes-actions.js +34 -53
  9. package/es/actions/items-actions.js +94 -143
  10. package/es/actions/lines-actions.js +21 -34
  11. package/es/actions/project-actions.js +94 -143
  12. package/es/actions/scene-actions.js +11 -19
  13. package/es/actions/vertices-actions.js +7 -13
  14. package/es/actions/viewer2d-actions.js +21 -34
  15. package/es/actions/viewer3d-actions.js +9 -16
  16. package/es/catalog/areas/area/planner-element.js +2 -7
  17. package/es/catalog/catalog.js +15 -19
  18. package/es/catalog/factories/area-factory-3d.js +22 -29
  19. package/es/catalog/factories/area-factory.js +11 -18
  20. package/es/catalog/factories/export.js +6 -12
  21. package/es/catalog/factories/wall-factory-3d.js +31 -39
  22. package/es/catalog/factories/wall-factory.js +21 -29
  23. package/es/catalog/holes/door-closet/planner-element.js +15 -22
  24. package/es/catalog/holes/door-double/planner-element.js +15 -22
  25. package/es/catalog/holes/door-exterior/planner-element.js +16 -23
  26. package/es/catalog/holes/door-interior/planner-element.js +16 -23
  27. package/es/catalog/holes/door-panic/planner-element.js +7 -14
  28. package/es/catalog/holes/door-panic-double/planner-element.js +15 -22
  29. package/es/catalog/holes/door-sliding/planner-element.js +16 -23
  30. package/es/catalog/holes/doorway-framed/planner-element.js +11 -18
  31. package/es/catalog/holes/doorway-frameless/planner-element.js +7 -14
  32. package/es/catalog/holes/export.js +13 -31
  33. package/es/catalog/holes/window-clear/planner-element.js +10 -17
  34. package/es/catalog/holes/window-cross/planner-element.js +10 -17
  35. package/es/catalog/holes/window-double-hung/planner-element.js +10 -17
  36. package/es/catalog/holes/window-vertical/planner-element.js +10 -17
  37. package/es/catalog/lines/wall/planner-element.js +2 -7
  38. package/es/catalog/molding/molding-dcm/planner-element.js +5 -12
  39. package/es/catalog/molding/molding-fbm/planner-element.js +5 -12
  40. package/es/catalog/molding/molding-lrm/planner-element.js +5 -12
  41. package/es/catalog/properties/export.js +20 -33
  42. package/es/catalog/properties/property-checkbox.js +24 -29
  43. package/es/catalog/properties/property-color.js +16 -21
  44. package/es/catalog/properties/property-enum.js +24 -29
  45. package/es/catalog/properties/property-hidden.js +9 -14
  46. package/es/catalog/properties/property-lenght-measure.js +38 -43
  47. package/es/catalog/properties/property-length-measure.js +36 -41
  48. package/es/catalog/properties/property-length-measure_hole.js +38 -43
  49. package/es/catalog/properties/property-number.js +17 -22
  50. package/es/catalog/properties/property-read-only.js +16 -21
  51. package/es/catalog/properties/property-string.js +16 -21
  52. package/es/catalog/properties/property-toggle.js +16 -21
  53. package/es/catalog/properties/shared-property-style.js +1 -5
  54. package/es/catalog/utils/FuseUtils.js +8 -13
  55. package/es/catalog/utils/exporter.js +8 -13
  56. package/es/catalog/utils/geom-utils.js +13 -27
  57. package/es/catalog/utils/item-loader.js +84 -95
  58. package/es/catalog/utils/load-obj.js +20 -26
  59. package/es/catalog/utils/mtl-loader.js +3 -6
  60. package/es/catalog/utils/obj-loader.js +3 -6
  61. package/es/class/FuseUtils.js +8 -13
  62. package/es/class/area.js +22 -26
  63. package/es/class/export.js +23 -38
  64. package/es/class/group.js +53 -57
  65. package/es/class/guide.js +15 -19
  66. package/es/class/hole.js +83 -87
  67. package/es/class/item.js +141 -145
  68. package/es/class/layer.js +59 -63
  69. package/es/class/line.js +135 -141
  70. package/es/class/project.js +90 -96
  71. package/es/class/vertex.js +29 -33
  72. package/es/components/content.js +19 -26
  73. package/es/components/disclaimer/disclaimer.js +10 -16
  74. package/es/components/export.js +8 -15
  75. package/es/components/style/button.js +23 -29
  76. package/es/components/style/cancel-button.js +7 -12
  77. package/es/components/style/content-container.js +9 -14
  78. package/es/components/style/content-title.js +11 -18
  79. package/es/components/style/delete-button.js +8 -15
  80. package/es/components/style/export.js +30 -48
  81. package/es/components/style/form-block.js +8 -13
  82. package/es/components/style/form-color-input.js +7 -12
  83. package/es/components/style/form-label.js +8 -13
  84. package/es/components/style/form-number-input.js +41 -47
  85. package/es/components/style/form-number-input_2.js +36 -42
  86. package/es/components/style/form-select.js +17 -22
  87. package/es/components/style/form-slider.js +10 -15
  88. package/es/components/style/form-submit-button.js +8 -15
  89. package/es/components/style/form-text-input.js +26 -32
  90. package/es/components/viewer2d/area.js +17 -22
  91. package/es/components/viewer2d/export.js +30 -48
  92. package/es/components/viewer2d/grids/grid-horizontal-streak.js +10 -15
  93. package/es/components/viewer2d/grids/grid-streak.js +10 -15
  94. package/es/components/viewer2d/grids/grid-vertical-streak.js +10 -15
  95. package/es/components/viewer2d/grids/grids.js +10 -17
  96. package/es/components/viewer2d/group.js +15 -22
  97. package/es/components/viewer2d/item.js +61 -68
  98. package/es/components/viewer2d/layer.js +23 -28
  99. package/es/components/viewer2d/line.js +101 -109
  100. package/es/components/viewer2d/ruler.js +22 -27
  101. package/es/components/viewer2d/rulerDist.js +21 -26
  102. package/es/components/viewer2d/rulerX.js +39 -45
  103. package/es/components/viewer2d/rulerY.js +37 -43
  104. package/es/components/viewer2d/scene.js +30 -36
  105. package/es/components/viewer2d/snap.js +13 -20
  106. package/es/components/viewer2d/state.js +18 -25
  107. package/es/components/viewer2d/utils.js +24 -35
  108. package/es/components/viewer2d/vertex.js +8 -15
  109. package/es/components/viewer2d/viewer2d.js +153 -161
  110. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +17 -21
  111. package/es/components/viewer3d/dcm.js +1 -5
  112. package/es/components/viewer3d/fbm.js +1 -5
  113. package/es/components/viewer3d/front3D.js +12 -19
  114. package/es/components/viewer3d/grid-creator.js +8 -15
  115. package/es/components/viewer3d/grids/grid-horizontal-streak.js +6 -12
  116. package/es/components/viewer3d/grids/grid-streak.js +5 -11
  117. package/es/components/viewer3d/grids/grid-vertical-streak.js +6 -12
  118. package/es/components/viewer3d/libs/first-person-controls.js +2 -7
  119. package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +1 -5
  120. package/es/components/viewer3d/libs/mtl-loader.js +1 -5
  121. package/es/components/viewer3d/libs/obj-loader.js +1 -5
  122. package/es/components/viewer3d/libs/orbit-controls.js +2 -6
  123. package/es/components/viewer3d/libs/pointer-lock-controls.js +2 -6
  124. package/es/components/viewer3d/lrm.js +1 -5
  125. package/es/components/viewer3d/model.js +1 -5
  126. package/es/components/viewer3d/pointer-lock-navigation.js +3 -8
  127. package/es/components/viewer3d/ruler-utils/itemRect.js +18 -23
  128. package/es/components/viewer3d/ruler-utils/layer3D.js +59 -64
  129. package/es/components/viewer3d/ruler-utils/ruler3D.js +39 -44
  130. package/es/components/viewer3d/ruler-utils/scene3D.js +9 -15
  131. package/es/components/viewer3d/ruler-utils/state3D.js +4 -9
  132. package/es/components/viewer3d/scene-creator.js +191 -224
  133. package/es/components/viewer3d/three-memory-cleaner.js +3 -10
  134. package/es/components/viewer3d/viewer3d-first-person.js +40 -44
  135. package/es/components/viewer3d/viewer3d.js +196 -200
  136. package/es/constants.js +349 -356
  137. package/es/index.js +7 -13
  138. package/es/models.js +177 -182
  139. package/es/plugins/SVGLoader.js +48 -51
  140. package/es/plugins/autosave.js +3 -7
  141. package/es/plugins/console-debugger.js +5 -10
  142. package/es/plugins/export.js +8 -15
  143. package/es/plugins/keyboard.js +29 -33
  144. package/es/reducers/areas-reducer.js +7 -11
  145. package/es/reducers/export.js +24 -39
  146. package/es/reducers/groups-reducer.js +31 -35
  147. package/es/reducers/holes-reducer.js +43 -47
  148. package/es/reducers/items-reducer.js +106 -110
  149. package/es/reducers/lines-reducer.js +28 -32
  150. package/es/reducers/project-reducer.js +105 -109
  151. package/es/reducers/reducer.js +16 -21
  152. package/es/reducers/scene-reducer.js +15 -19
  153. package/es/reducers/user-reducer.js +5 -9
  154. package/es/reducers/vertices-reducer.js +11 -15
  155. package/es/reducers/viewer2d-reducer.js +18 -22
  156. package/es/reducers/viewer3d-reducer.js +16 -20
  157. package/es/shared-style.js +10 -14
  158. package/es/styles/export.js +3 -9
  159. package/es/translator/en.js +1 -5
  160. package/es/translator/it.js +1 -5
  161. package/es/translator/ru.js +1 -5
  162. package/es/translator/translator.js +13 -17
  163. package/es/utils/browser.js +2 -7
  164. package/es/utils/convert-units-lite.js +1 -5
  165. package/es/utils/email-validator.js +1 -5
  166. package/es/utils/export.js +15 -32
  167. package/es/utils/geometry.js +181 -276
  168. package/es/utils/get-edges-of-subgraphs.js +2 -7
  169. package/es/utils/graph-cycles.js +8 -9
  170. package/es/utils/graph-inner-cycles.js +10 -16
  171. package/es/utils/graph.js +9 -15
  172. package/es/utils/helper.js +39 -61
  173. package/es/utils/history.js +8 -13
  174. package/es/utils/id-broker.js +8 -13
  175. package/es/utils/logger.js +1 -5
  176. package/es/utils/math.js +5 -10
  177. package/es/utils/molding.js +119 -142
  178. package/es/utils/name-generator.js +7 -11
  179. package/es/utils/objects-utils.js +7 -17
  180. package/es/utils/phone-validator.js +1 -5
  181. package/es/utils/process-black-list.js +3 -8
  182. package/es/utils/react-if.js +6 -10
  183. package/es/utils/snap-scene.js +27 -32
  184. package/es/utils/snap.js +45 -57
  185. package/es/utils/summarizeCart.js +1 -5
  186. package/es/utils/threeCSG.es6.js +13 -20
  187. package/es/version.js +1 -5
  188. package/package.json +1 -1
@@ -1,20 +1,6 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- exports.__esModule = true;
5
- exports.addShape = addShape;
6
- exports.baseBox3FromObject = baseBox3FromObject;
7
- exports.baseBoxHelper = baseBoxHelper;
8
- exports.controlGeom = controlGeom;
9
- exports.createRotShape = createRotShape;
10
- exports.emptyBoxHolder = emptyBoxHolder;
11
- exports.makeMBoxfromObject = makeMBoxfromObject;
12
- exports.rotGeoms = rotGeoms;
13
- exports.upwardsGeom = upwardsGeom;
14
- var Three = _interopRequireWildcard(require("three"));
15
- var _constants = require("../../constants");
16
- 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" != _typeof(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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
- function controlGeom() {
1
+ import * as Three from 'three';
2
+ import { OBJTYPE_MESH } from "../../constants";
3
+ export function controlGeom() {
18
4
  var vertices = new Float32Array([0, 0.02, 0.55, -0.08, 0, 0.5, -0.05, 0, 0.5, -0.05, 0, -0.5, -0.08, 0, -0.5, 0, 0.02, -0.55, 0.08, 0, -0.5, 0.05, 0, -0.5, 0.05, 0, 0.5, 0.08, 0, 0.5, 0, 0.02, 0.55, -0.08, 0.04, 0.5, -0.05, 0.04, 0.5, -0.05, 0.04, -0.5, -0.08, 0.04, -0.5, 0, 0.02, -0.55, 0.08, 0.04, -0.5, 0.05, 0.04, -0.5, 0.05, 0.04, 0.5, 0.08, 0.04, 0.5, 0, 0.02, 0.55]);
19
5
  var indices = new Uint16Array([0, 1, 9, 4, 5, 6, 2, 3, 8, 3, 7, 8, 10, 11, 19, 14, 15, 16, 12, 13, 18, 13, 17, 18, 10, 1, 11, 10, 9, 19, 1, 2, 11, 2, 12, 11, 8, 9, 18, 9, 18, 19, 12, 2, 3, 12, 3, 13, 17, 7, 8, 17, 8, 18, 5, 4, 14, 15, 6, 16]);
20
6
  var geometry = new Three.BufferGeometry();
@@ -22,7 +8,7 @@ function controlGeom() {
22
8
  geometry.setIndex(new Three.BufferAttribute(indices, 1));
23
9
  return geometry;
24
10
  }
25
- function upwardsGeom() {
11
+ export function upwardsGeom() {
26
12
  var vertices = new Float32Array([0.05, 0, 0.05, 0.05, 0.3, 0.05, 0.07, 0.3, 0.05, 0, 0.4, 0.05, -0.07, 0.3, 0.05, -0.05, 0.3, 0.05, -0.05, 0, 0.05, 0.05, 0, 0.05, 0.05, 0, -0.05, 0.05, 0.3, -0.05, 0.07, 0.3, -0.05, 0, 0.4, -0.05, -0.07, 0.3, -0.05, -0.05, 0.3, -0.05, -0.05, 0, -0.05, 0.05, 0, -0.05]);
27
13
  var indices = new Uint16Array([0, 1, 5, 0, 5, 6, 2, 3, 4, 0, 1, 8, 1, 8, 9, 1, 2, 9, 2, 9, 10, 2, 3, 10, 3, 10, 11, 3, 4, 11, 4, 11, 12, 4, 5, 12, 4, 12, 13, 5, 6, 13, 6, 13, 14, 6, 7, 14, 7, 14, 15, 8, 9, 13, 8, 13, 14, 10, 11, 12]);
28
14
  var geometry = new Three.BufferGeometry();
@@ -30,7 +16,7 @@ function upwardsGeom() {
30
16
  geometry.setIndex(new Three.BufferAttribute(indices, 1));
31
17
  return geometry;
32
18
  }
33
- function createRotShape(radius) {
19
+ export function createRotShape(radius) {
34
20
  var rotShape = new Three.Shape();
35
21
  rotShape.moveTo(Math.cos(-60 / 180 * Math.PI) * (radius - 0.05), Math.sin(-60 / 180 * Math.PI) * (radius - 0.05));
36
22
  for (var i = -55; i <= 60; i += 5) {
@@ -59,7 +45,7 @@ function createRotShape(radius) {
59
45
  rotShape.lineTo(Math.cos(-60 / 180 * Math.PI) * (radius - 0.05), Math.sin(-60 / 180 * Math.PI) * (radius - 0.05));
60
46
  return rotShape;
61
47
  }
62
- function rotGeoms(radius) {
48
+ export function rotGeoms(radius) {
63
49
  if (!Number.isFinite(radius)) radius = 1;
64
50
  var rotShape = createRotShape(radius);
65
51
  var rotFill = new Three.ShapeGeometry(rotShape);
@@ -71,7 +57,7 @@ function rotGeoms(radius) {
71
57
  rotStroke: rotStroke
72
58
  };
73
59
  }
74
- function addShape(shape, extrudeSettings, color, x, y, z, rx, ry, rz, s) {
60
+ export function addShape(shape, extrudeSettings, color, x, y, z, rx, ry, rz, s) {
75
61
  // flat shape
76
62
  var geometry = geometry = new Three.ExtrudeGeometry(shape, extrudeSettings);
77
63
  var mesh = new Three.Mesh(geometry, new Three.MeshPhongMaterial({
@@ -83,7 +69,7 @@ function addShape(shape, extrudeSettings, color, x, y, z, rx, ry, rz, s) {
83
69
  mesh.scale.set(s, s, s);
84
70
  return mesh;
85
71
  }
86
- function makeMBoxfromObject(props_Object) {
72
+ export function makeMBoxfromObject(props_Object) {
87
73
  var _props_Object$childre;
88
74
  var mBoxColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0x99c3fb;
89
75
  if (!props_Object) {
@@ -162,10 +148,10 @@ function makeMBoxfromObject(props_Object) {
162
148
 
163
149
  // }
164
150
 
165
- function baseBoxHelper(object, color) {
151
+ export function baseBoxHelper(object, color) {
166
152
  var tempobj = [];
167
153
  for (var j = object.children.length - 1; j >= 0; j--) {
168
- if (object.children[j].type !== _constants.OBJTYPE_MESH) {
154
+ if (object.children[j].type !== OBJTYPE_MESH) {
169
155
  tempobj.push(object.children[j]);
170
156
  object.remove(object.children[j]);
171
157
  }
@@ -176,10 +162,10 @@ function baseBoxHelper(object, color) {
176
162
  });
177
163
  return boxHelper;
178
164
  }
179
- function baseBox3FromObject(object) {
165
+ export function baseBox3FromObject(object) {
180
166
  var tempobj = [];
181
167
  for (var j = object.children.length - 1; j >= 0; j--) {
182
- if (object.children[j].type !== _constants.OBJTYPE_MESH || object.children[j].name.includes('_countertop')) {
168
+ if (object.children[j].type !== OBJTYPE_MESH || object.children[j].name.includes('_countertop')) {
183
169
  tempobj.push(object.children[j]);
184
170
  object.remove(object.children[j]);
185
171
  }
@@ -190,7 +176,7 @@ function baseBox3FromObject(object) {
190
176
  });
191
177
  return box3;
192
178
  }
193
- function emptyBoxHolder(newWidth, newHeight, newDepth) {
179
+ export function emptyBoxHolder(newWidth, newHeight, newDepth) {
194
180
  var scale = 2.54 / 100;
195
181
  var geometry = new Three.BoxGeometry(newWidth * scale, newHeight * scale, newDepth * scale);
196
182
  var material = new Three.MeshBasicMaterial({
@@ -1,30 +1,19 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
- exports.__esModule = true;
6
- exports.addEdgesToMesh = addEdgesToMesh;
7
- exports.loadTexture = loadTexture;
8
- exports.render2DItem = render2DItem;
9
- exports.render3DApplianceItem = render3DApplianceItem;
10
- exports.render3DItem = render3DItem;
11
- exports.render3DLightingItem = render3DLightingItem;
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
- var _convertUnitsLite = require("../../utils/convert-units-lite");
16
- var _immutable = require("immutable");
17
- var _react = _interopRequireWildcard(require("react"));
18
- var Three = _interopRequireWildcard(require("three"));
19
- var SceneCreator = _interopRequireWildcard(require("../../components/viewer3d/scene-creator"));
20
- var _constants = require("../../constants");
21
- var _models = require("../../models");
22
- var GeomUtils = _interopRequireWildcard(require("./geom-utils"));
23
- var _loadObj = require("./load-obj");
24
- var _helper = require("../../utils/helper");
25
- 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); }
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
26
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
- 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; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ import { convert } from "../../utils/convert-units-lite";
7
+ import { fromJS, Map } from 'immutable';
8
+ import React, { useState } from 'react';
9
+ import * as Three from 'three';
10
+ import * as SceneCreator from "../../components/viewer3d/scene-creator";
11
+ import { ARROW_COLOR, BASE_CABINET_LAYOUTPOS, OBJTYPE_GROUP, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, SHAPE_SVG_DEPTH, SHAPE_SVG_PADDING, SHAPE_SVG_WIDTH, STATUS_WARNING_COLOR, STATUS_WARNING_LIGHT_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, UNIT_INCH, WALL_CABINET_LAYOUTPOS } from "../../constants";
12
+ import { Item } from "../../models";
13
+ import * as GeomUtils from "./geom-utils";
14
+ import { loadGLTF } from "./load-obj";
15
+ import { animateDoor, translateDrawer } from "../../utils/helper";
16
+
28
17
  // env Map ///////////////
29
18
  var paramsCounter = {
30
19
  envMap: 'HDR',
@@ -54,9 +43,9 @@ var paramsModel = {
54
43
  var cachedObject = {}; // cached Object for quickly load-3d
55
44
 
56
45
  // render 2d function//////
57
- function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg) {
58
- var _useState = (0, _react.useState)(false),
59
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
46
+ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg) {
47
+ var _useState = useState(false),
48
+ _useState2 = _slicedToArray(_useState, 2),
60
49
  hover = _useState2[0],
61
50
  setHover = _useState2[1];
62
51
  var x = element.x,
@@ -99,24 +88,24 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
99
88
  length: tempDepth.get('_length'),
100
89
  unit: tempDepth.get('_unit')
101
90
  };
102
- var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from('in').to('cm');
103
- var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from('in').to('cm');
104
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
105
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
106
- var padding = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_PADDING).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
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);
107
96
  var angle = element.rotation + 90;
108
97
  var textRotation = 0;
109
98
  if (Math.sin(angle * Math.PI / 180) < 0) {
110
99
  textRotation = 180;
111
100
  }
112
101
  var color = '#eee';
113
- if (layoutpos == _constants.BASE_CABINET_LAYOUTPOS) {
102
+ if (layoutpos == BASE_CABINET_LAYOUTPOS) {
114
103
  color = '#3f8db3';
115
104
  }
116
- if (layoutpos == _constants.TALL_CABINET_LAYOUTPOS) {
105
+ if (layoutpos == TALL_CABINET_LAYOUTPOS) {
117
106
  color = '#93b3be';
118
107
  }
119
- if (layoutpos == _constants.WALL_CABINET_LAYOUTPOS) {
108
+ if (layoutpos == WALL_CABINET_LAYOUTPOS) {
120
109
  color = '#48b08dcc';
121
110
  }
122
111
  var splitStr = [];
@@ -130,7 +119,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
130
119
  if (objSKU.length !== 0) {
131
120
  var dcId,
132
121
  doorStyle = element.doorStyle;
133
- if (doorStyle instanceof _immutable.Map) {
122
+ if (doorStyle instanceof Map) {
134
123
  dcId = doorStyle.get('id');
135
124
  } else {
136
125
  dcId = doorStyle.id;
@@ -149,7 +138,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
149
138
  }
150
139
  splitStr.push(type.slice(lineCount * rowCount));
151
140
  splitStr.forEach(function (el, key) {
152
- txtContent.push(/*#__PURE__*/_react["default"].createElement("text", {
141
+ txtContent.push(/*#__PURE__*/React.createElement("text", {
153
142
  key: 'text' + key,
154
143
  x: "0",
155
144
  y: newDepth / 2 - 12,
@@ -193,12 +182,12 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
193
182
  // } else {
194
183
  // }
195
184
  svg_url = shape_svg.url;
196
- svg_width = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_WIDTH).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
197
- svg_depth = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_DEPTH).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
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);
198
187
  }
199
188
  var padding_width = padding * newWidth / svg_width;
200
189
  var padding_depth = padding * newDepth / svg_depth;
201
- rendered = /*#__PURE__*/_react["default"].createElement("g", {
190
+ rendered = /*#__PURE__*/React.createElement("g", {
202
191
  onMouseOver: function onMouseOver(event) {
203
192
  setHover(true);
204
193
  },
@@ -206,11 +195,11 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
206
195
  setHover(false);
207
196
  },
208
197
  transform: "translate(".concat(x, ",").concat(y, ")")
209
- }, /*#__PURE__*/_react["default"].createElement("g", {
198
+ }, /*#__PURE__*/React.createElement("g", {
210
199
  transform: "rotate(".concat(rotation, ")")
211
- }, /*#__PURE__*/_react["default"].createElement("g", {
200
+ }, /*#__PURE__*/React.createElement("g", {
212
201
  transform: "translate(".concat(-newWidth / 2 - padding_width, ",").concat(-newDepth / 2 - padding_depth, ")")
213
- }, /*#__PURE__*/_react["default"].createElement("image", {
202
+ }, /*#__PURE__*/React.createElement("image", {
214
203
  preserveAspectRatio: "none",
215
204
  style: {
216
205
  pointerEvents: 'none'
@@ -221,7 +210,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
221
210
  transform: "scale(1, -1)",
222
211
  x: "0",
223
212
  y: "".concat(-newDepth - 2 * padding_depth)
224
- }), /*#__PURE__*/_react["default"].createElement("rect", {
213
+ }), /*#__PURE__*/React.createElement("rect", {
225
214
  x: "".concat(padding_width),
226
215
  y: "".concat(padding_depth),
227
216
  width: "".concat(newWidth),
@@ -234,14 +223,14 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
234
223
  opacity: 0.7,
235
224
  postion: 'relative'
236
225
  },
237
- fill: _constants.STATUS_WARNING_LIGHT_COLOR,
238
- stroke: _constants.STATUS_WARNING_COLOR,
226
+ fill: STATUS_WARNING_LIGHT_COLOR,
227
+ stroke: STATUS_WARNING_COLOR,
239
228
  strokeWidth: "2px"
240
- }), /*#__PURE__*/_react["default"].createElement("g", {
229
+ }), /*#__PURE__*/React.createElement("g", {
241
230
  transform: "translate(".concat(padding_width, ",").concat(padding_depth, ")")
242
231
  }, txtContent))));
243
232
  } else {
244
- rendered = /*#__PURE__*/_react["default"].createElement("g", {
233
+ rendered = /*#__PURE__*/React.createElement("g", {
245
234
  onMouseOver: function onMouseOver(event) {
246
235
  setHover(true);
247
236
  },
@@ -249,22 +238,22 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
249
238
  setHover(false);
250
239
  },
251
240
  transform: "translate(".concat(x, ",").concat(y, ")")
252
- }, /*#__PURE__*/_react["default"].createElement("g", {
241
+ }, /*#__PURE__*/React.createElement("g", {
253
242
  transform: "rotate(".concat(rotation, ")")
254
- }, /*#__PURE__*/_react["default"].createElement("g", {
243
+ }, /*#__PURE__*/React.createElement("g", {
255
244
  transform: "translate(".concat(-newWidth / 2, ",").concat(-newDepth / 2, ")")
256
- }, newDepth > 15 ? [/*#__PURE__*/_react["default"].createElement("rect", {
245
+ }, newDepth > 15 ? [/*#__PURE__*/React.createElement("rect", {
257
246
  key: "base",
258
247
  x: "0",
259
248
  y: "12",
260
249
  width: newWidth,
261
250
  height: newDepth - 12,
262
251
  style: style
263
- }), /*#__PURE__*/_react["default"].createElement("polygon", {
252
+ }), /*#__PURE__*/React.createElement("polygon", {
264
253
  key: "door",
265
254
  style: style,
266
255
  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")
267
- })] : /*#__PURE__*/_react["default"].createElement("rect", {
256
+ })] : /*#__PURE__*/React.createElement("rect", {
268
257
  key: "base",
269
258
  x: "0",
270
259
  y: "0",
@@ -277,7 +266,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
277
266
  }
278
267
  // end of render 2d function /////////////////////////
279
268
 
280
- function loadTexture(url) {
269
+ export function loadTexture(url) {
281
270
  var texture = new Three.TextureLoader().load(url);
282
271
  texture.colorSpace = Three.SRGBColorSpace;
283
272
  texture.wrapS = Three.MirroredRepeatWrapping;
@@ -322,10 +311,10 @@ var assignUVs = function assignUVs(geometry) {
322
311
  * @param sizeinfo Dimesion of the item
323
312
  * @param structure_json Structure of the item such as place holders and meshes, etc
324
313
  */
325
- function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
314
+ export function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
326
315
  var mode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
327
- if (element.doorStyle.constructor !== _immutable.Map) {
328
- element = element.set('doorStyle', (0, _immutable.fromJS)(element.doorStyle));
316
+ if (element.doorStyle.constructor !== Map) {
317
+ element = element.set('doorStyle', fromJS(element.doorStyle));
329
318
  }
330
319
  if (element.doorStyle.toJS().handle_gltf !== '') {
331
320
  // Check element has doorHandle
@@ -347,9 +336,9 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
347
336
  length: sizeinfo.height,
348
337
  unit: 'in'
349
338
  };
350
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('in');
351
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('in');
352
- var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('in');
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');
353
342
  var mainName = ''; // to get name structure//
354
343
  if (element.properties.get('width')) newWidth = element.getIn(['properties', 'width', '_length']);
355
344
  if (element.properties.get('depth')) newDepth = element.getIn(['properties', 'depth', '_length']);
@@ -367,7 +356,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
367
356
  counterTop.uri = layer.toJS().counterTop.uri;
368
357
  }
369
358
  if ('name' in element.doorStyle) {
370
- doorStyles = new _immutable.Map(element.doorStyle.doorStyles);
359
+ doorStyles = new Map(element.doorStyle.doorStyles);
371
360
  color = element.doorStyle.color;
372
361
  glossness = element.doorStyle.glossness;
373
362
  handleMaterial.metalness = element.doorStyle.metalness;
@@ -410,7 +399,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
410
399
  var object1 = object;
411
400
  var newAltitude = element.properties.get('altitude').get('_length');
412
401
  var newUnit = element.properties.get('altitude').get('_unit') || 'in';
413
- newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
402
+ newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
414
403
  var _element = element.toJS();
415
404
  if (!_element.doorStyle.doorStyles.is_euro_cds) {
416
405
  object1.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
@@ -548,7 +537,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
548
537
  transparent: true,
549
538
  opacity: 0.4
550
539
  }));
551
- var _color = new Three.Color(_constants.SHADE_DARK_PURPLE_COLOR).convertLinearToSRGB();
540
+ var _color = new Three.Color(SHADE_DARK_PURPLE_COLOR).convertLinearToSRGB();
552
541
  var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
553
542
  color: _color
554
543
  }));
@@ -630,7 +619,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
630
619
  SceneCreator.updateDoorHandleMesh(element, object1, true);
631
620
  }
632
621
  object1.traverse(function (obj) {
633
- if (obj.type === _constants.OBJTYPE_MESH) {
622
+ if (obj.type === OBJTYPE_MESH) {
634
623
  var name = obj.name;
635
624
  if (name.match(/_door_.*_glass_/)) {
636
625
  var material = new Three.MeshPhysicalMaterial({
@@ -685,10 +674,10 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
685
674
  if (isDoor) {
686
675
  var offsetData = object1.userData.door_animate_offset[obj.name];
687
676
  // Open Door
688
- (0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
677
+ animateDoor(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
689
678
  } else {
690
679
  // Open Drawer
691
- (0, _helper.translateDrawer)(element.toJS(), obj, open_doors, 'Opened2D');
680
+ translateDrawer(element.toJS(), obj, open_doors, 'Opened2D');
692
681
  }
693
682
  }
694
683
  }
@@ -760,7 +749,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
760
749
  _url = structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())];
761
750
  }
762
751
  }
763
- if ((0, _typeof2["default"])(_url) == Array) _url = _url[0];
752
+ if (_typeof(_url) == Array) _url = _url[0];
764
753
  var uData = _url.split('/');
765
754
  uData = uData[uData.length - 1];
766
755
  uData = uData.slice(0, -5);
@@ -805,7 +794,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
805
794
  } else {
806
795
  structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = null;
807
796
  }
808
- return (0, _loadObj.loadGLTF)(loadUrl).then(function (object) {
797
+ return loadGLTF(loadUrl).then(function (object) {
809
798
  if (normalMap !== '') {
810
799
  var normalUrl = normalMap.split('.')[0] + '-normal.' + normalMap.split('.')[1];
811
800
  var t = loadTexture(normalMap);
@@ -818,7 +807,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
818
807
  mat2.normalMap = _m;
819
808
  // mat2.envMap = textureCube;
820
809
  for (var _j3 = 0; _j3 < object.children.length; _j3++) {
821
- if (object.children[_j3].type === _constants.OBJTYPE_MESH) {
810
+ if (object.children[_j3].type === OBJTYPE_MESH) {
822
811
  object.children[_j3].material = mat2;
823
812
  object.children[_j3].receiveShadow = true;
824
813
  }
@@ -850,12 +839,12 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
850
839
  }
851
840
  // mat2.envMap = textureCube;
852
841
  for (var _j4 = 0; _j4 < object.children.length; _j4++) {
853
- if (object.children[_j4].type === _constants.OBJTYPE_MESH) {
842
+ if (object.children[_j4].type === OBJTYPE_MESH) {
854
843
  object.children[_j4].material = _mat;
855
844
  object.children[_j4].receiveShadow = true;
856
845
  object.children[_j4].castShadow = true;
857
846
  !object.children[_j4].name.includes('handle') && addEdgesToMesh(object.children[_j4]);
858
- } else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
847
+ } else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === OBJTYPE_GROUP) {
859
848
  object.children[_j4].traverse(function (prim) {
860
849
  prim.material = _mat;
861
850
  prim.receiveShadow = true;
@@ -869,7 +858,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
869
858
  });
870
859
  // mat2.envMap = textureCube;
871
860
  for (var _j5 = 0; _j5 < object.children.length; _j5++) {
872
- if (object.children[_j5].type === _constants.OBJTYPE_MESH) {
861
+ if (object.children[_j5].type === OBJTYPE_MESH) {
873
862
  object.children[_j5].material = _mat2;
874
863
  object.children[_j5].receiveShadow = true;
875
864
  }
@@ -893,7 +882,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
893
882
  if (placeholder.includes('drawer_door') && placeholder.includes('_handle')) {
894
883
  tmp.rotateZ(Math.PI / 2);
895
884
  }
896
- if (placeholder.includes('_handle') && tmp.children[0].type === _constants.OBJTYPE_MESH) {
885
+ if (placeholder.includes('_handle') && tmp.children[0].type === OBJTYPE_MESH) {
897
886
  // NOTE: change metalness of handle
898
887
  tmp.children[0].material.metalness = 1;
899
888
  // handleMaterial.metalness || 0.2;
@@ -914,7 +903,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
914
903
  });
915
904
  }
916
905
  };
917
- return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
906
+ return loadGLTF(structure['base']).then(function (object) {
918
907
  object.name = 'MainObject';
919
908
  object.receiveShadow = true;
920
909
  objGroup = object;
@@ -991,7 +980,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
991
980
  addEdgesToMesh(object.children[j]);
992
981
  } else if (object.children[j].name.includes('_interior_')) {
993
982
  object.children[j].material = mat4;
994
- } else if (object.children[j].type === _constants.OBJTYPE_MESH) {
983
+ } else if (object.children[j].type === OBJTYPE_MESH) {
995
984
  object.children[j].material = mat2;
996
985
  object.children[j].receiveShadow = true;
997
986
  object.children[j].castShadow = true;
@@ -1007,7 +996,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1007
996
  }
1008
997
 
1009
998
  // render 3d appliance function ////////////////////////////////
1010
- function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json) {
999
+ export function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json) {
1011
1000
  var mode = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
1012
1001
  var structure = structure_json;
1013
1002
  var applianceMaterial = element.applianceMaterial;
@@ -1015,16 +1004,16 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1015
1004
  var onLoadItem = function onLoadItem(object) {
1016
1005
  var newAltitude = element.properties.get('altitude').get('_length');
1017
1006
  var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1018
- newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
1007
+ newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
1019
1008
  var newWidth = element.properties.get('width').get('_length');
1020
1009
  var newWidthUnit = element.properties.get('width').get('_unit') || 'in';
1021
- newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to('in');
1010
+ newWidth = convert(newWidth).from(newWidthUnit).to('in');
1022
1011
  var newHeight = element.properties.get('height').get('_length');
1023
1012
  var newHeightUnit = element.properties.get('height').get('_unit') || 'in';
1024
- newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to('in');
1013
+ newHeight = convert(newHeight).from(newHeightUnit).to('in');
1025
1014
  var newDepth = element.properties.get('depth').get('_length');
1026
1015
  var newDepthUnit = element.properties.get('depth').get('_unit') || 'in';
1027
- newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to('in');
1016
+ newDepth = convert(newDepth).from(newDepthUnit).to('in');
1028
1017
  object.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
1029
1018
  // Normalize the origin of the object
1030
1019
  var boundingBox = new Three.Box3().setFromObject(object);
@@ -1035,7 +1024,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1035
1024
  object.position.z -= center[2];
1036
1025
  object.position.y += newAltitude;
1037
1026
  object.traverse(function (obj) {
1038
- if (obj.type === _constants.OBJTYPE_MESH) {
1027
+ if (obj.type === OBJTYPE_MESH) {
1039
1028
  var name = obj.name;
1040
1029
  var texture,
1041
1030
  textureLoader = new Three.TextureLoader();
@@ -1147,7 +1136,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1147
1136
  transparent: true,
1148
1137
  opacity: 0.4
1149
1138
  }));
1150
- var color = new Three.Color(_constants.ARROW_COLOR).convertLinearToSRGB();
1139
+ var color = new Three.Color(ARROW_COLOR).convertLinearToSRGB();
1151
1140
  var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
1152
1141
  color: color
1153
1142
  }));
@@ -1247,7 +1236,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1247
1236
 
1248
1237
  // load base to start //
1249
1238
  // return loadGLTF(dirName + structure["base"])
1250
- return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1239
+ return loadGLTF(structure['base']).then(function (object) {
1251
1240
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1252
1241
  // let texture = loadTexture(textureURL);
1253
1242
  // texture.wrapS = Three.MirroredRepeatWrapping;
@@ -1263,7 +1252,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1263
1252
  // mat2.envMap = textureCube;
1264
1253
  object.material = mat2;
1265
1254
  for (var j = 0; j < object.children.length; j++) {
1266
- if (object.children[j].type === _constants.OBJTYPE_MESH) {
1255
+ if (object.children[j].type === OBJTYPE_MESH) {
1267
1256
  object.children[j].material = mat2;
1268
1257
  object.children[j].receiveShadow = true;
1269
1258
  object.children[j].castShadow = true; // change
@@ -1278,7 +1267,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1278
1267
  });
1279
1268
  }
1280
1269
  // render 3d appliance function ////////////////////////////////
1281
- function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1270
+ export function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1282
1271
  var mode = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
1283
1272
  var structure = structure_json;
1284
1273
  var onLoadItem = function onLoadItem(object) {
@@ -1294,12 +1283,12 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1294
1283
  length: sizeinfo.height,
1295
1284
  unit: 'in'
1296
1285
  };
1297
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
1298
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
1299
- var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('cm');
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');
1300
1289
  var newAltitude = element.properties.get('altitude').get('_length');
1301
1290
  var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1302
- newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
1291
+ newAltitude = convert(newAltitude).from(newUnit).to(scene.unit);
1303
1292
 
1304
1293
  //object.scale.set(newWidth, newHeight, newDepth);
1305
1294
  object.scale.set(100, 100, 100);
@@ -1379,7 +1368,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1379
1368
  transparent: true,
1380
1369
  opacity: 0.4
1381
1370
  }));
1382
- var color = new Three.Color(_constants.ARROW_COLOR).convertLinearToSRGB();
1371
+ var color = new Three.Color(ARROW_COLOR).convertLinearToSRGB();
1383
1372
  var vLine = new Three.Line(vLineGeom, new Three.LineBasicMaterial({
1384
1373
  color: color
1385
1374
  }));
@@ -1485,7 +1474,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1485
1474
 
1486
1475
  // load base to start //
1487
1476
  // return loadGLTF(dirName + structure["base"])
1488
- return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1477
+ return loadGLTF(structure['base']).then(function (object) {
1489
1478
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1490
1479
  // let texture = loadTexture(textureURL);
1491
1480
  // texture.wrapS = Three.MirroredRepeatWrapping;
@@ -1500,7 +1489,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1500
1489
  // mat2.envMap = textureCube;
1501
1490
  object.material = mat2;
1502
1491
  for (var j = 0; j < object.children.length; j++) {
1503
- if (object.children[j].type === _constants.OBJTYPE_MESH) {
1492
+ if (object.children[j].type === OBJTYPE_MESH) {
1504
1493
  object.children[j].material = mat2;
1505
1494
  object.children[j].receiveShadow = true;
1506
1495
  }
@@ -1513,7 +1502,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1513
1502
  return _loadGLTFs3(0);
1514
1503
  });
1515
1504
  }
1516
- function addEdgesToMesh(inChild) {
1505
+ export function addEdgesToMesh(inChild) {
1517
1506
  var boxEdge = new Three.EdgesGeometry(inChild.geometry, 10);
1518
1507
  var boxEdgeMaterial = new Three.LineBasicMaterial({
1519
1508
  color: 0x000000,