kitchen-simulator 4.4.4 → 4.4.6
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/constants.js +1 -1
- package/es/utils/skinPanelEngine.js +16 -11
- package/lib/constants.js +1 -1
- package/lib/utils/skinPanelEngine.js +15 -10
- package/package.json +1 -1
package/es/constants.js
CHANGED
|
@@ -452,7 +452,7 @@ export var UNIT_FOOT = 'ft';
|
|
|
452
452
|
export var UNIT_MILE = 'mi';
|
|
453
453
|
export var UNITS_LENGTH = [UNIT_MILLIMETER, UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT, UNIT_MILE];
|
|
454
454
|
export var CEIL_UNITS_LENGTH = [UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT];
|
|
455
|
-
export var EPSILON =
|
|
455
|
+
export var EPSILON = 0.5;
|
|
456
456
|
|
|
457
457
|
// distance between item and wall
|
|
458
458
|
export var DISTANCE_EPSILON = 5.0; //5.08; // 2 inch
|
|
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
3
3
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
4
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
-
import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_LINK, OVERLAP_SOME, EPSILON } from "../constants";
|
|
5
|
+
import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_LINK, OVERLAP_SOME, EPSILON, VANITY_CABINET_LAYOUTPOS } from "../constants";
|
|
6
6
|
import { buildRectFromLines, getAllLines, pointsDistance, relationshipOfTwoOverlappedLines, rotatePointAroundPoint } from "./geometry";
|
|
7
7
|
import { MathUtils } from "./export";
|
|
8
8
|
import { convert } from "./convert-units-lite";
|
|
@@ -66,6 +66,7 @@ export function getSideFaces(item, layer) {
|
|
|
66
66
|
var skinPanelSKU = 'unknown';
|
|
67
67
|
switch (item.layoutpos) {
|
|
68
68
|
case BASE_CABINET_LAYOUTPOS:
|
|
69
|
+
case VANITY_CABINET_LAYOUTPOS:
|
|
69
70
|
skinPanelSKU = i === 2 ? 'unknown' : SKIN_SKU_BSV_24;
|
|
70
71
|
break;
|
|
71
72
|
case WALL_CABINET_LAYOUTPOS:
|
|
@@ -96,7 +97,7 @@ export function getSideFaces(item, layer) {
|
|
|
96
97
|
}
|
|
97
98
|
function collectLayerItems(layer) {
|
|
98
99
|
var _layer$items;
|
|
99
|
-
var skinLayouts = new Set([BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS]);
|
|
100
|
+
var skinLayouts = new Set([BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS, VANITY_CABINET_LAYOUTPOS]);
|
|
100
101
|
var skinPanelItems = [];
|
|
101
102
|
var otherItems = [];
|
|
102
103
|
layer === null || layer === void 0 || (_layer$items = layer.items) === null || _layer$items === void 0 || _layer$items.forEach(function (it) {
|
|
@@ -187,8 +188,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
187
188
|
var overlapList = [OVERLAP_INCLUDED, OVERLAP_SAME];
|
|
188
189
|
var removeIdxs = [];
|
|
189
190
|
var newFaces = []; // new countour edge segment that except the overlapped part
|
|
190
|
-
|
|
191
|
-
for (var i = 0; i < sourceFaces.length; i++) {
|
|
191
|
+
var _loop3 = function _loop3(i) {
|
|
192
192
|
var iFace = sourceFaces[i];
|
|
193
193
|
for (var j = 0; j < blockingFaces.length; j++) {
|
|
194
194
|
var _relationship$trimmed;
|
|
@@ -237,11 +237,16 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
237
237
|
break;
|
|
238
238
|
} else if (relationship.result === OVERLAP_SOME && ((_relationship$trimmed = relationship.trimmedSegs) === null || _relationship$trimmed === void 0 ? void 0 : _relationship$trimmed.length) > 0 && verticallyIncluded) {
|
|
239
239
|
removeIdxs.push(i);
|
|
240
|
-
var tFaceSegs = getTrimmedFaceSegs([iFace], blockingFaces,
|
|
240
|
+
var tFaceSegs = getTrimmedFaceSegs([iFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
|
|
241
|
+
return idx !== i;
|
|
242
|
+
}) : blockingFaces, 0);
|
|
241
243
|
if (tFaceSegs.length > 0) newFaces = [].concat(_toConsumableArray(newFaces), _toConsumableArray(tFaceSegs));
|
|
242
244
|
break;
|
|
243
245
|
}
|
|
244
246
|
}
|
|
247
|
+
};
|
|
248
|
+
for (var i = 0; i < sourceFaces.length; i++) {
|
|
249
|
+
_loop3(i);
|
|
245
250
|
}
|
|
246
251
|
sourceFaces = sourceFaces.filter(function (face, idx) {
|
|
247
252
|
return !removeIdxs.includes(idx);
|
|
@@ -382,13 +387,13 @@ function resolveSkinPanelSKU(face) {
|
|
|
382
387
|
*/
|
|
383
388
|
function buildSkinPanelData(faces) {
|
|
384
389
|
var tempResult = [];
|
|
385
|
-
var
|
|
390
|
+
var _loop4 = function _loop4() {
|
|
386
391
|
var sf = faces[i];
|
|
387
392
|
var skus = resolveSkinPanelSKU(sf);
|
|
388
393
|
var _iterator = _createForOfIteratorHelper(skus),
|
|
389
394
|
_step;
|
|
390
395
|
try {
|
|
391
|
-
var
|
|
396
|
+
var _loop6 = function _loop6() {
|
|
392
397
|
var sku = _step.value;
|
|
393
398
|
var idx = tempResult.findIndex(function (v) {
|
|
394
399
|
var _sf$itemInfo;
|
|
@@ -412,7 +417,7 @@ function buildSkinPanelData(faces) {
|
|
|
412
417
|
}
|
|
413
418
|
};
|
|
414
419
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
415
|
-
|
|
420
|
+
_loop6();
|
|
416
421
|
}
|
|
417
422
|
} catch (err) {
|
|
418
423
|
_iterator.e(err);
|
|
@@ -421,13 +426,13 @@ function buildSkinPanelData(faces) {
|
|
|
421
426
|
}
|
|
422
427
|
};
|
|
423
428
|
for (var i = 0; i < faces.length; i++) {
|
|
424
|
-
|
|
429
|
+
_loop4();
|
|
425
430
|
}
|
|
426
431
|
|
|
427
432
|
// calculate back face panel quantity of island base cabinets
|
|
428
433
|
var removeIdxs = [];
|
|
429
434
|
var newDatas = [];
|
|
430
|
-
var
|
|
435
|
+
var _loop5 = function _loop5() {
|
|
431
436
|
var iData = tempResult[_i];
|
|
432
437
|
if (iData.isBackFace) {
|
|
433
438
|
removeIdxs.push(_i);
|
|
@@ -470,7 +475,7 @@ function buildSkinPanelData(faces) {
|
|
|
470
475
|
}
|
|
471
476
|
};
|
|
472
477
|
for (var _i = 0; _i < tempResult.length; _i++) {
|
|
473
|
-
|
|
478
|
+
_loop5();
|
|
474
479
|
}
|
|
475
480
|
tempResult = tempResult.filter(function (data, idx) {
|
|
476
481
|
return !removeIdxs.includes(idx);
|
package/lib/constants.js
CHANGED
|
@@ -462,7 +462,7 @@ var UNIT_FOOT = exports.UNIT_FOOT = 'ft';
|
|
|
462
462
|
var UNIT_MILE = exports.UNIT_MILE = 'mi';
|
|
463
463
|
var UNITS_LENGTH = exports.UNITS_LENGTH = [UNIT_MILLIMETER, UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT, UNIT_MILE];
|
|
464
464
|
var CEIL_UNITS_LENGTH = exports.CEIL_UNITS_LENGTH = [UNIT_CENTIMETER, UNIT_METER, UNIT_INCH, UNIT_FOOT];
|
|
465
|
-
var EPSILON = exports.EPSILON =
|
|
465
|
+
var EPSILON = exports.EPSILON = 0.5;
|
|
466
466
|
|
|
467
467
|
// distance between item and wall
|
|
468
468
|
var DISTANCE_EPSILON = exports.DISTANCE_EPSILON = 5.0; //5.08; // 2 inch
|
|
@@ -74,6 +74,7 @@ function getSideFaces(item, layer) {
|
|
|
74
74
|
var skinPanelSKU = 'unknown';
|
|
75
75
|
switch (item.layoutpos) {
|
|
76
76
|
case _constants.BASE_CABINET_LAYOUTPOS:
|
|
77
|
+
case _constants.VANITY_CABINET_LAYOUTPOS:
|
|
77
78
|
skinPanelSKU = i === 2 ? 'unknown' : _skinPanel.SKIN_SKU_BSV_24;
|
|
78
79
|
break;
|
|
79
80
|
case _constants.WALL_CABINET_LAYOUTPOS:
|
|
@@ -104,7 +105,7 @@ function getSideFaces(item, layer) {
|
|
|
104
105
|
}
|
|
105
106
|
function collectLayerItems(layer) {
|
|
106
107
|
var _layer$items;
|
|
107
|
-
var skinLayouts = new Set([_constants.BASE_CABINET_LAYOUTPOS, _constants.WALL_CABINET_LAYOUTPOS, _constants.TALL_CABINET_LAYOUTPOS]);
|
|
108
|
+
var skinLayouts = new Set([_constants.BASE_CABINET_LAYOUTPOS, _constants.WALL_CABINET_LAYOUTPOS, _constants.TALL_CABINET_LAYOUTPOS, _constants.VANITY_CABINET_LAYOUTPOS]);
|
|
108
109
|
var skinPanelItems = [];
|
|
109
110
|
var otherItems = [];
|
|
110
111
|
layer === null || layer === void 0 || (_layer$items = layer.items) === null || _layer$items === void 0 || _layer$items.forEach(function (it) {
|
|
@@ -195,8 +196,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
195
196
|
var overlapList = [_constants.OVERLAP_INCLUDED, _constants.OVERLAP_SAME];
|
|
196
197
|
var removeIdxs = [];
|
|
197
198
|
var newFaces = []; // new countour edge segment that except the overlapped part
|
|
198
|
-
|
|
199
|
-
for (var i = 0; i < sourceFaces.length; i++) {
|
|
199
|
+
var _loop3 = function _loop3(i) {
|
|
200
200
|
var iFace = sourceFaces[i];
|
|
201
201
|
for (var j = 0; j < blockingFaces.length; j++) {
|
|
202
202
|
var _relationship$trimmed;
|
|
@@ -245,11 +245,16 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
245
245
|
break;
|
|
246
246
|
} else if (relationship.result === _constants.OVERLAP_SOME && ((_relationship$trimmed = relationship.trimmedSegs) === null || _relationship$trimmed === void 0 ? void 0 : _relationship$trimmed.length) > 0 && verticallyIncluded) {
|
|
247
247
|
removeIdxs.push(i);
|
|
248
|
-
var tFaceSegs = getTrimmedFaceSegs([iFace], blockingFaces,
|
|
248
|
+
var tFaceSegs = getTrimmedFaceSegs([iFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
|
|
249
|
+
return idx !== i;
|
|
250
|
+
}) : blockingFaces, 0);
|
|
249
251
|
if (tFaceSegs.length > 0) newFaces = [].concat((0, _toConsumableArray2["default"])(newFaces), (0, _toConsumableArray2["default"])(tFaceSegs));
|
|
250
252
|
break;
|
|
251
253
|
}
|
|
252
254
|
}
|
|
255
|
+
};
|
|
256
|
+
for (var i = 0; i < sourceFaces.length; i++) {
|
|
257
|
+
_loop3(i);
|
|
253
258
|
}
|
|
254
259
|
sourceFaces = sourceFaces.filter(function (face, idx) {
|
|
255
260
|
return !removeIdxs.includes(idx);
|
|
@@ -390,13 +395,13 @@ function resolveSkinPanelSKU(face) {
|
|
|
390
395
|
*/
|
|
391
396
|
function buildSkinPanelData(faces) {
|
|
392
397
|
var tempResult = [];
|
|
393
|
-
var
|
|
398
|
+
var _loop4 = function _loop4() {
|
|
394
399
|
var sf = faces[i];
|
|
395
400
|
var skus = resolveSkinPanelSKU(sf);
|
|
396
401
|
var _iterator = _createForOfIteratorHelper(skus),
|
|
397
402
|
_step;
|
|
398
403
|
try {
|
|
399
|
-
var
|
|
404
|
+
var _loop6 = function _loop6() {
|
|
400
405
|
var sku = _step.value;
|
|
401
406
|
var idx = tempResult.findIndex(function (v) {
|
|
402
407
|
var _sf$itemInfo;
|
|
@@ -420,7 +425,7 @@ function buildSkinPanelData(faces) {
|
|
|
420
425
|
}
|
|
421
426
|
};
|
|
422
427
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
423
|
-
|
|
428
|
+
_loop6();
|
|
424
429
|
}
|
|
425
430
|
} catch (err) {
|
|
426
431
|
_iterator.e(err);
|
|
@@ -429,13 +434,13 @@ function buildSkinPanelData(faces) {
|
|
|
429
434
|
}
|
|
430
435
|
};
|
|
431
436
|
for (var i = 0; i < faces.length; i++) {
|
|
432
|
-
|
|
437
|
+
_loop4();
|
|
433
438
|
}
|
|
434
439
|
|
|
435
440
|
// calculate back face panel quantity of island base cabinets
|
|
436
441
|
var removeIdxs = [];
|
|
437
442
|
var newDatas = [];
|
|
438
|
-
var
|
|
443
|
+
var _loop5 = function _loop5() {
|
|
439
444
|
var iData = tempResult[_i];
|
|
440
445
|
if (iData.isBackFace) {
|
|
441
446
|
removeIdxs.push(_i);
|
|
@@ -478,7 +483,7 @@ function buildSkinPanelData(faces) {
|
|
|
478
483
|
}
|
|
479
484
|
};
|
|
480
485
|
for (var _i = 0; _i < tempResult.length; _i++) {
|
|
481
|
-
|
|
486
|
+
_loop5();
|
|
482
487
|
}
|
|
483
488
|
tempResult = tempResult.filter(function (data, idx) {
|
|
484
489
|
return !removeIdxs.includes(idx);
|