rm-graphical-computing-node 1.0.37 → 1.0.38

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 +35 -10
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -5590,6 +5590,7 @@ var getColLine = (lines, runDataList) => {
5590
5590
  if (result[i].uuids.length < 4 || result[i].area < minArea || result[i].area > maxArea)
5591
5591
  continue;
5592
5592
  let isRect = false;
5593
+ let overlapWallLines = [];
5593
5594
  for (let j = 0; j < result[i].lineIndexes.length; j++) {
5594
5595
  let length1 = lines[result[i].lineIndexes[j]].length;
5595
5596
  if (length1 < minColLineLength || length1 > maxColLineLength)
@@ -8766,10 +8767,6 @@ var getMergeMeaning = (allProjectionResults, averagePz2, pointCloudCluster = nul
8766
8767
  const f1 = calculateClosePointWithOBB(array2[k].points, obb1);
8767
8768
  const f2 = calculateClosePointWithOBB(array1[e].points, obb2);
8768
8769
  const isMaxBox = compareBoxVolume(obb1, obb2);
8769
- if (f2 >= 0.5 && isMaxBox == -1 && type1 !== "Staircase" && type2 !== "Staircase") {
8770
- array1[e].isDel = true;
8771
- break;
8772
- }
8773
8770
  if (type1 !== "wall" && type1 !== "floor" && type1 !== "roof") {
8774
8771
  if (type1 === "window") {
8775
8772
  if (type2 === "balcony railing" && containsObbPoints(obb1, array2[k].points)) {
@@ -8820,19 +8817,47 @@ var getMergeMeaning = (allProjectionResults, averagePz2, pointCloudCluster = nul
8820
8817
  break;
8821
8818
  }
8822
8819
  } else if (type1 === "door") {
8823
- if (type2 === "window" && containsObbPoints(obb1, array2[k].points)) {
8824
- array1[e].isDel = true;
8825
- break;
8820
+ if (type2 === "window") {
8821
+ if (type2 === "window" && containsObbPoints(obb1, array2[k].points)) {
8822
+ array1[e].isDel = true;
8823
+ break;
8824
+ }
8825
+ if (type2 === "window" && containsObbPoints(obb2, array1[e].points)) {
8826
+ array1[e].isDel = true;
8827
+ break;
8828
+ }
8829
+ if (type2 === "window sill" && containsObbPoints(obb1, array2[k].points)) {
8830
+ array1[e].isDel = true;
8831
+ break;
8832
+ }
8833
+ if (type2 === "window sill" && containsObbPoints(obb2, array1[e].points)) {
8834
+ array1[e].isDel = true;
8835
+ break;
8836
+ }
8837
+ } else {
8838
+ if (containsObbPoints(obb1, array2[k].points)) {
8839
+ array2[k].isDel = true;
8840
+ continue;
8841
+ }
8842
+ if (containsObbPoints(obb2, array1[e].points)) {
8843
+ array2[k].isDel = true;
8844
+ continue;
8845
+ }
8846
+ if (obb1.intersectsOBB(obb2)) {
8847
+ array2[k].isDel = true;
8848
+ continue;
8849
+ }
8826
8850
  }
8827
- if (type2 === "window" && containsObbPoints(obb2, array1[e].points)) {
8851
+ } else if (type2 === "door") {
8852
+ if (containsObbPoints(obb1, array2[k].points)) {
8828
8853
  array1[e].isDel = true;
8829
8854
  break;
8830
8855
  }
8831
- if (type2 === "window sill" && containsObbPoints(obb1, array2[k].points)) {
8856
+ if (containsObbPoints(obb2, array1[e].points)) {
8832
8857
  array1[e].isDel = true;
8833
8858
  break;
8834
8859
  }
8835
- if (type2 === "window sill" && containsObbPoints(obb2, array1[e].points)) {
8860
+ if (obb1.intersectsOBB(obb2)) {
8836
8861
  array1[e].isDel = true;
8837
8862
  break;
8838
8863
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rm-graphical-computing-node",
3
- "version": "1.0.37",
3
+ "version": "1.0.38",
4
4
  "description": "墙体/梁线/点云语义计算库(依赖 Python 与 three.js)",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",