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.
- package/es/@history.js +2 -8
- package/es/AppContext.js +3 -8
- package/es/KitchenConfigurator.js +70 -77
- package/es/KitchenConfiguratorApp.js +98 -105
- package/es/actions/area-actions.js +5 -10
- package/es/actions/export.js +12 -27
- package/es/actions/groups-actions.js +27 -43
- package/es/actions/holes-actions.js +34 -53
- package/es/actions/items-actions.js +94 -143
- package/es/actions/lines-actions.js +21 -34
- package/es/actions/project-actions.js +94 -143
- package/es/actions/scene-actions.js +11 -19
- package/es/actions/vertices-actions.js +7 -13
- package/es/actions/viewer2d-actions.js +21 -34
- package/es/actions/viewer3d-actions.js +9 -16
- package/es/catalog/areas/area/planner-element.js +2 -7
- package/es/catalog/catalog.js +15 -19
- package/es/catalog/factories/area-factory-3d.js +22 -29
- package/es/catalog/factories/area-factory.js +11 -18
- package/es/catalog/factories/export.js +6 -12
- package/es/catalog/factories/wall-factory-3d.js +31 -39
- package/es/catalog/factories/wall-factory.js +21 -29
- package/es/catalog/holes/door-closet/planner-element.js +15 -22
- package/es/catalog/holes/door-double/planner-element.js +15 -22
- package/es/catalog/holes/door-exterior/planner-element.js +16 -23
- package/es/catalog/holes/door-interior/planner-element.js +16 -23
- package/es/catalog/holes/door-panic/planner-element.js +7 -14
- package/es/catalog/holes/door-panic-double/planner-element.js +15 -22
- package/es/catalog/holes/door-sliding/planner-element.js +16 -23
- package/es/catalog/holes/doorway-framed/planner-element.js +11 -18
- package/es/catalog/holes/doorway-frameless/planner-element.js +7 -14
- package/es/catalog/holes/export.js +13 -31
- package/es/catalog/holes/window-clear/planner-element.js +10 -17
- package/es/catalog/holes/window-cross/planner-element.js +10 -17
- package/es/catalog/holes/window-double-hung/planner-element.js +10 -17
- package/es/catalog/holes/window-vertical/planner-element.js +10 -17
- package/es/catalog/lines/wall/planner-element.js +2 -7
- package/es/catalog/molding/molding-dcm/planner-element.js +5 -12
- package/es/catalog/molding/molding-fbm/planner-element.js +5 -12
- package/es/catalog/molding/molding-lrm/planner-element.js +5 -12
- package/es/catalog/properties/export.js +20 -33
- package/es/catalog/properties/property-checkbox.js +24 -29
- package/es/catalog/properties/property-color.js +16 -21
- package/es/catalog/properties/property-enum.js +24 -29
- package/es/catalog/properties/property-hidden.js +9 -14
- package/es/catalog/properties/property-lenght-measure.js +38 -43
- package/es/catalog/properties/property-length-measure.js +36 -41
- package/es/catalog/properties/property-length-measure_hole.js +38 -43
- package/es/catalog/properties/property-number.js +17 -22
- package/es/catalog/properties/property-read-only.js +16 -21
- package/es/catalog/properties/property-string.js +16 -21
- package/es/catalog/properties/property-toggle.js +16 -21
- package/es/catalog/properties/shared-property-style.js +1 -5
- package/es/catalog/utils/FuseUtils.js +8 -13
- package/es/catalog/utils/exporter.js +8 -13
- package/es/catalog/utils/geom-utils.js +13 -27
- package/es/catalog/utils/item-loader.js +84 -95
- package/es/catalog/utils/load-obj.js +20 -26
- package/es/catalog/utils/mtl-loader.js +3 -6
- package/es/catalog/utils/obj-loader.js +3 -6
- package/es/class/FuseUtils.js +8 -13
- package/es/class/area.js +22 -26
- package/es/class/export.js +23 -38
- package/es/class/group.js +53 -57
- package/es/class/guide.js +15 -19
- package/es/class/hole.js +83 -87
- package/es/class/item.js +141 -145
- package/es/class/layer.js +59 -63
- package/es/class/line.js +135 -141
- package/es/class/project.js +90 -96
- package/es/class/vertex.js +29 -33
- package/es/components/content.js +19 -26
- package/es/components/disclaimer/disclaimer.js +10 -16
- package/es/components/export.js +8 -15
- package/es/components/style/button.js +23 -29
- package/es/components/style/cancel-button.js +7 -12
- package/es/components/style/content-container.js +9 -14
- package/es/components/style/content-title.js +11 -18
- package/es/components/style/delete-button.js +8 -15
- package/es/components/style/export.js +30 -48
- package/es/components/style/form-block.js +8 -13
- package/es/components/style/form-color-input.js +7 -12
- package/es/components/style/form-label.js +8 -13
- package/es/components/style/form-number-input.js +41 -47
- package/es/components/style/form-number-input_2.js +36 -42
- package/es/components/style/form-select.js +17 -22
- package/es/components/style/form-slider.js +10 -15
- package/es/components/style/form-submit-button.js +8 -15
- package/es/components/style/form-text-input.js +26 -32
- package/es/components/viewer2d/area.js +17 -22
- package/es/components/viewer2d/export.js +30 -48
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +10 -15
- package/es/components/viewer2d/grids/grid-streak.js +10 -15
- package/es/components/viewer2d/grids/grid-vertical-streak.js +10 -15
- package/es/components/viewer2d/grids/grids.js +10 -17
- package/es/components/viewer2d/group.js +15 -22
- package/es/components/viewer2d/item.js +61 -68
- package/es/components/viewer2d/layer.js +23 -28
- package/es/components/viewer2d/line.js +101 -109
- package/es/components/viewer2d/ruler.js +22 -27
- package/es/components/viewer2d/rulerDist.js +21 -26
- package/es/components/viewer2d/rulerX.js +39 -45
- package/es/components/viewer2d/rulerY.js +37 -43
- package/es/components/viewer2d/scene.js +30 -36
- package/es/components/viewer2d/snap.js +13 -20
- package/es/components/viewer2d/state.js +18 -25
- package/es/components/viewer2d/utils.js +24 -35
- package/es/components/viewer2d/vertex.js +8 -15
- package/es/components/viewer2d/viewer2d.js +153 -161
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +17 -21
- package/es/components/viewer3d/dcm.js +1 -5
- package/es/components/viewer3d/fbm.js +1 -5
- package/es/components/viewer3d/front3D.js +12 -19
- package/es/components/viewer3d/grid-creator.js +8 -15
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +6 -12
- package/es/components/viewer3d/grids/grid-streak.js +5 -11
- package/es/components/viewer3d/grids/grid-vertical-streak.js +6 -12
- package/es/components/viewer3d/libs/first-person-controls.js +2 -7
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +1 -5
- package/es/components/viewer3d/libs/mtl-loader.js +1 -5
- package/es/components/viewer3d/libs/obj-loader.js +1 -5
- package/es/components/viewer3d/libs/orbit-controls.js +2 -6
- package/es/components/viewer3d/libs/pointer-lock-controls.js +2 -6
- package/es/components/viewer3d/lrm.js +1 -5
- package/es/components/viewer3d/model.js +1 -5
- package/es/components/viewer3d/pointer-lock-navigation.js +3 -8
- package/es/components/viewer3d/ruler-utils/itemRect.js +18 -23
- package/es/components/viewer3d/ruler-utils/layer3D.js +59 -64
- package/es/components/viewer3d/ruler-utils/ruler3D.js +39 -44
- package/es/components/viewer3d/ruler-utils/scene3D.js +9 -15
- package/es/components/viewer3d/ruler-utils/state3D.js +4 -9
- package/es/components/viewer3d/scene-creator.js +191 -224
- package/es/components/viewer3d/three-memory-cleaner.js +3 -10
- package/es/components/viewer3d/viewer3d-first-person.js +40 -44
- package/es/components/viewer3d/viewer3d.js +196 -200
- package/es/constants.js +349 -356
- package/es/index.js +7 -13
- package/es/models.js +177 -182
- package/es/plugins/SVGLoader.js +48 -51
- package/es/plugins/autosave.js +3 -7
- package/es/plugins/console-debugger.js +5 -10
- package/es/plugins/export.js +8 -15
- package/es/plugins/keyboard.js +29 -33
- package/es/reducers/areas-reducer.js +7 -11
- package/es/reducers/export.js +24 -39
- package/es/reducers/groups-reducer.js +31 -35
- package/es/reducers/holes-reducer.js +43 -47
- package/es/reducers/items-reducer.js +106 -110
- package/es/reducers/lines-reducer.js +28 -32
- package/es/reducers/project-reducer.js +105 -109
- package/es/reducers/reducer.js +16 -21
- package/es/reducers/scene-reducer.js +15 -19
- package/es/reducers/user-reducer.js +5 -9
- package/es/reducers/vertices-reducer.js +11 -15
- package/es/reducers/viewer2d-reducer.js +18 -22
- package/es/reducers/viewer3d-reducer.js +16 -20
- package/es/shared-style.js +10 -14
- package/es/styles/export.js +3 -9
- package/es/translator/en.js +1 -5
- package/es/translator/it.js +1 -5
- package/es/translator/ru.js +1 -5
- package/es/translator/translator.js +13 -17
- package/es/utils/browser.js +2 -7
- package/es/utils/convert-units-lite.js +1 -5
- package/es/utils/email-validator.js +1 -5
- package/es/utils/export.js +15 -32
- package/es/utils/geometry.js +181 -276
- package/es/utils/get-edges-of-subgraphs.js +2 -7
- package/es/utils/graph-cycles.js +8 -9
- package/es/utils/graph-inner-cycles.js +10 -16
- package/es/utils/graph.js +9 -15
- package/es/utils/helper.js +39 -61
- package/es/utils/history.js +8 -13
- package/es/utils/id-broker.js +8 -13
- package/es/utils/logger.js +1 -5
- package/es/utils/math.js +5 -10
- package/es/utils/molding.js +119 -142
- package/es/utils/name-generator.js +7 -11
- package/es/utils/objects-utils.js +7 -17
- package/es/utils/phone-validator.js +1 -5
- package/es/utils/process-black-list.js +3 -8
- package/es/utils/react-if.js +6 -10
- package/es/utils/snap-scene.js +27 -32
- package/es/utils/snap.js +45 -57
- package/es/utils/summarizeCart.js +1 -5
- package/es/utils/threeCSG.es6.js +13 -20
- package/es/version.js +1 -5
- package/package.json +1 -1
|
@@ -1,30 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports["default"] = Viewer2D;
|
|
7
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _reactSvgPanZoom = require("react-svg-pan-zoom");
|
|
13
|
-
var _constants = _interopRequireWildcard(require("../../constants"));
|
|
14
|
-
var constants = _constants;
|
|
15
|
-
var _state = _interopRequireDefault(require("./state"));
|
|
16
|
-
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
17
|
-
var _export = require("./export");
|
|
18
|
-
var _export2 = require("../../utils/export");
|
|
19
|
-
var _formNumberInput = _interopRequireDefault(require("../style/form-number-input"));
|
|
20
|
-
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
21
|
-
var _immutable = require("immutable");
|
|
22
|
-
var _math = require("../../utils/math");
|
|
23
|
-
var _helper = require("../../utils/helper");
|
|
24
|
-
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); }
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
25
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; }
|
|
26
|
-
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) { (
|
|
27
|
-
|
|
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 React, { useEffect, useRef, useState } from 'react';
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import { ReactSVGPanZoom, TOOL_AUTO, TOOL_NONE, TOOL_PAN, TOOL_ZOOM_IN, TOOL_ZOOM_OUT, zoom } from 'react-svg-pan-zoom';
|
|
9
|
+
import * as constants from "../../constants";
|
|
10
|
+
import State from "./state";
|
|
11
|
+
import * as SharedStyle from "../../shared-style";
|
|
12
|
+
import { RulerX, RulerY } from "./export";
|
|
13
|
+
import { DECIMAL_PLACES_2, LINE_THICKNESS, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_ELEVATION_VIEW, MODE_IDLE, UNIT_ANGLE } from "../../constants";
|
|
14
|
+
import { GeometryUtils } from "../../utils/export";
|
|
15
|
+
import FormNumberInput from "../style/form-number-input";
|
|
16
|
+
import { convert } from "../../utils/convert-units-lite";
|
|
17
|
+
import { Map } from 'immutable';
|
|
18
|
+
import { formatNumber } from "../../utils/math";
|
|
19
|
+
import { isEmpty } from "../../utils/helper"; // variables
|
|
28
20
|
|
|
29
21
|
// variables
|
|
30
22
|
var pinFlag = false;
|
|
@@ -44,19 +36,19 @@ var allArea;
|
|
|
44
36
|
// /////////
|
|
45
37
|
function mode2Tool(mode) {
|
|
46
38
|
if (pinFlag) {
|
|
47
|
-
return
|
|
39
|
+
return TOOL_NONE;
|
|
48
40
|
}
|
|
49
41
|
switch (mode) {
|
|
50
42
|
case constants.MODE_2D_PAN:
|
|
51
|
-
return
|
|
43
|
+
return TOOL_PAN;
|
|
52
44
|
case constants.MODE_2D_ZOOM_IN:
|
|
53
|
-
return
|
|
45
|
+
return TOOL_ZOOM_IN;
|
|
54
46
|
case constants.MODE_2D_ZOOM_OUT:
|
|
55
|
-
return
|
|
47
|
+
return TOOL_ZOOM_OUT;
|
|
56
48
|
case constants.MODE_IDLE:
|
|
57
|
-
return
|
|
49
|
+
return TOOL_AUTO;
|
|
58
50
|
default:
|
|
59
|
-
return
|
|
51
|
+
return TOOL_NONE;
|
|
60
52
|
}
|
|
61
53
|
}
|
|
62
54
|
function mode2PointerEvents(mode) {
|
|
@@ -128,7 +120,7 @@ function extractElementData(node) {
|
|
|
128
120
|
direct: node.attributes.getNamedItem('data-direct') ? node.attributes.getNamedItem('data-direct').value : 0
|
|
129
121
|
};
|
|
130
122
|
}
|
|
131
|
-
function Viewer2D(_ref, _ref2) {
|
|
123
|
+
export default function Viewer2D(_ref, _ref2) {
|
|
132
124
|
var state = _ref.state,
|
|
133
125
|
width = _ref.width,
|
|
134
126
|
height = _ref.height,
|
|
@@ -142,29 +134,29 @@ function Viewer2D(_ref, _ref2) {
|
|
|
142
134
|
areaActions = _ref2.areaActions,
|
|
143
135
|
projectActions = _ref2.projectActions,
|
|
144
136
|
catalog = _ref2.catalog;
|
|
145
|
-
var _useState =
|
|
146
|
-
_useState2 = (
|
|
137
|
+
var _useState = useState(null),
|
|
138
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
147
139
|
rulerEdit = _useState2[0],
|
|
148
140
|
setRulerEdit = _useState2[1];
|
|
149
|
-
var _useState3 =
|
|
150
|
-
_useState4 = (
|
|
141
|
+
var _useState3 = useState(null),
|
|
142
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
151
143
|
rulerEditID = _useState4[0],
|
|
152
144
|
setRulerEditID = _useState4[1];
|
|
153
|
-
var Viewer =
|
|
145
|
+
var Viewer = useRef(null);
|
|
154
146
|
var viewer2D = state.viewer2D,
|
|
155
147
|
mode = state.mode,
|
|
156
148
|
scene = state.scene;
|
|
157
149
|
|
|
158
150
|
// let relatedLines = [];
|
|
159
|
-
var _useState5 =
|
|
160
|
-
_useState6 = (
|
|
151
|
+
var _useState5 = useState([]),
|
|
152
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
161
153
|
relatedLines = _useState6[0],
|
|
162
154
|
setRelatedLines = _useState6[1];
|
|
163
|
-
var _useState7 =
|
|
164
|
-
_useState8 = (
|
|
155
|
+
var _useState7 = useState(false),
|
|
156
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
165
157
|
drawStart = _useState8[0],
|
|
166
158
|
setdrawStart = _useState8[1];
|
|
167
|
-
|
|
159
|
+
useEffect(function () {
|
|
168
160
|
// move viewer point to center
|
|
169
161
|
var selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
|
|
170
162
|
var vertices = selectedLayer.vertices;
|
|
@@ -186,7 +178,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
186
178
|
Viewer.current.setPointOnViewerCenter(moveX, moveY, viewer2D.get('a'));
|
|
187
179
|
}, []);
|
|
188
180
|
var layerID = scene.selectedLayer;
|
|
189
|
-
var wall_thickness =
|
|
181
|
+
var wall_thickness = LINE_THICKNESS / 2;
|
|
190
182
|
var layer = scene.getIn(['layers', layerID]);
|
|
191
183
|
var mapCursorPosition = function mapCursorPosition(_ref3) {
|
|
192
184
|
var x = _ref3.x,
|
|
@@ -203,15 +195,15 @@ function Viewer2D(_ref, _ref2) {
|
|
|
203
195
|
var prepareSnap = function prepareSnap() {
|
|
204
196
|
var layerID = scene.selectedLayer;
|
|
205
197
|
var layer = scene.layers.get(layerID);
|
|
206
|
-
allLines =
|
|
207
|
-
allLineRects =
|
|
208
|
-
allItemRect =
|
|
209
|
-
allItemSnap =
|
|
210
|
-
allLineSnap =
|
|
198
|
+
allLines = GeometryUtils.getAllLines(layer);
|
|
199
|
+
allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
|
|
200
|
+
allItemRect = GeometryUtils.getAllItems(scene, catalog, allLineRects);
|
|
201
|
+
allItemSnap = GeometryUtils.getAllItemSnap(allItemRect);
|
|
202
|
+
allLineSnap = GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
|
|
211
203
|
allRect = allItemRect.others.concat(allLineRects);
|
|
212
|
-
allItemSnap =
|
|
213
|
-
allLineSnap =
|
|
214
|
-
allArea =
|
|
204
|
+
allItemSnap = GeometryUtils.validateSnaps(allItemSnap, allRect);
|
|
205
|
+
allLineSnap = GeometryUtils.validateSnaps(allLineSnap, allRect);
|
|
206
|
+
allArea = GeometryUtils.getAllArea(layer);
|
|
215
207
|
};
|
|
216
208
|
var updateRulerDistAttribute = function updateRulerDistAttribute(elementData, value) {
|
|
217
209
|
var newVal = value.get('length');
|
|
@@ -254,11 +246,11 @@ function Viewer2D(_ref, _ref2) {
|
|
|
254
246
|
var selectedLine = scene.getIn(['layers', elementData.layer, 'lines', elementData.id]).toJS();
|
|
255
247
|
var v_0 = scene.getIn(['layers', elementData.layer, 'vertices', selectedLine.vertices[0]]);
|
|
256
248
|
var v_1 = scene.getIn(['layers', elementData.layer, 'vertices', selectedLine.vertices[1]]);
|
|
257
|
-
var _GeometryUtils$orderV =
|
|
258
|
-
_GeometryUtils$orderV2 = (
|
|
249
|
+
var _GeometryUtils$orderV = GeometryUtils.orderVertices([v_0, v_1]),
|
|
250
|
+
_GeometryUtils$orderV2 = _slicedToArray(_GeometryUtils$orderV, 2),
|
|
259
251
|
v_a = _GeometryUtils$orderV2[0],
|
|
260
252
|
v_b = _GeometryUtils$orderV2[1];
|
|
261
|
-
var v_b_new =
|
|
253
|
+
var v_b_new = GeometryUtils.extendLine(v_a.x, v_a.y, v_b.x, v_b.y, value.get('length'), 2);
|
|
262
254
|
|
|
263
255
|
// Blocked function that as wall changed, opposite wall should changed together.
|
|
264
256
|
// let layer = scene.getIn(['layers', elementData.layer]);
|
|
@@ -290,7 +282,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
290
282
|
vertexTwo: v_a
|
|
291
283
|
});
|
|
292
284
|
}
|
|
293
|
-
var attributesFormData = new
|
|
285
|
+
var attributesFormData = new Map(_objectSpread({}, attributesData));
|
|
294
286
|
setRulerEdit(null);
|
|
295
287
|
projectActions.setLinesAttributes(attributesFormData, true, {
|
|
296
288
|
layerID: elementData.layer,
|
|
@@ -374,7 +366,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
374
366
|
};
|
|
375
367
|
var getEndPoint = function getEndPoint(vertices, x, y, mode) {
|
|
376
368
|
var selLineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
377
|
-
if (
|
|
369
|
+
if (isEmpty(selLineID)) {
|
|
378
370
|
return {
|
|
379
371
|
isEndDrag: true,
|
|
380
372
|
x: x,
|
|
@@ -384,7 +376,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
384
376
|
var draggingLine = state.getIn(['scene', 'layers', layerID, 'lines', selLineID]).toJS();
|
|
385
377
|
var allLines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
386
378
|
var dragVertexId = state.getIn(['draggingSupport', 'vertexID']);
|
|
387
|
-
dragVertexId = !
|
|
379
|
+
dragVertexId = !isEmpty(dragVertexId) ? dragVertexId : draggingLine.vertices[1];
|
|
388
380
|
var vtx, vty;
|
|
389
381
|
var stepUnit = false;
|
|
390
382
|
vtx = vertices[dragVertexId].x;
|
|
@@ -395,7 +387,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
395
387
|
stepUnit = true;
|
|
396
388
|
}
|
|
397
389
|
var endDrag = [];
|
|
398
|
-
if (!
|
|
390
|
+
if (!isEmpty(relatedLines) && mode !== 'DRAGGING_LINE') {
|
|
399
391
|
vertices[dragVertexId].x = x;
|
|
400
392
|
vertices[dragVertexId].y = y;
|
|
401
393
|
}
|
|
@@ -403,17 +395,17 @@ function Viewer2D(_ref, _ref2) {
|
|
|
403
395
|
if (draggingLine.vertices[0] !== draggingLine.vertices[1]) {
|
|
404
396
|
for (var i = 0; i < relatedLines.length; i++) {
|
|
405
397
|
var line = relatedLines[i];
|
|
406
|
-
lineAngle =
|
|
398
|
+
lineAngle = GeometryUtils.angleBetweenTwoLines(line, draggingLine, vertices);
|
|
407
399
|
absAngle = Math.abs(lineAngle);
|
|
408
400
|
var tmpRelated = [];
|
|
409
|
-
|
|
401
|
+
GeometryUtils.getRelatedLines(tmpRelated, line, vertices, allLines, draggingLine.id);
|
|
410
402
|
for (var j = 0; j < tmpRelated.length; j++) {
|
|
411
|
-
var tmpAngle = Math.abs(
|
|
412
|
-
if (tmpAngle <
|
|
403
|
+
var tmpAngle = Math.abs(GeometryUtils.angleBetweenTwoLines(tmpRelated[j], line, vertices));
|
|
404
|
+
if (tmpAngle < MIN_ANGLE_DISALLOW_DRAW_WALL || tmpAngle > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL) {
|
|
413
405
|
endDrag.push(false);
|
|
414
406
|
} else endDrag.push(true);
|
|
415
407
|
}
|
|
416
|
-
if (absAngle <
|
|
408
|
+
if (absAngle < MIN_ANGLE_DISALLOW_DRAW_WALL || absAngle > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL) {
|
|
417
409
|
endDrag.push(false);
|
|
418
410
|
} else endDrag.push(true);
|
|
419
411
|
}
|
|
@@ -424,7 +416,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
424
416
|
vtx = x;
|
|
425
417
|
vty = y;
|
|
426
418
|
} else {
|
|
427
|
-
var rest =
|
|
419
|
+
var rest = MIN_ANGLE_DISALLOW_DRAW_WALL - absAngle;
|
|
428
420
|
// the origin point of rotation(snapping)
|
|
429
421
|
var originVerId = draggingLine.vertices.findIndex(function (vertice) {
|
|
430
422
|
return vertice !== dragVertexId;
|
|
@@ -436,7 +428,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
436
428
|
// determine the direction of rotation.
|
|
437
429
|
rest = lineAngle > 0 ? -rest : rest;
|
|
438
430
|
// rotate the current point to last point around the first point of drawing line.
|
|
439
|
-
var res =
|
|
431
|
+
var res = GeometryUtils.rotatePointAroundPoint(x, y, ox, oy, rest);
|
|
440
432
|
vtx = res.x;
|
|
441
433
|
vty = res.y;
|
|
442
434
|
}
|
|
@@ -445,8 +437,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
445
437
|
// angle snapping as a value of UNIT_ANGLE
|
|
446
438
|
if (!endDrag.some(function (flag) {
|
|
447
439
|
return flag === false;
|
|
448
|
-
}) && !
|
|
449
|
-
var _result =
|
|
440
|
+
}) && !isEmpty(absAngle) && absAngle % UNIT_ANGLE !== 0 && stepUnit) {
|
|
441
|
+
var _result = GeometryUtils.snapAngleByUnit(lineAngle, vertices, draggingLine, vtx, vty, dragVertexId);
|
|
450
442
|
vtx = _result.x;
|
|
451
443
|
vty = _result.y;
|
|
452
444
|
}
|
|
@@ -462,7 +454,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
462
454
|
if (!(item !== null && item !== void 0 && (_item$properties = item.properties) !== null && _item$properties !== void 0 && _item$properties.getIn)) return 0;
|
|
463
455
|
var length = item.properties.getIn([property, '_length']);
|
|
464
456
|
var unit = item.properties.getIn([property, '_unit']);
|
|
465
|
-
return length && unit ?
|
|
457
|
+
return length && unit ? convert(length).from(unit).to('cm') : 0;
|
|
466
458
|
};
|
|
467
459
|
var point = function point(x, y) {
|
|
468
460
|
return {
|
|
@@ -477,32 +469,32 @@ function Viewer2D(_ref, _ref2) {
|
|
|
477
469
|
var pointArray = [];
|
|
478
470
|
curItemInfo.rectCenterPoint.forEach(function (centerpoint) {
|
|
479
471
|
if (!Array.isArray(centerpoint) || centerpoint.length < 2) return;
|
|
480
|
-
var _centerpoint = (
|
|
472
|
+
var _centerpoint = _slicedToArray(centerpoint, 2),
|
|
481
473
|
pt = _centerpoint[0],
|
|
482
474
|
angle = _centerpoint[1];
|
|
483
475
|
if (!pt) return;
|
|
484
476
|
|
|
485
477
|
// line through centerpoint and reference center
|
|
486
|
-
var rectLine = angle === 180 || angle === 0 ?
|
|
478
|
+
var rectLine = angle === 180 || angle === 0 ? GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, center_x1, center_y1) : GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, x, y);
|
|
487
479
|
if (!rectLine) return;
|
|
488
480
|
var minDist;
|
|
489
481
|
allRect.forEach(function (linerect) {
|
|
490
482
|
if (!(linerect !== null && linerect !== void 0 && linerect.rect) || linerect.rect.length < 4) return;
|
|
491
|
-
var p0 =
|
|
492
|
-
var p1 =
|
|
483
|
+
var p0 = GeometryUtils.clone_point(linerect.rect[2]);
|
|
484
|
+
var p1 = GeometryUtils.clone_point(linerect.rect[3]);
|
|
493
485
|
if (!p0 || !p1 || p0.x === p1.x && p0.y === p1.y) return;
|
|
494
|
-
var lineFn =
|
|
486
|
+
var lineFn = GeometryUtils.linePassingThroughTwoPoints(p0.x, p0.y, p1.x, p1.y);
|
|
495
487
|
if (!lineFn) return;
|
|
496
|
-
var ip =
|
|
488
|
+
var ip = GeometryUtils.twoLinesIntersection(lineFn.a, lineFn.b, lineFn.c, rectLine.a, rectLine.b, rectLine.c);
|
|
497
489
|
if (!ip) return;
|
|
498
490
|
|
|
499
491
|
// intersection must lie within line segment
|
|
500
|
-
var segLen =
|
|
501
|
-
if (segLen <=
|
|
492
|
+
var segLen = GeometryUtils.pointsDistance(p0.x, p0.y, p1.x, p1.y);
|
|
493
|
+
if (segLen <= GeometryUtils.pointsDistance(p0.x, p0.y, ip.x, ip.y) || segLen <= GeometryUtils.pointsDistance(p1.x, p1.y, ip.x, ip.y)) return;
|
|
502
494
|
|
|
503
495
|
// ensure intersection is farther than pt→center
|
|
504
|
-
var distToCenter =
|
|
505
|
-
var baseDist =
|
|
496
|
+
var distToCenter = GeometryUtils.pointsDistance(ip.x, ip.y, x, y);
|
|
497
|
+
var baseDist = GeometryUtils.pointsDistance(pt.x, pt.y, ip.x, ip.y);
|
|
506
498
|
if (distToCenter <= baseDist) return;
|
|
507
499
|
var candidate = baseDist;
|
|
508
500
|
minDist = minDist !== undefined ? Math.min(minDist, candidate) : candidate;
|
|
@@ -559,12 +551,12 @@ function Viewer2D(_ref, _ref2) {
|
|
|
559
551
|
};
|
|
560
552
|
|
|
561
553
|
// collect geometry
|
|
562
|
-
var _allLines =
|
|
563
|
-
var _allLineRects =
|
|
564
|
-
var _allItemRect =
|
|
554
|
+
var _allLines = GeometryUtils.getAllLines(layer) || [];
|
|
555
|
+
var _allLineRects = GeometryUtils.buildRectFromLines(layer, _allLines) || [];
|
|
556
|
+
var _allItemRect = GeometryUtils.getAllItems(scene, catalog, _allLineRects) || {
|
|
565
557
|
others: []
|
|
566
558
|
};
|
|
567
|
-
var _allRect = [].concat((
|
|
559
|
+
var _allRect = [].concat(_toConsumableArray(_allItemRect.others || []), _toConsumableArray(_allLineRects));
|
|
568
560
|
|
|
569
561
|
// current item
|
|
570
562
|
var curItemInfo = getCalcRectFromItem(val);
|
|
@@ -641,7 +633,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
641
633
|
endPoint.y = y;
|
|
642
634
|
} else {
|
|
643
635
|
prepareSnap();
|
|
644
|
-
var _GeometryUtils$calcSn =
|
|
636
|
+
var _GeometryUtils$calcSn = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
645
637
|
nx = _GeometryUtils$calcSn.nx,
|
|
646
638
|
ny = _GeometryUtils$calcSn.ny,
|
|
647
639
|
rot = _GeometryUtils$calcSn.rot,
|
|
@@ -656,10 +648,10 @@ function Viewer2D(_ref, _ref2) {
|
|
|
656
648
|
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
657
649
|
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
658
650
|
};
|
|
659
|
-
var _GeometryUtils$getAll =
|
|
651
|
+
var _GeometryUtils$getAll = GeometryUtils.getAllHoleRect(scene, _val),
|
|
660
652
|
_isSect = _GeometryUtils$getAll.isSect,
|
|
661
653
|
_snap = _GeometryUtils$getAll.snap;
|
|
662
|
-
if (!
|
|
654
|
+
if (!isEmpty(_snap) && _isSect) {
|
|
663
655
|
if (_snap.length == 1) _val.pos = {
|
|
664
656
|
x: _snap[0].x,
|
|
665
657
|
y: _snap[0].y
|
|
@@ -672,7 +664,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
672
664
|
y: _snap[1].y
|
|
673
665
|
};
|
|
674
666
|
}
|
|
675
|
-
var interSect =
|
|
667
|
+
var interSect = GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
676
668
|
if (interSect) {
|
|
677
669
|
nx = _val.pos.x;
|
|
678
670
|
ny = _val.pos.y;
|
|
@@ -682,7 +674,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
682
674
|
x: nx,
|
|
683
675
|
y: ny
|
|
684
676
|
};
|
|
685
|
-
var _isrectSect =
|
|
677
|
+
var _isrectSect = GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
686
678
|
if (_isrectSect && _isSect) {
|
|
687
679
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
688
680
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
@@ -717,7 +709,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
717
709
|
case constants.MODE_DRAGGING_ITEM:
|
|
718
710
|
calcDistanceArray();
|
|
719
711
|
prepareSnap();
|
|
720
|
-
var _GeometryUtils$calcSn2 =
|
|
712
|
+
var _GeometryUtils$calcSn2 = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
721
713
|
nx = _GeometryUtils$calcSn2.nx,
|
|
722
714
|
ny = _GeometryUtils$calcSn2.ny,
|
|
723
715
|
rot = _GeometryUtils$calcSn2.rot,
|
|
@@ -732,10 +724,10 @@ function Viewer2D(_ref, _ref2) {
|
|
|
732
724
|
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
733
725
|
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
734
726
|
};
|
|
735
|
-
var _GeometryUtils$getAll2 =
|
|
727
|
+
var _GeometryUtils$getAll2 = GeometryUtils.getAllHoleRect(scene, val),
|
|
736
728
|
isSect = _GeometryUtils$getAll2.isSect,
|
|
737
729
|
snap = _GeometryUtils$getAll2.snap;
|
|
738
|
-
if (!
|
|
730
|
+
if (!isEmpty(snap) && isSect) {
|
|
739
731
|
if (snap.length == 1) val.pos = {
|
|
740
732
|
x: snap[0].x,
|
|
741
733
|
y: snap[0].y
|
|
@@ -748,7 +740,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
748
740
|
y: snap[1].y
|
|
749
741
|
};
|
|
750
742
|
}
|
|
751
|
-
var _interSect =
|
|
743
|
+
var _interSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
752
744
|
if (_interSect) {
|
|
753
745
|
nx = val.pos.x;
|
|
754
746
|
ny = val.pos.y;
|
|
@@ -758,7 +750,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
758
750
|
x: nx,
|
|
759
751
|
y: ny
|
|
760
752
|
};
|
|
761
|
-
var isrectSect =
|
|
753
|
+
var isrectSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
762
754
|
if (isrectSect && isSect) {
|
|
763
755
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
764
756
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
@@ -878,7 +870,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
878
870
|
break;
|
|
879
871
|
} else if (elementData.part === 'elevation') {
|
|
880
872
|
// handle action when click elevation about selected line
|
|
881
|
-
var _mode =
|
|
873
|
+
var _mode = MODE_ELEVATION_VIEW;
|
|
882
874
|
projectActions.setMode(_mode);
|
|
883
875
|
break;
|
|
884
876
|
} else {
|
|
@@ -913,9 +905,9 @@ function Viewer2D(_ref, _ref2) {
|
|
|
913
905
|
break;
|
|
914
906
|
}
|
|
915
907
|
case 'rulerDist':
|
|
916
|
-
var _length1 =
|
|
917
|
-
var distanceText1 = "".concat(
|
|
918
|
-
var numberInput1 = /*#__PURE__*/
|
|
908
|
+
var _length1 = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
909
|
+
var distanceText1 = "".concat(formatNumber(_length1, DECIMAL_PLACES_2));
|
|
910
|
+
var numberInput1 = /*#__PURE__*/React.createElement("div", {
|
|
919
911
|
id: "ruler_numberInput",
|
|
920
912
|
style: {
|
|
921
913
|
position: 'absolute',
|
|
@@ -923,7 +915,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
923
915
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
924
916
|
zIndex: 1000
|
|
925
917
|
}
|
|
926
|
-
}, /*#__PURE__*/
|
|
918
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
927
919
|
style: {
|
|
928
920
|
width: 150,
|
|
929
921
|
height: 50,
|
|
@@ -935,8 +927,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
935
927
|
},
|
|
936
928
|
value: distanceText1,
|
|
937
929
|
onChange: function onChange(event) {
|
|
938
|
-
var value = new
|
|
939
|
-
length:
|
|
930
|
+
var value = new Map({
|
|
931
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
940
932
|
_length: event.target.value,
|
|
941
933
|
_unit: scene.rulerUnit
|
|
942
934
|
});
|
|
@@ -948,8 +940,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
948
940
|
projectActions.unselectAll();
|
|
949
941
|
break;
|
|
950
942
|
case 'ruler':
|
|
951
|
-
var _length =
|
|
952
|
-
var numberInput = /*#__PURE__*/
|
|
943
|
+
var _length = convert(elementData.length).from(scene.unit).to(selectedLayer.unit);
|
|
944
|
+
var numberInput = /*#__PURE__*/React.createElement("div", {
|
|
953
945
|
id: "ruler_numberInput",
|
|
954
946
|
style: {
|
|
955
947
|
position: 'absolute',
|
|
@@ -957,7 +949,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
957
949
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
958
950
|
zIndex: 1000
|
|
959
951
|
}
|
|
960
|
-
}, /*#__PURE__*/
|
|
952
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
961
953
|
style: {
|
|
962
954
|
width: 150,
|
|
963
955
|
height: 50,
|
|
@@ -967,10 +959,10 @@ function Viewer2D(_ref, _ref2) {
|
|
|
967
959
|
lineHeight: '22px',
|
|
968
960
|
fontWeight: 600
|
|
969
961
|
},
|
|
970
|
-
value:
|
|
962
|
+
value: formatNumber(_length, DECIMAL_PLACES_2),
|
|
971
963
|
onChange: function onChange(event) {
|
|
972
|
-
var value = new
|
|
973
|
-
length:
|
|
964
|
+
var value = new Map({
|
|
965
|
+
length: convert(event.target.value).from(selectedLayer.unit).to(scene.unit),
|
|
974
966
|
_length: event.target.value,
|
|
975
967
|
_unit: selectedLayer.unit
|
|
976
968
|
});
|
|
@@ -982,9 +974,9 @@ function Viewer2D(_ref, _ref2) {
|
|
|
982
974
|
projectActions.unselectAll();
|
|
983
975
|
break;
|
|
984
976
|
case 'twoHoleRuler':
|
|
985
|
-
var _lengthTwoHoleRuler =
|
|
986
|
-
var distanceTextTwoHoleRuler = "".concat(
|
|
987
|
-
var numberInputTwoHoleRuler = /*#__PURE__*/
|
|
977
|
+
var _lengthTwoHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
978
|
+
var distanceTextTwoHoleRuler = "".concat(formatNumber(_lengthTwoHoleRuler, DECIMAL_PLACES_2));
|
|
979
|
+
var numberInputTwoHoleRuler = /*#__PURE__*/React.createElement("div", {
|
|
988
980
|
id: "ruler_numberInput",
|
|
989
981
|
style: {
|
|
990
982
|
position: 'absolute',
|
|
@@ -992,7 +984,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
992
984
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
993
985
|
zIndex: 1000
|
|
994
986
|
}
|
|
995
|
-
}, /*#__PURE__*/
|
|
987
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
996
988
|
style: {
|
|
997
989
|
width: 150,
|
|
998
990
|
height: 50,
|
|
@@ -1004,8 +996,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1004
996
|
},
|
|
1005
997
|
value: distanceTextTwoHoleRuler,
|
|
1006
998
|
onChange: function onChange(event) {
|
|
1007
|
-
var value = new
|
|
1008
|
-
length:
|
|
999
|
+
var value = new Map({
|
|
1000
|
+
length: convert(event.target.value / 2).from(scene.rulerUnit).to(scene.unit),
|
|
1009
1001
|
_length: event.target.value / 2,
|
|
1010
1002
|
_unit: scene.rulerUnit
|
|
1011
1003
|
});
|
|
@@ -1017,9 +1009,9 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1017
1009
|
projectActions.unselectAll();
|
|
1018
1010
|
break;
|
|
1019
1011
|
case 'leftHoleRuler':
|
|
1020
|
-
var _lengthLeftHoleRuler =
|
|
1012
|
+
var _lengthLeftHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1021
1013
|
var distanceTextLeftHoleRuler = "".concat(_lengthLeftHoleRuler.toFixed(2));
|
|
1022
|
-
var numberInputLeftHoleRuler = /*#__PURE__*/
|
|
1014
|
+
var numberInputLeftHoleRuler = /*#__PURE__*/React.createElement("div", {
|
|
1023
1015
|
id: "ruler_numberInput",
|
|
1024
1016
|
style: {
|
|
1025
1017
|
position: 'absolute',
|
|
@@ -1027,7 +1019,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1027
1019
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
1028
1020
|
zIndex: 1000
|
|
1029
1021
|
}
|
|
1030
|
-
}, /*#__PURE__*/
|
|
1022
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1031
1023
|
style: {
|
|
1032
1024
|
width: 150,
|
|
1033
1025
|
height: 50,
|
|
@@ -1039,8 +1031,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1039
1031
|
},
|
|
1040
1032
|
value: distanceTextLeftHoleRuler,
|
|
1041
1033
|
onChange: function onChange(event) {
|
|
1042
|
-
var value = new
|
|
1043
|
-
length:
|
|
1034
|
+
var value = new Map({
|
|
1035
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1044
1036
|
_length: event.target.value,
|
|
1045
1037
|
_unit: scene.rulerUnit
|
|
1046
1038
|
});
|
|
@@ -1052,9 +1044,9 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1052
1044
|
projectActions.unselectAll();
|
|
1053
1045
|
break;
|
|
1054
1046
|
case 'rulerHole':
|
|
1055
|
-
var _lengthRulerHole =
|
|
1056
|
-
var distanceTextRulerHole = "".concat(
|
|
1057
|
-
var numberInputRulerHole = /*#__PURE__*/
|
|
1047
|
+
var _lengthRulerHole = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1048
|
+
var distanceTextRulerHole = "".concat(formatNumber(_lengthRulerHole, DECIMAL_PLACES_2));
|
|
1049
|
+
var numberInputRulerHole = /*#__PURE__*/React.createElement("div", {
|
|
1058
1050
|
id: "ruler_numberInput",
|
|
1059
1051
|
style: {
|
|
1060
1052
|
position: 'absolute',
|
|
@@ -1062,7 +1054,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1062
1054
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
1063
1055
|
zIndex: 1000
|
|
1064
1056
|
}
|
|
1065
|
-
}, /*#__PURE__*/
|
|
1057
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1066
1058
|
style: {
|
|
1067
1059
|
width: 150,
|
|
1068
1060
|
height: 50,
|
|
@@ -1074,8 +1066,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1074
1066
|
},
|
|
1075
1067
|
value: distanceTextRulerHole,
|
|
1076
1068
|
onChange: function onChange(event) {
|
|
1077
|
-
var value = new
|
|
1078
|
-
length:
|
|
1069
|
+
var value = new Map({
|
|
1070
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1079
1071
|
_length: event.target.value,
|
|
1080
1072
|
_unit: scene.rulerUnit
|
|
1081
1073
|
});
|
|
@@ -1087,9 +1079,9 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1087
1079
|
projectActions.unselectAll();
|
|
1088
1080
|
break;
|
|
1089
1081
|
case 'rightHoleRuler':
|
|
1090
|
-
var _lengthRightHoleRuler =
|
|
1082
|
+
var _lengthRightHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1091
1083
|
var distanceTextRightHoleRuler = "".concat(_lengthRightHoleRuler.toFixed(2));
|
|
1092
|
-
var numberInputRightHoleRuler = /*#__PURE__*/
|
|
1084
|
+
var numberInputRightHoleRuler = /*#__PURE__*/React.createElement("div", {
|
|
1093
1085
|
id: "ruler_numberInput",
|
|
1094
1086
|
style: {
|
|
1095
1087
|
position: 'absolute',
|
|
@@ -1097,7 +1089,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1097
1089
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
1098
1090
|
zIndex: 1000
|
|
1099
1091
|
}
|
|
1100
|
-
}, /*#__PURE__*/
|
|
1092
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1101
1093
|
style: {
|
|
1102
1094
|
width: 150,
|
|
1103
1095
|
height: 50,
|
|
@@ -1109,8 +1101,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1109
1101
|
},
|
|
1110
1102
|
value: distanceTextRightHoleRuler,
|
|
1111
1103
|
onChange: function onChange(event) {
|
|
1112
|
-
var value = new
|
|
1113
|
-
length:
|
|
1104
|
+
var value = new Map({
|
|
1105
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1114
1106
|
_length: event.target.value,
|
|
1115
1107
|
_unit: scene.rulerUnit
|
|
1116
1108
|
});
|
|
@@ -1123,7 +1115,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1123
1115
|
break;
|
|
1124
1116
|
case 'angleChange':
|
|
1125
1117
|
var _length2 = elementData.length;
|
|
1126
|
-
var numberInput2 = /*#__PURE__*/
|
|
1118
|
+
var numberInput2 = /*#__PURE__*/React.createElement("div", {
|
|
1127
1119
|
id: "ruler_numberInput",
|
|
1128
1120
|
style: {
|
|
1129
1121
|
position: 'absolute',
|
|
@@ -1131,15 +1123,15 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1131
1123
|
top: bbox.top - (50 - bbox.height) / 2,
|
|
1132
1124
|
zIndex: 1000
|
|
1133
1125
|
}
|
|
1134
|
-
}, /*#__PURE__*/
|
|
1126
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1135
1127
|
style: {
|
|
1136
1128
|
width: 50,
|
|
1137
1129
|
height: 50
|
|
1138
1130
|
},
|
|
1139
1131
|
value: _length2,
|
|
1140
1132
|
onChange: function onChange(event) {
|
|
1141
|
-
var value = new
|
|
1142
|
-
length:
|
|
1133
|
+
var value = new Map({
|
|
1134
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1143
1135
|
_length: event.target.value,
|
|
1144
1136
|
_unit: scene.rulerUnit
|
|
1145
1137
|
});
|
|
@@ -1193,7 +1185,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1193
1185
|
break;
|
|
1194
1186
|
case constants.MODE_DRAGGING_ITEM:
|
|
1195
1187
|
itemsActions.updateMolding();
|
|
1196
|
-
projectActions.setMode(
|
|
1188
|
+
projectActions.setMode(MODE_IDLE);
|
|
1197
1189
|
break;
|
|
1198
1190
|
case constants.MODE_DRAGGING_HOLE:
|
|
1199
1191
|
holesActions.endDraggingHole(x, y);
|
|
@@ -1238,16 +1230,16 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1238
1230
|
};
|
|
1239
1231
|
var onChangeTool = function onChangeTool(tool) {
|
|
1240
1232
|
switch (tool) {
|
|
1241
|
-
case
|
|
1233
|
+
case TOOL_NONE:
|
|
1242
1234
|
projectActions.selectToolEdit();
|
|
1243
1235
|
break;
|
|
1244
|
-
case
|
|
1236
|
+
case TOOL_PAN:
|
|
1245
1237
|
viewer2DActions.selectToolPan();
|
|
1246
1238
|
break;
|
|
1247
|
-
case
|
|
1239
|
+
case TOOL_ZOOM_IN:
|
|
1248
1240
|
viewer2DActions.selectToolZoomIn();
|
|
1249
1241
|
break;
|
|
1250
|
-
case
|
|
1242
|
+
case TOOL_ZOOM_OUT:
|
|
1251
1243
|
viewer2DActions.selectToolZoomOut();
|
|
1252
1244
|
break;
|
|
1253
1245
|
}
|
|
@@ -1275,7 +1267,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1275
1267
|
var rulerYElements = Math.ceil(sceneHeight / rulerUnitPixelSize) + 1;
|
|
1276
1268
|
console.log('---render viewer2d');
|
|
1277
1269
|
console.log(viewer2D.isEmpty());
|
|
1278
|
-
return /*#__PURE__*/
|
|
1270
|
+
return /*#__PURE__*/React.createElement("div", null, rulerEdit, /*#__PURE__*/React.createElement("div", {
|
|
1279
1271
|
style: {
|
|
1280
1272
|
margin: 0,
|
|
1281
1273
|
padding: 0,
|
|
@@ -1286,13 +1278,13 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1286
1278
|
gridTemplateRows: "".concat(rulerSize, "px ").concat(height - rulerSize, "px"),
|
|
1287
1279
|
position: 'relative'
|
|
1288
1280
|
}
|
|
1289
|
-
}, /*#__PURE__*/
|
|
1281
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1290
1282
|
style: {
|
|
1291
1283
|
gridColumn: 1,
|
|
1292
1284
|
gridRow: 1,
|
|
1293
1285
|
backgroundColor: rulerBgColor
|
|
1294
1286
|
}
|
|
1295
|
-
}), /*#__PURE__*/
|
|
1287
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
1296
1288
|
style: {
|
|
1297
1289
|
gridRow: 1,
|
|
1298
1290
|
gridColumn: 2,
|
|
@@ -1300,7 +1292,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1300
1292
|
overflow: 'hidden'
|
|
1301
1293
|
},
|
|
1302
1294
|
id: "rulerX"
|
|
1303
|
-
}, sceneWidth ? /*#__PURE__*/
|
|
1295
|
+
}, sceneWidth ? /*#__PURE__*/React.createElement(RulerX, {
|
|
1304
1296
|
unitPixelSize: rulerUnitPixelSize,
|
|
1305
1297
|
zoom: sceneZoom,
|
|
1306
1298
|
mouseX: state.mouse.get('x'),
|
|
@@ -1311,7 +1303,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1311
1303
|
markerColor: rulerMkColor,
|
|
1312
1304
|
positiveUnitsNumber: rulerXElements,
|
|
1313
1305
|
negativeUnitsNumber: 0
|
|
1314
|
-
}) : null), /*#__PURE__*/
|
|
1306
|
+
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
1315
1307
|
style: {
|
|
1316
1308
|
gridColumn: 1,
|
|
1317
1309
|
gridRow: 2,
|
|
@@ -1319,7 +1311,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1319
1311
|
overflow: 'hidden'
|
|
1320
1312
|
},
|
|
1321
1313
|
id: "rulerY"
|
|
1322
|
-
}, sceneHeight ? /*#__PURE__*/
|
|
1314
|
+
}, sceneHeight ? /*#__PURE__*/React.createElement(RulerY, {
|
|
1323
1315
|
unitPixelSize: rulerUnitPixelSize,
|
|
1324
1316
|
zoom: sceneZoom,
|
|
1325
1317
|
mouseY: state.mouse.get('y'),
|
|
@@ -1330,7 +1322,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1330
1322
|
markerColor: rulerMkColor,
|
|
1331
1323
|
positiveUnitsNumber: rulerYElements,
|
|
1332
1324
|
negativeUnitsNumber: 0
|
|
1333
|
-
}) : null), /*#__PURE__*/
|
|
1325
|
+
}) : null), /*#__PURE__*/React.createElement(ReactSVGPanZoom, {
|
|
1334
1326
|
style: {
|
|
1335
1327
|
gridColumn: 2,
|
|
1336
1328
|
gridRow: 2
|
|
@@ -1354,30 +1346,30 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1354
1346
|
detectPinchGesture: false,
|
|
1355
1347
|
disableDoubleClickZoomWithToolAuto: true,
|
|
1356
1348
|
ref: Viewer
|
|
1357
|
-
}, /*#__PURE__*/
|
|
1349
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
1358
1350
|
width: scene.width,
|
|
1359
1351
|
height: scene.height
|
|
1360
|
-
}, /*#__PURE__*/
|
|
1352
|
+
}, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("pattern", {
|
|
1361
1353
|
id: "diagonalFill",
|
|
1362
1354
|
patternUnits: "userSpaceOnUse",
|
|
1363
1355
|
width: "4",
|
|
1364
1356
|
height: "4",
|
|
1365
1357
|
fill: "#FFF"
|
|
1366
|
-
}, /*#__PURE__*/
|
|
1358
|
+
}, /*#__PURE__*/React.createElement("rect", {
|
|
1367
1359
|
x: "0",
|
|
1368
1360
|
y: "0",
|
|
1369
1361
|
width: "4",
|
|
1370
1362
|
height: "4",
|
|
1371
1363
|
fill: "#FFF"
|
|
1372
|
-
}), /*#__PURE__*/
|
|
1364
|
+
}), /*#__PURE__*/React.createElement("path", {
|
|
1373
1365
|
d: "M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2",
|
|
1374
1366
|
style: {
|
|
1375
1367
|
stroke: '#8E9BA2',
|
|
1376
1368
|
strokeWidth: 1
|
|
1377
1369
|
}
|
|
1378
|
-
}))), /*#__PURE__*/
|
|
1370
|
+
}))), /*#__PURE__*/React.createElement("g", {
|
|
1379
1371
|
style: Object.assign(mode2Cursor(mode), mode2PointerEvents(mode))
|
|
1380
|
-
}, /*#__PURE__*/
|
|
1372
|
+
}, /*#__PURE__*/React.createElement(State, {
|
|
1381
1373
|
state: state,
|
|
1382
1374
|
catalog: catalog,
|
|
1383
1375
|
viewer2DActions: viewer2DActions,
|
|
@@ -1385,17 +1377,17 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1385
1377
|
}))))));
|
|
1386
1378
|
}
|
|
1387
1379
|
Viewer2D.propTypes = {
|
|
1388
|
-
state:
|
|
1389
|
-
width:
|
|
1390
|
-
height:
|
|
1380
|
+
state: PropTypes.object.isRequired,
|
|
1381
|
+
width: PropTypes.number.isRequired,
|
|
1382
|
+
height: PropTypes.number.isRequired
|
|
1391
1383
|
};
|
|
1392
1384
|
Viewer2D.contextTypes = {
|
|
1393
|
-
viewer2DActions:
|
|
1394
|
-
linesActions:
|
|
1395
|
-
holesActions:
|
|
1396
|
-
verticesActions:
|
|
1397
|
-
itemsActions:
|
|
1398
|
-
areaActions:
|
|
1399
|
-
projectActions:
|
|
1400
|
-
catalog:
|
|
1385
|
+
viewer2DActions: PropTypes.object.isRequired,
|
|
1386
|
+
linesActions: PropTypes.object.isRequired,
|
|
1387
|
+
holesActions: PropTypes.object.isRequired,
|
|
1388
|
+
verticesActions: PropTypes.object.isRequired,
|
|
1389
|
+
itemsActions: PropTypes.object.isRequired,
|
|
1390
|
+
areaActions: PropTypes.object.isRequired,
|
|
1391
|
+
projectActions: PropTypes.object.isRequired,
|
|
1392
|
+
catalog: PropTypes.object.isRequired
|
|
1401
1393
|
};
|