kitchen-simulator 1.1.1-test.72 → 1.1.1-test.74
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 -5
- package/es/AppContext.js +3 -6
- package/es/KitchenConfigurator.js +86 -86
- package/es/KitchenConfiguratorApp.js +134 -128
- package/es/actions/area-actions.js +5 -8
- package/es/actions/export.js +12 -24
- package/es/actions/groups-actions.js +27 -41
- package/es/actions/holes-actions.js +34 -51
- package/es/actions/items-actions.js +94 -141
- package/es/actions/lines-actions.js +21 -32
- package/es/actions/project-actions.js +94 -141
- package/es/actions/scene-actions.js +11 -17
- package/es/actions/vertices-actions.js +7 -11
- package/es/actions/viewer2d-actions.js +21 -32
- package/es/actions/viewer3d-actions.js +9 -14
- package/es/catalog/areas/area/planner-element.js +2 -5
- package/es/catalog/catalog.js +15 -17
- package/es/catalog/factories/area-factory-3d.js +22 -26
- package/es/catalog/factories/area-factory.js +13 -15
- package/es/catalog/factories/export.js +6 -10
- package/es/catalog/factories/wall-factory-3d.js +31 -36
- package/es/catalog/factories/wall-factory.js +21 -26
- package/es/catalog/holes/door-closet/planner-element.js +15 -19
- package/es/catalog/holes/door-double/planner-element.js +15 -19
- package/es/catalog/holes/door-exterior/planner-element.js +16 -20
- package/es/catalog/holes/door-interior/planner-element.js +16 -20
- package/es/catalog/holes/door-panic/planner-element.js +7 -11
- package/es/catalog/holes/door-panic-double/planner-element.js +15 -19
- package/es/catalog/holes/door-sliding/planner-element.js +17 -21
- package/es/catalog/holes/doorway-framed/planner-element.js +11 -15
- package/es/catalog/holes/doorway-frameless/planner-element.js +7 -11
- package/es/catalog/holes/export.js +13 -29
- package/es/catalog/holes/window-clear/planner-element.js +10 -14
- package/es/catalog/holes/window-cross/planner-element.js +10 -14
- package/es/catalog/holes/window-double-hung/planner-element.js +10 -14
- package/es/catalog/holes/window-vertical/planner-element.js +10 -14
- package/es/catalog/lines/wall/planner-element.js +2 -5
- package/es/catalog/molding/molding-dcm/planner-element.js +5 -9
- package/es/catalog/molding/molding-fbm/planner-element.js +5 -9
- package/es/catalog/molding/molding-lrm/planner-element.js +5 -9
- package/es/catalog/properties/export.js +20 -31
- package/es/catalog/properties/property-checkbox.js +28 -29
- package/es/catalog/properties/property-color.js +16 -19
- package/es/catalog/properties/property-enum.js +24 -27
- package/es/catalog/properties/property-hidden.js +9 -12
- package/es/catalog/properties/property-lenght-measure.js +38 -41
- package/es/catalog/properties/property-length-measure.js +36 -39
- package/es/catalog/properties/property-length-measure_hole.js +38 -41
- package/es/catalog/properties/property-number.js +17 -20
- package/es/catalog/properties/property-read-only.js +16 -19
- package/es/catalog/properties/property-string.js +16 -19
- package/es/catalog/properties/property-toggle.js +16 -19
- package/es/catalog/properties/shared-property-style.js +1 -3
- package/es/catalog/utils/FuseUtils.js +12 -13
- package/es/catalog/utils/exporter.js +10 -11
- package/es/catalog/utils/geom-utils.js +13 -24
- package/es/catalog/utils/item-loader.js +86 -92
- package/es/catalog/utils/load-obj.js +20 -24
- package/es/catalog/utils/mtl-loader.js +3 -4
- package/es/catalog/utils/obj-loader.js +3 -4
- package/es/class/FuseUtils.js +12 -13
- package/es/class/area.js +24 -24
- package/es/class/export.js +23 -36
- package/es/class/group.js +53 -55
- package/es/class/guide.js +15 -17
- package/es/class/hole.js +83 -85
- package/es/class/item.js +155 -155
- package/es/class/layer.js +59 -61
- package/es/class/line.js +135 -138
- package/es/class/project.js +93 -94
- package/es/class/vertex.js +29 -31
- package/es/components/content.js +19 -23
- package/es/components/disclaimer/disclaimer.js +10 -13
- package/es/components/export.js +8 -13
- package/es/components/style/button.js +25 -25
- package/es/components/style/cancel-button.js +7 -10
- package/es/components/style/content-container.js +11 -12
- package/es/components/style/content-title.js +13 -15
- package/es/components/style/delete-button.js +8 -12
- package/es/components/style/export.js +30 -46
- package/es/components/style/form-block.js +10 -11
- package/es/components/style/form-color-input.js +7 -10
- package/es/components/style/form-label.js +10 -11
- package/es/components/style/form-number-input.js +45 -43
- package/es/components/style/form-number-input_2.js +41 -39
- package/es/components/style/form-select.js +19 -20
- package/es/components/style/form-slider.js +10 -13
- package/es/components/style/form-submit-button.js +8 -12
- package/es/components/style/form-text-input.js +30 -28
- package/es/components/viewer2d/area.js +17 -20
- package/es/components/viewer2d/export.js +30 -46
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +10 -13
- package/es/components/viewer2d/grids/grid-streak.js +10 -13
- package/es/components/viewer2d/grids/grid-vertical-streak.js +10 -13
- package/es/components/viewer2d/grids/grids.js +10 -14
- package/es/components/viewer2d/group.js +15 -19
- package/es/components/viewer2d/item.js +61 -65
- package/es/components/viewer2d/layer.js +23 -26
- package/es/components/viewer2d/line.js +101 -106
- package/es/components/viewer2d/ruler.js +22 -25
- package/es/components/viewer2d/rulerDist.js +21 -24
- package/es/components/viewer2d/rulerX.js +46 -44
- package/es/components/viewer2d/rulerY.js +44 -42
- package/es/components/viewer2d/scene.js +34 -34
- package/es/components/viewer2d/snap.js +13 -17
- package/es/components/viewer2d/state.js +18 -22
- package/es/components/viewer2d/utils.js +24 -33
- package/es/components/viewer2d/vertex.js +8 -12
- package/es/components/viewer2d/viewer2d.js +156 -159
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +21 -19
- package/es/components/viewer3d/dcm.js +1 -3
- package/es/components/viewer3d/fbm.js +1 -3
- package/es/components/viewer3d/front3D.js +12 -16
- package/es/components/viewer3d/grid-creator.js +8 -12
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +6 -9
- package/es/components/viewer3d/grids/grid-streak.js +5 -8
- package/es/components/viewer3d/grids/grid-vertical-streak.js +6 -9
- package/es/components/viewer3d/libs/first-person-controls.js +2 -5
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +1 -3
- package/es/components/viewer3d/libs/mtl-loader.js +1 -3
- package/es/components/viewer3d/libs/obj-loader.js +1 -3
- package/es/components/viewer3d/libs/orbit-controls.js +2 -4
- package/es/components/viewer3d/libs/pointer-lock-controls.js +2 -4
- package/es/components/viewer3d/lrm.js +1 -3
- package/es/components/viewer3d/model.js +1 -3
- package/es/components/viewer3d/pointer-lock-navigation.js +3 -6
- package/es/components/viewer3d/ruler-utils/itemRect.js +18 -21
- package/es/components/viewer3d/ruler-utils/layer3D.js +59 -62
- package/es/components/viewer3d/ruler-utils/ruler3D.js +42 -43
- package/es/components/viewer3d/ruler-utils/scene3D.js +9 -13
- package/es/components/viewer3d/ruler-utils/state3D.js +4 -7
- package/es/components/viewer3d/scene-creator.js +197 -223
- package/es/components/viewer3d/three-memory-cleaner.js +3 -7
- package/es/components/viewer3d/viewer3d-first-person.js +42 -42
- package/es/components/viewer3d/viewer3d.js +200 -198
- package/es/constants.js +349 -354
- package/es/index.js +7 -11
- package/es/models.js +193 -191
- package/es/plugins/SVGLoader.js +48 -49
- package/es/plugins/autosave.js +3 -5
- package/es/plugins/console-debugger.js +6 -7
- package/es/plugins/export.js +8 -13
- package/es/plugins/keyboard.js +29 -31
- package/es/reducers/areas-reducer.js +7 -9
- package/es/reducers/export.js +24 -37
- package/es/reducers/groups-reducer.js +31 -33
- package/es/reducers/holes-reducer.js +43 -45
- package/es/reducers/items-reducer.js +106 -108
- package/es/reducers/lines-reducer.js +28 -30
- package/es/reducers/project-reducer.js +105 -107
- package/es/reducers/reducer.js +16 -19
- package/es/reducers/scene-reducer.js +15 -17
- package/es/reducers/user-reducer.js +5 -7
- package/es/reducers/vertices-reducer.js +11 -13
- package/es/reducers/viewer2d-reducer.js +18 -20
- package/es/reducers/viewer3d-reducer.js +16 -18
- package/es/shared-style.js +10 -12
- package/es/styles/export.js +3 -6
- package/es/translator/en.js +1 -3
- package/es/translator/it.js +1 -3
- package/es/translator/ru.js +1 -3
- package/es/translator/translator.js +13 -15
- package/es/utils/browser.js +2 -5
- package/es/utils/convert-units-lite.js +1 -3
- package/es/utils/email-validator.js +1 -3
- package/es/utils/export.js +15 -29
- package/es/utils/geometry.js +190 -280
- package/es/utils/get-edges-of-subgraphs.js +2 -5
- package/es/utils/graph-cycles.js +8 -7
- package/es/utils/graph-inner-cycles.js +10 -14
- package/es/utils/graph.js +9 -13
- package/es/utils/helper.js +41 -58
- package/es/utils/history.js +8 -11
- package/es/utils/id-broker.js +8 -11
- package/es/utils/logger.js +1 -3
- package/es/utils/math.js +5 -8
- package/es/utils/molding.js +130 -146
- package/es/utils/name-generator.js +7 -9
- package/es/utils/objects-utils.js +7 -14
- package/es/utils/phone-validator.js +1 -3
- package/es/utils/process-black-list.js +5 -6
- package/es/utils/react-if.js +7 -9
- package/es/utils/snap-scene.js +27 -30
- package/es/utils/snap.js +53 -57
- package/es/utils/summarizeCart.js +1 -3
- package/es/utils/threeCSG.es6.js +13 -17
- package/es/version.js +1 -3
- package/package.json +1 -1
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
5
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
6
|
-
var NameGenerator = exports["default"] = /*#__PURE__*/function () {
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
var NameGenerator = /*#__PURE__*/function () {
|
|
7
4
|
function NameGenerator() {
|
|
8
|
-
(
|
|
5
|
+
_classCallCheck(this, NameGenerator);
|
|
9
6
|
}
|
|
10
|
-
return (
|
|
7
|
+
return _createClass(NameGenerator, null, [{
|
|
11
8
|
key: "generateName",
|
|
12
9
|
value: function generateName(prototype, type) {
|
|
13
10
|
return type.substr(0, 1).toUpperCase() + type.substr(1);
|
|
14
11
|
}
|
|
15
12
|
}]);
|
|
16
|
-
}();
|
|
13
|
+
}();
|
|
14
|
+
export { NameGenerator as default };
|
|
@@ -1,26 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports.getAllMeshes = getAllMeshes;
|
|
5
|
-
exports.objectsCompare = objectsCompare;
|
|
6
|
-
exports.objectsMap = objectsMap;
|
|
7
|
-
exports.vectorIntersectWithMesh = vectorIntersectWithMesh;
|
|
8
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
9
|
-
var Three = _interopRequireWildcard(require("three"));
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
2
|
+
import * as Three from 'three';
|
|
10
3
|
String.prototype.isLeftPlaceholder = function () {
|
|
11
4
|
return this.match(/_L$|_L_\d$/) != null;
|
|
12
5
|
};
|
|
13
6
|
String.prototype.isRightPlaceholder = function () {
|
|
14
7
|
return this.match(/_R$|_R_\d$/) != null;
|
|
15
8
|
};
|
|
16
|
-
function objectsMap(object, func) {
|
|
9
|
+
export function objectsMap(object, func) {
|
|
17
10
|
var mappedObject = {};
|
|
18
11
|
for (var key in object) {
|
|
19
12
|
mappedObject[key] = func(key, mappedObject[key]);
|
|
20
13
|
}
|
|
21
14
|
return mappedObject;
|
|
22
15
|
}
|
|
23
|
-
function objectsCompare(x, y) {
|
|
16
|
+
export function objectsCompare(x, y) {
|
|
24
17
|
if (x === y) return true;
|
|
25
18
|
if (!(x instanceof Object) || !(y instanceof Object)) return false;
|
|
26
19
|
if (x.constructor !== y.constructor) return false;
|
|
@@ -28,7 +21,7 @@ function objectsCompare(x, y) {
|
|
|
28
21
|
if (!x.hasOwnProperty(p)) continue;
|
|
29
22
|
if (!y.hasOwnProperty(p)) return false;
|
|
30
23
|
if (x[p] === y[p]) continue;
|
|
31
|
-
if ((
|
|
24
|
+
if (_typeof(x[p]) !== 'object') return false;
|
|
32
25
|
if (!objectsCompare(x[p], y[p])) return false;
|
|
33
26
|
}
|
|
34
27
|
for (var _p in y) {
|
|
@@ -36,7 +29,7 @@ function objectsCompare(x, y) {
|
|
|
36
29
|
}
|
|
37
30
|
return true;
|
|
38
31
|
}
|
|
39
|
-
function getAllMeshes(objects) {
|
|
32
|
+
export function getAllMeshes(objects) {
|
|
40
33
|
var meshes = [];
|
|
41
34
|
objects.forEach(function (object) {
|
|
42
35
|
if (!object) return;
|
|
@@ -48,7 +41,7 @@ function getAllMeshes(objects) {
|
|
|
48
41
|
});
|
|
49
42
|
return meshes;
|
|
50
43
|
}
|
|
51
|
-
function vectorIntersectWithMesh(origin, target) {
|
|
44
|
+
export function vectorIntersectWithMesh(origin, target) {
|
|
52
45
|
var vectorDir = new Three.Vector3(origin.x, origin.y - 1000, origin.z);
|
|
53
46
|
var ray = new Three.Raycaster();
|
|
54
47
|
ray.set(origin, vectorDir);
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
exports.phoneValidation = void 0;
|
|
3
|
-
var phoneValidation = exports.phoneValidation = function phoneValidation(phone) {
|
|
1
|
+
export var phoneValidation = function phoneValidation(phone) {
|
|
4
2
|
var result = /^(\+1\s?)?(\(?\d{3}\)?[\s.-]?)?\d{3}[\s.-]?\d{4}$/;
|
|
5
3
|
return result.test(String(phone).toLowerCase());
|
|
6
4
|
};
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
var buildCurrentCabinetObject = exports.buildCurrentCabinetObject = function buildCurrentCabinetObject(cabinet, texture) {
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
export var buildCurrentCabinetObject = function buildCurrentCabinetObject(cabinet, texture) {
|
|
6
5
|
return {
|
|
7
6
|
type: cabinet.name,
|
|
8
7
|
// e.g. "B09"
|
|
9
8
|
name: cabinet.name,
|
|
10
9
|
category: cabinet.type,
|
|
11
10
|
// "cabinet"
|
|
12
|
-
doorStyle: (
|
|
11
|
+
doorStyle: _objectSpread({}, texture),
|
|
13
12
|
itemID: cabinet.itemID,
|
|
14
13
|
sku_number: cabinet.name
|
|
15
14
|
};
|
package/es/utils/react-if.js
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _react = _interopRequireDefault(require("react"));
|
|
5
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
|
|
6
4
|
/**
|
|
7
5
|
* @return {null}
|
|
8
6
|
*/
|
|
9
|
-
function If(_ref) {
|
|
7
|
+
export default function If(_ref) {
|
|
10
8
|
var condition = _ref.condition,
|
|
11
9
|
style = _ref.style,
|
|
12
10
|
children = _ref.children;
|
|
13
|
-
return condition ? Array.isArray(children) ? /*#__PURE__*/
|
|
11
|
+
return condition ? Array.isArray(children) ? /*#__PURE__*/React.createElement("div", {
|
|
14
12
|
style: style
|
|
15
13
|
}, children) : children : null;
|
|
16
14
|
}
|
|
17
15
|
If.propTypes = {
|
|
18
|
-
condition:
|
|
19
|
-
style:
|
|
16
|
+
condition: PropTypes.bool.isRequired,
|
|
17
|
+
style: PropTypes.object
|
|
20
18
|
};
|
package/es/utils/snap-scene.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
function sceneSnapElements(scene) {
|
|
9
|
-
var snapElements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _immutable.List();
|
|
10
|
-
var snapMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new _immutable.Map();
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { SNAP_POINT, SNAP_LINE, SNAP_SEGMENT, SNAP_GRID, SNAP_GUIDE, addPointSnap, addLineSnap, addLineSegmentSnap, addGridSnap } from "./snap";
|
|
3
|
+
import { GeometryUtils } from "./export";
|
|
4
|
+
import { Map, List } from 'immutable';
|
|
5
|
+
export function sceneSnapElements(scene) {
|
|
6
|
+
var snapElements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new List();
|
|
7
|
+
var snapMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Map();
|
|
11
8
|
var width = scene.width,
|
|
12
9
|
height = scene.height;
|
|
13
10
|
var a, b, c;
|
|
@@ -19,36 +16,36 @@ function sceneSnapElements(scene) {
|
|
|
19
16
|
var vertexID = _ref.id,
|
|
20
17
|
x = _ref.x,
|
|
21
18
|
y = _ref.y;
|
|
22
|
-
if (snapMask.get(
|
|
23
|
-
|
|
19
|
+
if (snapMask.get(SNAP_POINT)) {
|
|
20
|
+
addPointSnap(snapElements, x, y, 10, 10, vertexID);
|
|
24
21
|
}
|
|
25
|
-
if (snapMask.get(
|
|
26
|
-
var _GeometryUtils$horizo =
|
|
22
|
+
if (snapMask.get(SNAP_LINE)) {
|
|
23
|
+
var _GeometryUtils$horizo = GeometryUtils.horizontalLine(y);
|
|
27
24
|
a = _GeometryUtils$horizo.a;
|
|
28
25
|
b = _GeometryUtils$horizo.b;
|
|
29
26
|
c = _GeometryUtils$horizo.c;
|
|
30
|
-
|
|
31
|
-
var _GeometryUtils$vertic =
|
|
27
|
+
addLineSnap(snapElements, a, b, c, 10, 1, vertexID);
|
|
28
|
+
var _GeometryUtils$vertic = GeometryUtils.verticalLine(x);
|
|
32
29
|
a = _GeometryUtils$vertic.a;
|
|
33
30
|
b = _GeometryUtils$vertic.b;
|
|
34
31
|
c = _GeometryUtils$vertic.c;
|
|
35
|
-
|
|
36
|
-
var _GeometryUtils$upcros =
|
|
32
|
+
addLineSnap(snapElements, a, b, c, 10, 1, vertexID);
|
|
33
|
+
var _GeometryUtils$upcros = GeometryUtils.upcrossLine(x, y);
|
|
37
34
|
a = _GeometryUtils$upcros.a;
|
|
38
35
|
b = _GeometryUtils$upcros.b;
|
|
39
36
|
c = _GeometryUtils$upcros.c;
|
|
40
|
-
|
|
41
|
-
var _GeometryUtils$downcr =
|
|
37
|
+
addLineSnap(snapElements, a, b, c, 10, 3, null);
|
|
38
|
+
var _GeometryUtils$downcr = GeometryUtils.downcrossLine(x, y);
|
|
42
39
|
a = _GeometryUtils$downcr.a;
|
|
43
40
|
b = _GeometryUtils$downcr.b;
|
|
44
41
|
c = _GeometryUtils$downcr.c;
|
|
45
|
-
|
|
42
|
+
addLineSnap(snapElements, a, b, c, 10, 3, null);
|
|
46
43
|
}
|
|
47
44
|
});
|
|
48
|
-
if (snapMask.get(
|
|
45
|
+
if (snapMask.get(SNAP_SEGMENT)) {
|
|
49
46
|
lines.forEach(function (_ref2) {
|
|
50
47
|
var lineID = _ref2.id,
|
|
51
|
-
_ref2$vertices = (
|
|
48
|
+
_ref2$vertices = _slicedToArray(_ref2.vertices, 2),
|
|
52
49
|
v0 = _ref2$vertices[0],
|
|
53
50
|
v1 = _ref2$vertices[1];
|
|
54
51
|
var _vertices$get = vertices.get(v0),
|
|
@@ -57,11 +54,11 @@ function sceneSnapElements(scene) {
|
|
|
57
54
|
var _vertices$get2 = vertices.get(v1),
|
|
58
55
|
x2 = _vertices$get2.x,
|
|
59
56
|
y2 = _vertices$get2.y;
|
|
60
|
-
|
|
57
|
+
addLineSegmentSnap(snapElements, x1, y1, x2, y2, 20, 1, lineID);
|
|
61
58
|
});
|
|
62
59
|
}
|
|
63
60
|
});
|
|
64
|
-
if (snapMask.get(
|
|
61
|
+
if (snapMask.get(SNAP_GRID)) {
|
|
65
62
|
var divider = 5;
|
|
66
63
|
var gridCellSize = 100 / divider;
|
|
67
64
|
var xCycle = width / gridCellSize;
|
|
@@ -72,25 +69,25 @@ function sceneSnapElements(scene) {
|
|
|
72
69
|
var yMul = y * gridCellSize;
|
|
73
70
|
var onXCross = !(x % divider) ? true : false;
|
|
74
71
|
var onYCross = !(y % divider) ? true : false;
|
|
75
|
-
|
|
72
|
+
addGridSnap(snapElements, xMul, yMul, 10, onXCross && onYCross ? 15 : 10, null);
|
|
76
73
|
}
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
|
-
if (snapMask.get(
|
|
76
|
+
if (snapMask.get(SNAP_GUIDE)) {
|
|
80
77
|
var horizontal = scene.getIn(['guides', 'horizontal']);
|
|
81
78
|
var vertical = scene.getIn(['guides', 'vertical']);
|
|
82
79
|
var hValues = horizontal.valueSeq();
|
|
83
80
|
var vValues = vertical.valueSeq();
|
|
84
81
|
hValues.forEach(function (hVal) {
|
|
85
82
|
vValues.forEach(function (vVal) {
|
|
86
|
-
|
|
83
|
+
addPointSnap(snapElements, vVal, hVal, 10, 10);
|
|
87
84
|
});
|
|
88
85
|
});
|
|
89
86
|
hValues.forEach(function (hVal) {
|
|
90
|
-
return
|
|
87
|
+
return addLineSegmentSnap(snapElements, 0, hVal, width, hVal, 20, 1);
|
|
91
88
|
});
|
|
92
89
|
vValues.forEach(function (vVal) {
|
|
93
|
-
return
|
|
90
|
+
return addLineSegmentSnap(snapElements, vVal, 0, vVal, height, 20, 1);
|
|
94
91
|
});
|
|
95
92
|
}
|
|
96
93
|
});
|
package/es/utils/snap.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var SNAP_SEGMENT = exports.SNAP_SEGMENT = 'SNAP_SEGMENT';
|
|
20
|
-
var SNAP_GRID = exports.SNAP_GRID = 'SNAP_GRID';
|
|
21
|
-
var SNAP_GUIDE = exports.SNAP_GUIDE = 'SNAP_GUIDE';
|
|
22
|
-
var SNAP_MASK = exports.SNAP_MASK = new _immutable.Map({
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
10
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
|
+
import { Map, List, Record } from 'immutable';
|
|
12
|
+
import * as Geometry from "./geometry";
|
|
13
|
+
export var SNAP_POINT = 'SNAP_POINT';
|
|
14
|
+
export var SNAP_LINE = 'SNAP_LINE';
|
|
15
|
+
export var SNAP_SEGMENT = 'SNAP_SEGMENT';
|
|
16
|
+
export var SNAP_GRID = 'SNAP_GRID';
|
|
17
|
+
export var SNAP_GUIDE = 'SNAP_GUIDE';
|
|
18
|
+
export var SNAP_MASK = new Map({
|
|
23
19
|
SNAP_POINT: true,
|
|
24
20
|
SNAP_LINE: true,
|
|
25
21
|
SNAP_SEGMENT: true,
|
|
@@ -28,11 +24,11 @@ var SNAP_MASK = exports.SNAP_MASK = new _immutable.Map({
|
|
|
28
24
|
});
|
|
29
25
|
var PointSnap = /*#__PURE__*/function (_Record) {
|
|
30
26
|
function PointSnap() {
|
|
31
|
-
(
|
|
32
|
-
return (
|
|
27
|
+
_classCallCheck(this, PointSnap);
|
|
28
|
+
return _callSuper(this, PointSnap, arguments);
|
|
33
29
|
}
|
|
34
|
-
(
|
|
35
|
-
return (
|
|
30
|
+
_inherits(PointSnap, _Record);
|
|
31
|
+
return _createClass(PointSnap, [{
|
|
36
32
|
key: "nearestPoint",
|
|
37
33
|
value: function nearestPoint(x, y) {
|
|
38
34
|
return {
|
|
@@ -47,24 +43,24 @@ var PointSnap = /*#__PURE__*/function (_Record) {
|
|
|
47
43
|
return ~(this.x - x) + 1 < distance && ~(this.y - y) + 1 < distance;
|
|
48
44
|
}
|
|
49
45
|
}]);
|
|
50
|
-
}(
|
|
46
|
+
}(Record({
|
|
51
47
|
type: 'point',
|
|
52
48
|
x: -1,
|
|
53
49
|
y: -1,
|
|
54
50
|
radius: 1,
|
|
55
51
|
priority: 1,
|
|
56
|
-
related: new
|
|
52
|
+
related: new List()
|
|
57
53
|
}));
|
|
58
54
|
var LineSnap = /*#__PURE__*/function (_Record2) {
|
|
59
55
|
function LineSnap() {
|
|
60
|
-
(
|
|
61
|
-
return (
|
|
56
|
+
_classCallCheck(this, LineSnap);
|
|
57
|
+
return _callSuper(this, LineSnap, arguments);
|
|
62
58
|
}
|
|
63
|
-
(
|
|
64
|
-
return (
|
|
59
|
+
_inherits(LineSnap, _Record2);
|
|
60
|
+
return _createClass(LineSnap, [{
|
|
65
61
|
key: "nearestPoint",
|
|
66
62
|
value: function nearestPoint(x, y) {
|
|
67
|
-
return (
|
|
63
|
+
return _objectSpread(_objectSpread({}, Geometry.closestPointFromLine(this.a, this.b, this.c, x, y)), {}, {
|
|
68
64
|
distance: Geometry.distancePointFromLine(this.a, this.b, this.c, x, y)
|
|
69
65
|
});
|
|
70
66
|
}
|
|
@@ -74,25 +70,25 @@ var LineSnap = /*#__PURE__*/function (_Record2) {
|
|
|
74
70
|
return true;
|
|
75
71
|
}
|
|
76
72
|
}]);
|
|
77
|
-
}(
|
|
73
|
+
}(Record({
|
|
78
74
|
type: 'line',
|
|
79
75
|
a: -1,
|
|
80
76
|
b: -1,
|
|
81
77
|
c: -1,
|
|
82
78
|
radius: 1,
|
|
83
79
|
priority: 1,
|
|
84
|
-
related: new
|
|
80
|
+
related: new List()
|
|
85
81
|
}));
|
|
86
82
|
var LineSegmentSnap = /*#__PURE__*/function (_Record3) {
|
|
87
83
|
function LineSegmentSnap() {
|
|
88
|
-
(
|
|
89
|
-
return (
|
|
84
|
+
_classCallCheck(this, LineSegmentSnap);
|
|
85
|
+
return _callSuper(this, LineSegmentSnap, arguments);
|
|
90
86
|
}
|
|
91
|
-
(
|
|
92
|
-
return (
|
|
87
|
+
_inherits(LineSegmentSnap, _Record3);
|
|
88
|
+
return _createClass(LineSegmentSnap, [{
|
|
93
89
|
key: "nearestPoint",
|
|
94
90
|
value: function nearestPoint(x, y) {
|
|
95
|
-
return (
|
|
91
|
+
return _objectSpread(_objectSpread({}, Geometry.closestPointFromLineSegment(this.x1, this.y1, this.x2, this.y2, x, y)), {}, {
|
|
96
92
|
distance: Geometry.distancePointFromLineSegment({
|
|
97
93
|
x: this.x1,
|
|
98
94
|
y: this.y1
|
|
@@ -108,7 +104,7 @@ var LineSegmentSnap = /*#__PURE__*/function (_Record3) {
|
|
|
108
104
|
return true;
|
|
109
105
|
}
|
|
110
106
|
}]);
|
|
111
|
-
}(
|
|
107
|
+
}(Record({
|
|
112
108
|
type: 'line-segment',
|
|
113
109
|
x1: -1,
|
|
114
110
|
y1: -1,
|
|
@@ -116,15 +112,15 @@ var LineSegmentSnap = /*#__PURE__*/function (_Record3) {
|
|
|
116
112
|
y2: -1,
|
|
117
113
|
radius: 1,
|
|
118
114
|
priority: 1,
|
|
119
|
-
related: new
|
|
115
|
+
related: new List()
|
|
120
116
|
}));
|
|
121
117
|
var GridSnap = /*#__PURE__*/function (_Record4) {
|
|
122
118
|
function GridSnap() {
|
|
123
|
-
(
|
|
124
|
-
return (
|
|
119
|
+
_classCallCheck(this, GridSnap);
|
|
120
|
+
return _callSuper(this, GridSnap, arguments);
|
|
125
121
|
}
|
|
126
|
-
(
|
|
127
|
-
return (
|
|
122
|
+
_inherits(GridSnap, _Record4);
|
|
123
|
+
return _createClass(GridSnap, [{
|
|
128
124
|
key: "nearestPoint",
|
|
129
125
|
value: function nearestPoint(x, y) {
|
|
130
126
|
return {
|
|
@@ -139,15 +135,15 @@ var GridSnap = /*#__PURE__*/function (_Record4) {
|
|
|
139
135
|
return ~(this.x - x) + 1 < distance && ~(this.y - y) + 1 < distance;
|
|
140
136
|
}
|
|
141
137
|
}]);
|
|
142
|
-
}(
|
|
138
|
+
}(Record({
|
|
143
139
|
type: 'grid',
|
|
144
140
|
x: -1,
|
|
145
141
|
y: -1,
|
|
146
142
|
radius: 1,
|
|
147
143
|
priority: 1,
|
|
148
|
-
related: new
|
|
144
|
+
related: new List()
|
|
149
145
|
}));
|
|
150
|
-
function nearestSnap(snapElements, x, y, snapMask) {
|
|
146
|
+
export function nearestSnap(snapElements, x, y, snapMask) {
|
|
151
147
|
var filter = {
|
|
152
148
|
point: snapMask.get(SNAP_POINT),
|
|
153
149
|
line: snapMask.get(SNAP_LINE),
|
|
@@ -173,8 +169,8 @@ function nearestSnap(snapElements, x, y, snapMask) {
|
|
|
173
169
|
return p1 === p2 ? d1 < d2 ? -1 : 1 : p1 > p2 ? -1 : 1;
|
|
174
170
|
});
|
|
175
171
|
}
|
|
176
|
-
function addPointSnap(snapElements, x, y, radius, priority, related) {
|
|
177
|
-
related = new
|
|
172
|
+
export function addPointSnap(snapElements, x, y, radius, priority, related) {
|
|
173
|
+
related = new List([related]);
|
|
178
174
|
return snapElements.push(new PointSnap({
|
|
179
175
|
x: x,
|
|
180
176
|
y: y,
|
|
@@ -183,8 +179,8 @@ function addPointSnap(snapElements, x, y, radius, priority, related) {
|
|
|
183
179
|
related: related
|
|
184
180
|
}));
|
|
185
181
|
}
|
|
186
|
-
function addLineSnap(snapElements, a, b, c, radius, priority, related) {
|
|
187
|
-
related = new
|
|
182
|
+
export function addLineSnap(snapElements, a, b, c, radius, priority, related) {
|
|
183
|
+
related = new List([related]);
|
|
188
184
|
return snapElements.withMutations(function (snapElements) {
|
|
189
185
|
var alreadyPresent = snapElements.some(function (lineSnap) {
|
|
190
186
|
return lineSnap.type === 'line' && a === lineSnap.a && b === lineSnap.b && c === lineSnap.c;
|
|
@@ -211,8 +207,8 @@ function addLineSnap(snapElements, a, b, c, radius, priority, related) {
|
|
|
211
207
|
}));
|
|
212
208
|
});
|
|
213
209
|
}
|
|
214
|
-
function addLineSegmentSnap(snapElements, x1, y1, x2, y2, radius, priority, related) {
|
|
215
|
-
related = new
|
|
210
|
+
export function addLineSegmentSnap(snapElements, x1, y1, x2, y2, radius, priority, related) {
|
|
211
|
+
related = new List([related]);
|
|
216
212
|
return snapElements.push(new LineSegmentSnap({
|
|
217
213
|
x1: x1,
|
|
218
214
|
y1: y1,
|
|
@@ -223,8 +219,8 @@ function addLineSegmentSnap(snapElements, x1, y1, x2, y2, radius, priority, rela
|
|
|
223
219
|
related: related
|
|
224
220
|
}));
|
|
225
221
|
}
|
|
226
|
-
function addGridSnap(snapElements, x, y, radius, priority, related) {
|
|
227
|
-
related = new
|
|
222
|
+
export function addGridSnap(snapElements, x, y, radius, priority, related) {
|
|
223
|
+
related = new List([related]);
|
|
228
224
|
return snapElements.push(new GridSnap({
|
|
229
225
|
x: x,
|
|
230
226
|
y: y,
|
package/es/utils/threeCSG.es6.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
4
|
-
exports["default"] = void 0;
|
|
5
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
6
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
7
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
8
3
|
/*jshint esversion: 6 */
|
|
9
|
-
|
|
4
|
+
import * as THREE from 'three';
|
|
10
5
|
var EPSILON = 1e-5,
|
|
11
6
|
COPLANAR = 0,
|
|
12
7
|
FRONT = 1,
|
|
13
8
|
BACK = 2,
|
|
14
9
|
SPANNING = 3;
|
|
15
|
-
var ThreeBSP =
|
|
10
|
+
var ThreeBSP = /*#__PURE__*/function () {
|
|
16
11
|
function ThreeBSP(geometry) {
|
|
17
|
-
(
|
|
12
|
+
_classCallCheck(this, ThreeBSP);
|
|
18
13
|
// Convert THREE.Geometry to ThreeBSP
|
|
19
14
|
var i,
|
|
20
15
|
_length_i,
|
|
@@ -63,7 +58,7 @@ var ThreeBSP = exports["default"] = /*#__PURE__*/function () {
|
|
|
63
58
|
}
|
|
64
59
|
this.tree = new Node(polygons);
|
|
65
60
|
}
|
|
66
|
-
return (
|
|
61
|
+
return _createClass(ThreeBSP, [{
|
|
67
62
|
key: "subtract",
|
|
68
63
|
value: function subtract(other_tree) {
|
|
69
64
|
var a = this.tree.clone(),
|
|
@@ -158,9 +153,10 @@ var ThreeBSP = exports["default"] = /*#__PURE__*/function () {
|
|
|
158
153
|
}
|
|
159
154
|
}]);
|
|
160
155
|
}();
|
|
156
|
+
export { ThreeBSP as default };
|
|
161
157
|
var Polygon = /*#__PURE__*/function () {
|
|
162
158
|
function Polygon(vertices, normal, w) {
|
|
163
|
-
(
|
|
159
|
+
_classCallCheck(this, Polygon);
|
|
164
160
|
if (!(vertices instanceof Array)) {
|
|
165
161
|
vertices = [];
|
|
166
162
|
}
|
|
@@ -171,7 +167,7 @@ var Polygon = /*#__PURE__*/function () {
|
|
|
171
167
|
this.normal = this.w = undefined;
|
|
172
168
|
}
|
|
173
169
|
}
|
|
174
|
-
return (
|
|
170
|
+
return _createClass(Polygon, [{
|
|
175
171
|
key: "calculateProperties",
|
|
176
172
|
value: function calculateProperties() {
|
|
177
173
|
var a = this.vertices[0],
|
|
@@ -291,14 +287,14 @@ var Polygon = /*#__PURE__*/function () {
|
|
|
291
287
|
}();
|
|
292
288
|
var Vertex = /*#__PURE__*/function () {
|
|
293
289
|
function Vertex(x, y, z, normal, uv) {
|
|
294
|
-
(
|
|
290
|
+
_classCallCheck(this, Vertex);
|
|
295
291
|
this.x = x;
|
|
296
292
|
this.y = y;
|
|
297
293
|
this.z = z;
|
|
298
294
|
this.normal = normal || new THREE.Vector3();
|
|
299
295
|
this.uv = uv || new THREE.Vector2();
|
|
300
296
|
}
|
|
301
|
-
return (
|
|
297
|
+
return _createClass(Vertex, [{
|
|
302
298
|
key: "clone",
|
|
303
299
|
value: function clone() {
|
|
304
300
|
return new Vertex(this.x, this.y, this.z, this.normal.clone(), this.uv.clone());
|
|
@@ -383,7 +379,7 @@ var Vertex = /*#__PURE__*/function () {
|
|
|
383
379
|
}();
|
|
384
380
|
var Node = /*#__PURE__*/function () {
|
|
385
381
|
function Node(polygons) {
|
|
386
|
-
(
|
|
382
|
+
_classCallCheck(this, Node);
|
|
387
383
|
var i,
|
|
388
384
|
polygon_count,
|
|
389
385
|
front = [],
|
|
@@ -402,7 +398,7 @@ var Node = /*#__PURE__*/function () {
|
|
|
402
398
|
this.back = new Node(back);
|
|
403
399
|
}
|
|
404
400
|
}
|
|
405
|
-
return (
|
|
401
|
+
return _createClass(Node, [{
|
|
406
402
|
key: "isConvex",
|
|
407
403
|
value: function isConvex(polygons) {
|
|
408
404
|
var i, j;
|
package/es/version.js
CHANGED