kitchen-simulator 11.9.0 → 11.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/viewer2d/viewer2d.js +1 -1
- package/es/events/external/handleExternalEvent.util.js +3 -3
- package/es/utils/skinPanelEngine.js +17 -7
- package/lib/components/viewer2d/viewer2d.js +1 -1
- package/lib/events/external/handleExternalEvent.util.js +3 -3
- package/lib/utils/skinPanelEngine.js +17 -7
- package/package.json +1 -1
|
@@ -1226,7 +1226,7 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
1226
1226
|
case constants.MODE_DRAWING_ITEM:
|
|
1227
1227
|
{
|
|
1228
1228
|
var itemData = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
|
|
1229
|
-
itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
|
|
1229
|
+
if (!isEmpty(itemData)) itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
|
|
1230
1230
|
}
|
|
1231
1231
|
break;
|
|
1232
1232
|
case constants.MODE_DRAGGING_LINE:
|
|
@@ -109,10 +109,10 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
109
109
|
tempData['sink'].push(element.name);
|
|
110
110
|
// Resolve sink asset via ccdf.assets3d based on placeholder_name
|
|
111
111
|
var sinkPlaceholderName = sink_match[1]; // e.g. sink_farm_large
|
|
112
|
-
var assets3d = cabinetPayload === null || cabinetPayload === void 0 || (_cabinetPayload$ccdf_ = cabinetPayload.ccdf_list) === null || _cabinetPayload$ccdf_ === void 0
|
|
112
|
+
var assets3d = cabinetPayload === null || cabinetPayload === void 0 || (_cabinetPayload$ccdf_ = cabinetPayload.ccdf_list) === null || _cabinetPayload$ccdf_ === void 0 || (_cabinetPayload$ccdf_ = _cabinetPayload$ccdf_.find(function (ccdf) {
|
|
113
113
|
return ccdf.cabinet_id === cabinetPayload.itemID;
|
|
114
|
-
}).assets3d;
|
|
115
|
-
var sinkAsset = Array.isArray(assets3d) && assets3d.find(function (a) {
|
|
114
|
+
})) === null || _cabinetPayload$ccdf_ === void 0 ? void 0 : _cabinetPayload$ccdf_.assets3d;
|
|
115
|
+
var sinkAsset = !isEmpty(assets3d) && Array.isArray(assets3d) && assets3d.find(function (a) {
|
|
116
116
|
return a && (a.placeholder_name === sinkPlaceholderName || a.placeholder_name.startsWith('sink_')) && a.gltf;
|
|
117
117
|
});
|
|
118
118
|
if (sinkAsset !== null && sinkAsset !== void 0 && sinkAsset.gltf && cabinetPayload !== null && cabinetPayload !== void 0 && cabinetPayload.structure_json) cabinetPayload.structure_json.sink = sinkAsset.gltf;
|
|
@@ -31,8 +31,10 @@ export function getSideFaces(item, layer) {
|
|
|
31
31
|
var overlapList = [OVERLAP_INCLUDED, OVERLAP_SAME, OVERLAP_SOME];
|
|
32
32
|
var pos = [[-1, -1], [1, -1], [1, 1], [-1, 1]];
|
|
33
33
|
for (var i = 0; i < 4; i++) {
|
|
34
|
-
if (
|
|
35
|
-
|
|
34
|
+
if (item.is_corner !== true) {
|
|
35
|
+
if (i === 0) continue; // only left & right & base cabinet's back
|
|
36
|
+
if (i === 2 && item.layoutpos !== BASE_CABINET_LAYOUTPOS) continue;
|
|
37
|
+
}
|
|
36
38
|
var isSnappedToWall = false;
|
|
37
39
|
var v0 = rotateCorner(pos[i], item, widthCm, depthCm);
|
|
38
40
|
var v1 = rotateCorner(pos[(i + 1) % 4], item, widthCm, depthCm);
|
|
@@ -117,6 +119,11 @@ function collectFaces(items, layer) {
|
|
|
117
119
|
}
|
|
118
120
|
return faces;
|
|
119
121
|
}
|
|
122
|
+
function isSnappedWithCornerCabient(srcItem, desItem) {
|
|
123
|
+
if (srcItem.is_corner === true || desItem.is_corner === true) {
|
|
124
|
+
return true;
|
|
125
|
+
} else return false;
|
|
126
|
+
}
|
|
120
127
|
|
|
121
128
|
/**
|
|
122
129
|
* @param {*} faceSegs
|
|
@@ -142,9 +149,10 @@ function getTrimmedFaceSegs(faceSegs, otherFaces, cnt) {
|
|
|
142
149
|
bContourSeg = false;
|
|
143
150
|
return 0; // break
|
|
144
151
|
} else if (rst.result == OVERLAP_SOME) {
|
|
152
|
+
var isCornerFlag = isSnappedWithCornerCabient(iFace.itemInfo, otherFaces[j].itemInfo);
|
|
145
153
|
var trimmedFaceSegs = [];
|
|
146
154
|
rst.trimmedSegs.forEach(function (lineSeg) {
|
|
147
|
-
trimmedFaceSegs.push({
|
|
155
|
+
!isCornerFlag && trimmedFaceSegs.push({
|
|
148
156
|
sectionLine: lineSeg,
|
|
149
157
|
// cm unit
|
|
150
158
|
zBottom: iFace.zBottom,
|
|
@@ -204,7 +212,8 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
204
212
|
break;
|
|
205
213
|
} else if (verticallyOverlappedTopPart) {
|
|
206
214
|
removeIdxs.push(i);
|
|
207
|
-
var
|
|
215
|
+
var isCornerFlag = isSnappedWithCornerCabient(iFace.itemInfo, jFace.itemInfo);
|
|
216
|
+
var newFace = !isCornerFlag ? {
|
|
208
217
|
sectionLine: iFace.sectionLine,
|
|
209
218
|
// cm unit
|
|
210
219
|
zBottom: iFace.zBottom,
|
|
@@ -218,7 +227,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
218
227
|
isBackFace: iFace.isBackFace,
|
|
219
228
|
skinPanelSKU: iFace.skinPanelSKU,
|
|
220
229
|
itemInfo: iFace.itemInfo
|
|
221
|
-
};
|
|
230
|
+
} : {};
|
|
222
231
|
var contourFaces = filterFacesBlockedByFaces([newFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
|
|
223
232
|
return idx !== i;
|
|
224
233
|
}) : blockingFaces, 0);
|
|
@@ -226,7 +235,8 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
226
235
|
break;
|
|
227
236
|
} else if (verticallyOverlappedBottomPart) {
|
|
228
237
|
removeIdxs.push(i);
|
|
229
|
-
var
|
|
238
|
+
var _isCornerFlag = isSnappedWithCornerCabient(iFace.itemInfo, jFace.itemInfo);
|
|
239
|
+
var _newFace = !_isCornerFlag ? {
|
|
230
240
|
sectionLine: iFace.sectionLine,
|
|
231
241
|
// cm unit
|
|
232
242
|
zBottom: jFace.zTop,
|
|
@@ -240,7 +250,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
240
250
|
isBackFace: iFace.isBackFace,
|
|
241
251
|
skinPanelSKU: iFace.skinPanelSKU,
|
|
242
252
|
itemInfo: iFace.itemInfo
|
|
243
|
-
};
|
|
253
|
+
} : {};
|
|
244
254
|
var _contourFaces = filterFacesBlockedByFaces([_newFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
|
|
245
255
|
return idx !== i;
|
|
246
256
|
}) : blockingFaces, 0);
|
|
@@ -1235,7 +1235,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1235
1235
|
case constants.MODE_DRAWING_ITEM:
|
|
1236
1236
|
{
|
|
1237
1237
|
var itemData = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
|
|
1238
|
-
itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
|
|
1238
|
+
if (!(0, _helper.isEmpty)(itemData)) itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
|
|
1239
1239
|
}
|
|
1240
1240
|
break;
|
|
1241
1241
|
case constants.MODE_DRAGGING_LINE:
|
|
@@ -122,10 +122,10 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
122
122
|
tempData['sink'].push(element.name);
|
|
123
123
|
// Resolve sink asset via ccdf.assets3d based on placeholder_name
|
|
124
124
|
var sinkPlaceholderName = sink_match[1]; // e.g. sink_farm_large
|
|
125
|
-
var assets3d = cabinetPayload === null || cabinetPayload === void 0 || (_cabinetPayload$ccdf_ = cabinetPayload.ccdf_list) === null || _cabinetPayload$ccdf_ === void 0
|
|
125
|
+
var assets3d = cabinetPayload === null || cabinetPayload === void 0 || (_cabinetPayload$ccdf_ = cabinetPayload.ccdf_list) === null || _cabinetPayload$ccdf_ === void 0 || (_cabinetPayload$ccdf_ = _cabinetPayload$ccdf_.find(function (ccdf) {
|
|
126
126
|
return ccdf.cabinet_id === cabinetPayload.itemID;
|
|
127
|
-
}).assets3d;
|
|
128
|
-
var sinkAsset = Array.isArray(assets3d) && assets3d.find(function (a) {
|
|
127
|
+
})) === null || _cabinetPayload$ccdf_ === void 0 ? void 0 : _cabinetPayload$ccdf_.assets3d;
|
|
128
|
+
var sinkAsset = !(0, _helper.isEmpty)(assets3d) && Array.isArray(assets3d) && assets3d.find(function (a) {
|
|
129
129
|
return a && (a.placeholder_name === sinkPlaceholderName || a.placeholder_name.startsWith('sink_')) && a.gltf;
|
|
130
130
|
});
|
|
131
131
|
if (sinkAsset !== null && sinkAsset !== void 0 && sinkAsset.gltf && cabinetPayload !== null && cabinetPayload !== void 0 && cabinetPayload.structure_json) cabinetPayload.structure_json.sink = sinkAsset.gltf;
|
|
@@ -39,8 +39,10 @@ function getSideFaces(item, layer) {
|
|
|
39
39
|
var overlapList = [_constants.OVERLAP_INCLUDED, _constants.OVERLAP_SAME, _constants.OVERLAP_SOME];
|
|
40
40
|
var pos = [[-1, -1], [1, -1], [1, 1], [-1, 1]];
|
|
41
41
|
for (var i = 0; i < 4; i++) {
|
|
42
|
-
if (
|
|
43
|
-
|
|
42
|
+
if (item.is_corner !== true) {
|
|
43
|
+
if (i === 0) continue; // only left & right & base cabinet's back
|
|
44
|
+
if (i === 2 && item.layoutpos !== _constants.BASE_CABINET_LAYOUTPOS) continue;
|
|
45
|
+
}
|
|
44
46
|
var isSnappedToWall = false;
|
|
45
47
|
var v0 = rotateCorner(pos[i], item, widthCm, depthCm);
|
|
46
48
|
var v1 = rotateCorner(pos[(i + 1) % 4], item, widthCm, depthCm);
|
|
@@ -125,6 +127,11 @@ function collectFaces(items, layer) {
|
|
|
125
127
|
}
|
|
126
128
|
return faces;
|
|
127
129
|
}
|
|
130
|
+
function isSnappedWithCornerCabient(srcItem, desItem) {
|
|
131
|
+
if (srcItem.is_corner === true || desItem.is_corner === true) {
|
|
132
|
+
return true;
|
|
133
|
+
} else return false;
|
|
134
|
+
}
|
|
128
135
|
|
|
129
136
|
/**
|
|
130
137
|
* @param {*} faceSegs
|
|
@@ -150,9 +157,10 @@ function getTrimmedFaceSegs(faceSegs, otherFaces, cnt) {
|
|
|
150
157
|
bContourSeg = false;
|
|
151
158
|
return 0; // break
|
|
152
159
|
} else if (rst.result == _constants.OVERLAP_SOME) {
|
|
160
|
+
var isCornerFlag = isSnappedWithCornerCabient(iFace.itemInfo, otherFaces[j].itemInfo);
|
|
153
161
|
var trimmedFaceSegs = [];
|
|
154
162
|
rst.trimmedSegs.forEach(function (lineSeg) {
|
|
155
|
-
trimmedFaceSegs.push({
|
|
163
|
+
!isCornerFlag && trimmedFaceSegs.push({
|
|
156
164
|
sectionLine: lineSeg,
|
|
157
165
|
// cm unit
|
|
158
166
|
zBottom: iFace.zBottom,
|
|
@@ -212,7 +220,8 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
212
220
|
break;
|
|
213
221
|
} else if (verticallyOverlappedTopPart) {
|
|
214
222
|
removeIdxs.push(i);
|
|
215
|
-
var
|
|
223
|
+
var isCornerFlag = isSnappedWithCornerCabient(iFace.itemInfo, jFace.itemInfo);
|
|
224
|
+
var newFace = !isCornerFlag ? {
|
|
216
225
|
sectionLine: iFace.sectionLine,
|
|
217
226
|
// cm unit
|
|
218
227
|
zBottom: iFace.zBottom,
|
|
@@ -226,7 +235,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
226
235
|
isBackFace: iFace.isBackFace,
|
|
227
236
|
skinPanelSKU: iFace.skinPanelSKU,
|
|
228
237
|
itemInfo: iFace.itemInfo
|
|
229
|
-
};
|
|
238
|
+
} : {};
|
|
230
239
|
var contourFaces = filterFacesBlockedByFaces([newFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
|
|
231
240
|
return idx !== i;
|
|
232
241
|
}) : blockingFaces, 0);
|
|
@@ -234,7 +243,8 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
234
243
|
break;
|
|
235
244
|
} else if (verticallyOverlappedBottomPart) {
|
|
236
245
|
removeIdxs.push(i);
|
|
237
|
-
var
|
|
246
|
+
var _isCornerFlag = isSnappedWithCornerCabient(iFace.itemInfo, jFace.itemInfo);
|
|
247
|
+
var _newFace = !_isCornerFlag ? {
|
|
238
248
|
sectionLine: iFace.sectionLine,
|
|
239
249
|
// cm unit
|
|
240
250
|
zBottom: jFace.zTop,
|
|
@@ -248,7 +258,7 @@ function filterFacesBlockedByFaces(sourceFaces, blockingFaces) {
|
|
|
248
258
|
isBackFace: iFace.isBackFace,
|
|
249
259
|
skinPanelSKU: iFace.skinPanelSKU,
|
|
250
260
|
itemInfo: iFace.itemInfo
|
|
251
|
-
};
|
|
261
|
+
} : {};
|
|
252
262
|
var _contourFaces = filterFacesBlockedByFaces([_newFace], sourceFaces === blockingFaces ? blockingFaces.filter(function (v, idx) {
|
|
253
263
|
return idx !== i;
|
|
254
264
|
}) : blockingFaces, 0);
|