kitchen-simulator 11.0.0-react-18 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/LiteKitchenConfigurator.js +42 -11
- package/es/LiteRenderer.js +2 -24
- package/es/actions/export.js +25 -12
- package/es/analytics/ga4.js +188 -0
- package/es/catalog/utils/item-loader.js +4 -4
- package/es/class/item.js +29 -7
- package/es/class/line.js +1 -3
- package/es/components/content.js +20 -5
- package/es/components/export.js +6 -4
- package/es/components/style/form-number-input.js +7 -5
- package/es/components/style/form-submit-button.js +25 -0
- package/es/components/viewer2d/group.js +6 -5
- package/es/components/viewer2d/item.js +9 -9
- package/es/components/viewer2d/line.js +18 -47
- package/es/components/viewer2d/rulerX.js +9 -8
- package/es/components/viewer2d/rulerY.js +9 -8
- package/es/components/viewer2d/scene.js +9 -9
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +35 -31
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/scene-creator.js +40 -75
- package/es/components/viewer3d/viewer3d-first-person.js +13 -8
- package/es/components/viewer3d/viewer3d.js +19 -15
- package/es/devLiteRenderer.js +913 -0
- package/es/events/external/handleExternalEvent.js +1 -0
- package/es/events/external/handleExternalEvent.util.js +330 -347
- package/es/events/external/handlers.changeDoorStyle.js +5 -3
- package/es/events/external/handlers.loadProject.js +5 -3
- package/es/events/external/handlers.syncScene.js +1 -1
- package/es/mappings/external-events/mappers/ccdfMapper.js +14 -8
- package/es/shared/domain/cabinet-warning.js +15 -0
- package/es/utils/geometry.js +4 -7
- package/es/utils/helper.js +81 -22
- package/es/utils/skinPanelEngine.js +5 -9
- package/lib/LiteKitchenConfigurator.js +42 -11
- package/lib/LiteRenderer.js +3 -25
- package/lib/actions/export.js +35 -39
- package/lib/analytics/ga4.js +194 -0
- package/lib/catalog/utils/item-loader.js +3 -3
- package/lib/class/item.js +29 -7
- package/lib/class/line.js +1 -3
- package/lib/components/content.js +19 -4
- package/lib/components/export.js +6 -16
- package/lib/components/style/form-number-input.js +7 -5
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/viewer2d/group.js +6 -5
- package/lib/components/viewer2d/item.js +8 -8
- package/lib/components/viewer2d/line.js +18 -47
- package/lib/components/viewer2d/rulerX.js +9 -8
- package/lib/components/viewer2d/rulerY.js +9 -8
- package/lib/components/viewer2d/scene.js +9 -9
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +0 -7
- package/lib/components/viewer2d/viewer2d.js +33 -29
- package/lib/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/lib/components/viewer3d/scene-creator.js +39 -75
- package/lib/components/viewer3d/viewer3d-first-person.js +13 -8
- package/lib/components/viewer3d/viewer3d.js +19 -15
- package/lib/devLiteRenderer.js +917 -0
- package/lib/events/external/handleExternalEvent.js +1 -0
- package/lib/events/external/handleExternalEvent.util.js +330 -347
- package/lib/events/external/handlers.changeDoorStyle.js +5 -3
- package/lib/events/external/handlers.loadProject.js +5 -3
- package/lib/events/external/handlers.syncScene.js +1 -1
- package/lib/mappings/external-events/mappers/ccdfMapper.js +14 -8
- package/lib/shared/domain/cabinet-warning.js +20 -0
- package/lib/utils/geometry.js +4 -7
- package/lib/utils/helper.js +82 -24
- package/lib/utils/skinPanelEngine.js +4 -8
- package/package.json +21 -6
|
@@ -6,15 +6,17 @@ import * as Three from 'three';
|
|
|
6
6
|
import { Color, Group } from 'three';
|
|
7
7
|
import createGrid from "./grid-creator";
|
|
8
8
|
import { disposeObject } from "./three-memory-cleaner";
|
|
9
|
-
import { ANIMATE_STEP_MAX, ANIMATE_STEP_MIN, ARRAY_3D_MODES, ARROW_TEXT_BACKCOLOR, ARROW_TEXT_FONTFACE, ARROW_TEXT_FORECOLOR, BASE_CABINET_LAYOUTPOS, BOTTOM_MOLDING_LOCATION, DECIMAL_PLACES_2, DIFFERENT_VALUES_PATH_LENGTH, DISTANCE_EPSILON, EPSILON, MIDDLE_MOLDING_LOCATION, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, TOP_MOLDING_LOCATION, UNIT_CENTIMETER, UNIT_FOOT, UNIT_INCH, UNIT_METER, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
9
|
+
import { ANIMATE_STEP_MAX, ANIMATE_STEP_MIN, ARRAY_3D_MODES, ARROW_TEXT_BACKCOLOR, ARROW_TEXT_FONTFACE, ARROW_TEXT_FORECOLOR, BASE_CABINET_LAYOUTPOS, BOTTOM_MOLDING_LOCATION, DECIMAL_PLACES_2, DIFFERENT_VALUES_PATH_LENGTH, DISTANCE_EPSILON, EPSILON, ITEM_TYPE, MIDDLE_MOLDING_LOCATION, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, OBJTYPE_MESH, SHADE_DARK_PURPLE_COLOR, TOP_MOLDING_LOCATION, UNIT_CENTIMETER, UNIT_FOOT, UNIT_INCH, UNIT_METER, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
10
10
|
import { GeometryUtils, IDBroker, MoldingUtils } from "../../utils/export";
|
|
11
11
|
import { convert } from "../../utils/convert-units-lite";
|
|
12
12
|
import { calcDistancesFromItemToWalls, getLineSnapPointsOfItem, getSnappedWallLines, isOverlappedTwoItemsOnOneLine, pointsDistance, verticesDistance } from "../../utils/geometry";
|
|
13
13
|
import * as GeomUtils from "../../catalog/utils/geom-utils";
|
|
14
14
|
import { loadTexture } from "../../catalog/utils/item-loader";
|
|
15
|
+
import { isWarningCabinet } from "../../shared/domain/cabinet-warning";
|
|
15
16
|
import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
|
|
16
17
|
import { animateDoor, isElevationView, isEmpty, isImmutable, replaceMeshesWithLineSegments, translateDrawer } from "../../utils/helper";
|
|
17
18
|
import { formatNumber } from "../../utils/math";
|
|
19
|
+
import { toJSIfNeeded } from "../../shared/objects/immutable";
|
|
18
20
|
export var fVLine = [];
|
|
19
21
|
var scene_mode = null;
|
|
20
22
|
export function parseData(sceneData, actions, catalog, camera, renderer, mode) {
|
|
@@ -502,16 +504,14 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
502
504
|
}
|
|
503
505
|
var mBoxColor = 0x99c3fb;
|
|
504
506
|
var _item = item.toJS();
|
|
505
|
-
if (_item
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
item3D.add(mBox);
|
|
514
|
-
}
|
|
507
|
+
if (isWarningCabinet(_item)) {
|
|
508
|
+
mBoxColor = 'rgba(232,187,47,1)';
|
|
509
|
+
var mBox = GeomUtils.makeMBoxfromObject(item3D, mBoxColor);
|
|
510
|
+
var warningObj = createWarningObject();
|
|
511
|
+
warningObj.position.set(0, item.properties.get('height').get('length') / 3, 0);
|
|
512
|
+
if (mBox) {
|
|
513
|
+
mBox.add(warningObj);
|
|
514
|
+
item3D.add(mBox);
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
517
|
}
|
|
@@ -692,16 +692,14 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
692
692
|
if (item3D) {
|
|
693
693
|
var _mBoxColor = 0x99c3fb;
|
|
694
694
|
var _item2 = item.toJS();
|
|
695
|
-
if (_item2
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
item3D.add(_mBox2);
|
|
704
|
-
}
|
|
695
|
+
if (isWarningCabinet(_item2)) {
|
|
696
|
+
_mBoxColor = 'rgba(232,187,47,1)';
|
|
697
|
+
var _mBox2 = GeomUtils.makeMBoxfromObject(item3D, _mBoxColor);
|
|
698
|
+
var _warningObj = createWarningObject();
|
|
699
|
+
_warningObj.position.set(0, item.properties.get('height').get('length') / 3, 0);
|
|
700
|
+
if (_mBox2) {
|
|
701
|
+
_mBox2.add(_warningObj);
|
|
702
|
+
item3D.add(_mBox2);
|
|
705
703
|
}
|
|
706
704
|
}
|
|
707
705
|
}
|
|
@@ -824,10 +822,8 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
824
822
|
}
|
|
825
823
|
var _mBoxColor2 = 0x99c3fb;
|
|
826
824
|
var _item3 = item.toJS();
|
|
827
|
-
if (_item3
|
|
828
|
-
|
|
829
|
-
_mBoxColor2 = 'rgba(232,187,47,1)';
|
|
830
|
-
}
|
|
825
|
+
if (isWarningCabinet(_item3)) {
|
|
826
|
+
_mBoxColor2 = 'rgba(232,187,47,1)';
|
|
831
827
|
}
|
|
832
828
|
rItem.children[0].children.forEach(function (rItemElement) {
|
|
833
829
|
rItemElement.visible = false;
|
|
@@ -2047,21 +2043,19 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2047
2043
|
if (pivot) {
|
|
2048
2044
|
var mBoxColor = 0x99c3fb;
|
|
2049
2045
|
var _item = item.toJS();
|
|
2050
|
-
if (_item
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
pivot.add(mBox);
|
|
2064
|
-
}
|
|
2046
|
+
if (isWarningCabinet(_item)) {
|
|
2047
|
+
mBoxColor = 'rgba(232,187,47,1)';
|
|
2048
|
+
} else {
|
|
2049
|
+
pivot.children[0].children.forEach(function (pivotElement) {
|
|
2050
|
+
pivotElement.visible = false;
|
|
2051
|
+
});
|
|
2052
|
+
}
|
|
2053
|
+
var mBox = GeomUtils.makeMBoxfromObject(pivot, mBoxColor);
|
|
2054
|
+
var warningObj = createWarningObject();
|
|
2055
|
+
warningObj.position.set(0, item.properties.get('height').get('length') / 3, 0);
|
|
2056
|
+
if (mBox) {
|
|
2057
|
+
mBox.add(warningObj);
|
|
2058
|
+
pivot.add(mBox);
|
|
2065
2059
|
}
|
|
2066
2060
|
}
|
|
2067
2061
|
|
|
@@ -2159,8 +2153,8 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2159
2153
|
height: height,
|
|
2160
2154
|
depth: depth
|
|
2161
2155
|
};
|
|
2162
|
-
val.layoutpos =
|
|
2163
|
-
val.is_corner =
|
|
2156
|
+
val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
2157
|
+
val.is_corner = item === null || item === void 0 ? void 0 : item.is_corner;
|
|
2164
2158
|
val.item = item;
|
|
2165
2159
|
var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
|
|
2166
2160
|
|
|
@@ -2187,13 +2181,9 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
|
|
|
2187
2181
|
});
|
|
2188
2182
|
if (pivot.children.length > 1) {
|
|
2189
2183
|
var _item4 = item.toJS();
|
|
2190
|
-
if (_item4.
|
|
2191
|
-
if (
|
|
2192
|
-
|
|
2193
|
-
return element.itemID === item.itemID;
|
|
2194
|
-
})) {
|
|
2195
|
-
pivot.children.pop();
|
|
2196
|
-
}
|
|
2184
|
+
if (_item4.category === ITEM_TYPE.CABINET) {
|
|
2185
|
+
if (!isWarningCabinet(item)) {
|
|
2186
|
+
pivot.children.pop();
|
|
2197
2187
|
} else {
|
|
2198
2188
|
pivot.children.pop();
|
|
2199
2189
|
}
|
|
@@ -2910,31 +2900,6 @@ export function threedfabs(a) {
|
|
|
2910
2900
|
export function getDistanceBetweenLineSegment(pos1, pos2, pos3, pos4) {
|
|
2911
2901
|
if (pos1.x == pos2.x && pos3.x == pos4.x) return pos3.x - pos1.x;else if (pos1.y == pos2.y && pos3.y == pos4.y) return pos3.y - pos1.y;else return -1;
|
|
2912
2902
|
}
|
|
2913
|
-
|
|
2914
|
-
/**
|
|
2915
|
-
* check to see if an item is suitable for the given doorStyle.
|
|
2916
|
-
* @param _item
|
|
2917
|
-
* @returns true if it's not suitable.
|
|
2918
|
-
*/
|
|
2919
|
-
export function showYelloBox(_item) {
|
|
2920
|
-
var _doorStyle;
|
|
2921
|
-
var doorStyle = _item === null || _item === void 0 ? void 0 : _item.doorStyle;
|
|
2922
|
-
|
|
2923
|
-
// If doorStyle is an Immutable Map, convert to plain JS
|
|
2924
|
-
if (doorStyle && typeof doorStyle.toJS === 'function') {
|
|
2925
|
-
doorStyle = doorStyle.toJS();
|
|
2926
|
-
}
|
|
2927
|
-
var isItemCabinet = (_item === null || _item === void 0 ? void 0 : _item.category) === 'cabinet';
|
|
2928
|
-
var cds = (_doorStyle = doorStyle) === null || _doorStyle === void 0 || (_doorStyle = _doorStyle.doorStyles) === null || _doorStyle === void 0 ? void 0 : _doorStyle.cds;
|
|
2929
|
-
|
|
2930
|
-
// hasItemCDS: item is suitable if its itemID exists in cds
|
|
2931
|
-
var hasItemCDS = isItemCabinet && Array.isArray(cds) ? cds.some(function (element) {
|
|
2932
|
-
return element.itemID === _item.itemID;
|
|
2933
|
-
}) : false;
|
|
2934
|
-
|
|
2935
|
-
// return true if it's a cabinet but not suitable for the current doorStyle
|
|
2936
|
-
return isItemCabinet && !hasItemCDS;
|
|
2937
|
-
}
|
|
2938
2903
|
function isSimilar(a, b) {
|
|
2939
2904
|
if (threedfabs(a - b) <= 0.01) return 1;
|
|
2940
2905
|
return 0;
|
|
@@ -3473,7 +3438,7 @@ export function addMolding(MGArray, addItem, planData, layer, itemActions, mode)
|
|
|
3473
3438
|
if (addItem.selected && [MODE_DRAGGING_ITEM_3D, MODE_ROTATING_ITEM_3D].includes(mode)) return false;
|
|
3474
3439
|
|
|
3475
3440
|
// If the item is not available for current doorStyle
|
|
3476
|
-
if (
|
|
3441
|
+
if (isWarningCabinet(addItem))
|
|
3477
3442
|
// Do not add molding to that item
|
|
3478
3443
|
return MGArray;
|
|
3479
3444
|
|
|
@@ -5,12 +5,11 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
5
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
7
7
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
8
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
9
8
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
10
9
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
10
|
import React from 'react';
|
|
12
11
|
import PropTypes from 'prop-types';
|
|
13
|
-
import
|
|
12
|
+
import ReactDOM from 'react-dom';
|
|
14
13
|
import * as Three from 'three';
|
|
15
14
|
import { parseData, updateScene } from "./scene-creator";
|
|
16
15
|
import { disposeScene } from "./three-memory-cleaner";
|
|
@@ -26,7 +25,6 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
|
|
|
26
25
|
_this.width = props.width;
|
|
27
26
|
_this.height = props.height;
|
|
28
27
|
_this.stopRendering = false;
|
|
29
|
-
_this.canvasWrapperRef = /*#__PURE__*/React.createRef();
|
|
30
28
|
_this.renderer = window.__threeRenderer || new Three.WebGLRenderer({
|
|
31
29
|
preserveDrawingBuffer: true
|
|
32
30
|
});
|
|
@@ -57,7 +55,7 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
|
|
|
57
55
|
};
|
|
58
56
|
var state = this.props.state;
|
|
59
57
|
var data = state.scene;
|
|
60
|
-
var canvasWrapper = this.
|
|
58
|
+
var canvasWrapper = ReactDOM.findDOMNode(this.refs.canvasWrapper);
|
|
61
59
|
var scene3D = new Three.Scene();
|
|
62
60
|
|
|
63
61
|
// As I need to show the pointer above all scene objects, I use this workaround http://stackoverflow.com/a/13309722
|
|
@@ -256,8 +254,8 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
|
|
|
256
254
|
this.renderer.renderLists.dispose();
|
|
257
255
|
}
|
|
258
256
|
}, {
|
|
259
|
-
key: "
|
|
260
|
-
value: function
|
|
257
|
+
key: "componentWillReceiveProps",
|
|
258
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
261
259
|
var width = nextProps.width,
|
|
262
260
|
height = nextProps.height;
|
|
263
261
|
var camera = this.camera,
|
|
@@ -290,15 +288,22 @@ var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
|
|
|
290
288
|
key: "render",
|
|
291
289
|
value: function render() {
|
|
292
290
|
return /*#__PURE__*/React.createElement('div', {
|
|
293
|
-
ref:
|
|
291
|
+
ref: 'canvasWrapper'
|
|
294
292
|
});
|
|
295
293
|
}
|
|
296
294
|
}]);
|
|
297
295
|
}(React.Component);
|
|
298
|
-
_defineProperty(Viewer3DFirstPerson, "contextType", AppContext);
|
|
299
296
|
export { Viewer3DFirstPerson as default };
|
|
300
297
|
Viewer3DFirstPerson.propTypes = {
|
|
301
298
|
state: PropTypes.object.isRequired,
|
|
302
299
|
width: PropTypes.number.isRequired,
|
|
303
300
|
height: PropTypes.number.isRequired
|
|
301
|
+
};
|
|
302
|
+
Viewer3DFirstPerson.contextTypes = {
|
|
303
|
+
areaActions: PropTypes.object.isRequired,
|
|
304
|
+
holesActions: PropTypes.object.isRequired,
|
|
305
|
+
itemsActions: PropTypes.object.isRequired,
|
|
306
|
+
linesActions: PropTypes.object.isRequired,
|
|
307
|
+
projectActions: PropTypes.object.isRequired,
|
|
308
|
+
catalog: PropTypes.object
|
|
304
309
|
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
import _readOnlyError from "@babel/runtime/helpers/esm/readOnlyError";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
5
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
5
6
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
6
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
7
8
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
9
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
9
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
10
10
|
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; }
|
|
11
11
|
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; }
|
|
12
12
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
13
13
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
14
14
|
import React from 'react';
|
|
15
15
|
import PropTypes from 'prop-types';
|
|
16
|
-
import
|
|
16
|
+
import ReactDOM from 'react-dom';
|
|
17
17
|
import * as Three from 'three';
|
|
18
18
|
import { checkCabinetOverlap, createBacksplash, deleteSpecifiedMeshObjects, fVLine, getDistances, parseData, updateScene, visibleTransformBox } from "./scene-creator";
|
|
19
19
|
import { disposeObject, disposeScene } from "./three-memory-cleaner";
|
|
@@ -50,7 +50,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
50
50
|
_this.width = props.width;
|
|
51
51
|
_this.height = props.height;
|
|
52
52
|
_this.renderingID = 0;
|
|
53
|
-
_this.canvasWrapperRef = /*#__PURE__*/React.createRef();
|
|
54
53
|
var mode = props.state.mode;
|
|
55
54
|
if (!window.__elevationRendererDownload) {
|
|
56
55
|
window.__elevationRendererDownload = {};
|
|
@@ -545,7 +544,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
545
544
|
if (item !== null) {
|
|
546
545
|
var catid = item.type;
|
|
547
546
|
var cat = catalog.elements[catid];
|
|
548
|
-
layoutpos =
|
|
547
|
+
layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
|
|
549
548
|
}
|
|
550
549
|
var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
|
|
551
550
|
var sBounding = obj.children[0].userData;
|
|
@@ -565,9 +564,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
565
564
|
return false;
|
|
566
565
|
}
|
|
567
566
|
var _item = layer.items.getIn([data.id]);
|
|
568
|
-
var
|
|
569
|
-
var ocat = catalog.elements[ocatid];
|
|
570
|
-
var olayoutpos = ocat.info.layoutpos;
|
|
567
|
+
var olayoutpos = _item.layoutpos;
|
|
571
568
|
if (!(layoutpos === BASE_CABINET_LAYOUTPOS && olayoutpos === WALL_CABINET_LAYOUTPOS || layoutpos === WALL_CABINET_LAYOUTPOS && olayoutpos === BASE_CABINET_LAYOUTPOS)) {
|
|
572
569
|
var tRot = _item.rotation;
|
|
573
570
|
var tPos = new Three.Vector2(_item.x, _item.y);
|
|
@@ -1193,9 +1190,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1193
1190
|
var curLayerId = _this2.props.state.scene.selectedLayer;
|
|
1194
1191
|
var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
|
|
1195
1192
|
if (!isEmpty(evtType) && !isEmpty(evtElement)) {
|
|
1196
|
-
var
|
|
1197
|
-
var
|
|
1198
|
-
var payload = updatePayloadOfInternalEvent(evtElement, curLayer, catalog, pointArray);
|
|
1193
|
+
var _this2$props$onIntern, _this2$props;
|
|
1194
|
+
var payload = updatePayloadOfInternalEvent(evtElement, curLayer, pointArray);
|
|
1199
1195
|
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1200
1196
|
type: evtType,
|
|
1201
1197
|
value: payload
|
|
@@ -2166,7 +2162,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2166
2162
|
}
|
|
2167
2163
|
|
|
2168
2164
|
// Add the output of the renderer to the html element
|
|
2169
|
-
var canvasWrapper = this.
|
|
2165
|
+
var canvasWrapper = ReactDOM.findDOMNode(this.refs.canvasWrapper);
|
|
2170
2166
|
canvasWrapper && canvasWrapper.appendChild(this.renderer.domElement);
|
|
2171
2167
|
|
|
2172
2168
|
//
|
|
@@ -2435,8 +2431,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2435
2431
|
this.renderer.renderLists.dispose();
|
|
2436
2432
|
}
|
|
2437
2433
|
}, {
|
|
2438
|
-
key: "
|
|
2439
|
-
value: function
|
|
2434
|
+
key: "componentWillReceiveProps",
|
|
2435
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
2440
2436
|
var _this4 = this;
|
|
2441
2437
|
if (this.props.downloadFlag && diff(this.props.state, nextProps.state).toJS().length == 0 || isEmpty(nextProps.state.scene)) return;
|
|
2442
2438
|
var width = nextProps.width,
|
|
@@ -2646,17 +2642,25 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2646
2642
|
this.renderer.domElement.style.opacity = '1';
|
|
2647
2643
|
!this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
|
|
2648
2644
|
return /*#__PURE__*/React.createElement('div', {
|
|
2649
|
-
ref:
|
|
2645
|
+
ref: 'canvasWrapper'
|
|
2650
2646
|
});
|
|
2651
2647
|
}
|
|
2652
2648
|
}
|
|
2653
2649
|
}]);
|
|
2654
2650
|
}(React.Component);
|
|
2655
|
-
_defineProperty(Scene3DViewer, "contextType", AppContext);
|
|
2656
2651
|
export { Scene3DViewer as default };
|
|
2657
2652
|
Scene3DViewer.propTypes = {
|
|
2658
2653
|
state: PropTypes.object.isRequired,
|
|
2659
2654
|
width: PropTypes.number.isRequired,
|
|
2660
2655
|
height: PropTypes.number.isRequired,
|
|
2661
2656
|
replaceCabinet: PropTypes.func.isRequired
|
|
2657
|
+
};
|
|
2658
|
+
Scene3DViewer.contextTypes = {
|
|
2659
|
+
areaActions: PropTypes.object.isRequired,
|
|
2660
|
+
holesActions: PropTypes.object.isRequired,
|
|
2661
|
+
itemsActions: PropTypes.object.isRequired,
|
|
2662
|
+
linesActions: PropTypes.object.isRequired,
|
|
2663
|
+
sceneActions: PropTypes.object.isRequired,
|
|
2664
|
+
projectActions: PropTypes.object.isRequired,
|
|
2665
|
+
catalog: PropTypes.object
|
|
2662
2666
|
};
|