rm-graphical-computing-node 1.0.74 → 1.0.76

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.
Files changed (2) hide show
  1. package/dist/index.mjs +38 -6
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -9163,6 +9163,12 @@ var getMergeMeaning = (allProjectionResults, averagePz2, pointCloudCluster = nul
9163
9163
  array1[e].isStaircaseBalconyRailing = true;
9164
9164
  break;
9165
9165
  }
9166
+ if (type2 === "window sill" && containsObbPoints(obb1, array2[k].points)) {
9167
+ continue;
9168
+ }
9169
+ if (type2 === "window sill" && containsObbPoints(obb2, array1[e].points)) {
9170
+ continue;
9171
+ }
9166
9172
  } else if (type1 === "door") {
9167
9173
  if (type2 === "window") {
9168
9174
  if (type2 === "window" && containsObbPoints(obb1, array2[k].points)) {
@@ -9223,6 +9229,18 @@ var getMergeMeaning = (allProjectionResults, averagePz2, pointCloudCluster = nul
9223
9229
  array2[k].isDel = true;
9224
9230
  continue;
9225
9231
  }
9232
+ if (type2 === "balcony railing" && containsObbPoints(obb1, array2[k].points)) {
9233
+ continue;
9234
+ }
9235
+ if (type2 === "balcony railing" && containsObbPoints(obb2, array1[e].points)) {
9236
+ continue;
9237
+ }
9238
+ if (type2 === "pipe" && containsObbPoints(obb1, array2[k].points)) {
9239
+ continue;
9240
+ }
9241
+ if (type2 === "pipe" && containsObbPoints(obb2, array1[e].points)) {
9242
+ continue;
9243
+ }
9226
9244
  } else if (type1 === "Staircase") {
9227
9245
  if (type2 === "balcony railing" && containsObbPoints(obb1, array2[k].points)) {
9228
9246
  array2[k].isStaircaseBalconyRailing = true;
@@ -9236,6 +9254,13 @@ var getMergeMeaning = (allProjectionResults, averagePz2, pointCloudCluster = nul
9236
9254
  array2[k].isStaircaseBalconyRailing = true;
9237
9255
  continue;
9238
9256
  }
9257
+ } else if (type1 === "pipe") {
9258
+ if (type2 === "window sill" && containsObbPoints(obb1, array2[k].points)) {
9259
+ continue;
9260
+ }
9261
+ if (type2 === "window sill" && containsObbPoints(obb2, array1[e].points)) {
9262
+ continue;
9263
+ }
9239
9264
  }
9240
9265
  let isMax = false;
9241
9266
  let majorPoints = [];
@@ -11064,7 +11089,6 @@ var getFlatSlabData = (lines, runDataList, pointCloudCluster = null) => {
11064
11089
  let pathPoints = newPoints[u4].map((p) => [p.x, p.y]);
11065
11090
  let path3 = computeContour(pathPoints);
11066
11091
  let area2 = calculatePolygonArea(path3);
11067
- if (area2 < 0.5) continue;
11068
11092
  const slabData = {
11069
11093
  contour: path3,
11070
11094
  averagePz: averagePz2,
@@ -12279,16 +12303,24 @@ var getWindowPcdData = (lines, pcdData) => {
12279
12303
  let isp = getParallelism(ptMid1, ptMid2, ptStart2, ptEnd2);
12280
12304
  if (isp && isp.angleDeg < 25) {
12281
12305
  let tmpLine3 = new THREE10.Line3(ptMid1, ptMid2);
12306
+ let tmpLine4 = new THREE10.Line3(ptLongSt1, ptLongEd1);
12307
+ let tmpLine5 = new THREE10.Line3(ptLongSt2, ptLongEd2);
12282
12308
  let ptMid = getMid(ptStart2, ptEnd2);
12283
- let ptClose = tmpLine3.closestPointToPoint(ptMid, true, new THREE10.Vector3());
12284
- if (ptClose.distanceTo(ptMid) < pcdToLineDist) {
12309
+ let ptClose3 = tmpLine3.closestPointToPoint(ptMid, true, new THREE10.Vector3());
12310
+ let ptClose4 = tmpLine4.closestPointToPoint(ptMid, true, new THREE10.Vector3());
12311
+ let ptClose5 = tmpLine5.closestPointToPoint(ptMid, true, new THREE10.Vector3());
12312
+ if (ptClose3.distanceTo(ptMid) < pcdToLineDist || ptClose4.distanceTo(ptMid) < pcdToLineDist || ptClose5.distanceTo(ptMid) < pcdToLineDist) {
12285
12313
  eligibilityLines.push(line3);
12286
12314
  eligibilityLinesIndexs.push(j);
12287
12315
  } else {
12288
12316
  tmpLine3 = new THREE10.Line3(ptStart2, ptEnd2);
12289
- ptMid = getMid(ptMid1, ptMid2);
12290
- ptClose = tmpLine3.closestPointToPoint(ptMid, true, new THREE10.Vector3());
12291
- if (ptClose.distanceTo(ptMid) < pcdToLineDist) {
12317
+ let ptMid3 = getMid(ptMid1, ptMid2);
12318
+ let ptMid4 = getMid(ptLongSt1, ptLongEd1);
12319
+ let ptMid5 = getMid(ptLongSt2, ptLongEd2);
12320
+ ptClose3 = tmpLine3.closestPointToPoint(ptMid3, true, new THREE10.Vector3());
12321
+ ptClose4 = tmpLine3.closestPointToPoint(ptMid4, true, new THREE10.Vector3());
12322
+ ptClose5 = tmpLine3.closestPointToPoint(ptMid5, true, new THREE10.Vector3());
12323
+ if (ptClose3.distanceTo(ptMid3) < pcdToLineDist || ptClose4.distanceTo(ptMid4) < pcdToLineDist || ptClose5.distanceTo(ptMid5) < pcdToLineDist) {
12292
12324
  eligibilityLines.push(line3);
12293
12325
  eligibilityLinesIndexs.push(j);
12294
12326
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rm-graphical-computing-node",
3
- "version": "1.0.74",
3
+ "version": "1.0.76",
4
4
  "description": "墙体/梁线/点云语义计算库(依赖 Python 与 three.js)",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",