rm-graphical-computing-node 1.0.54 → 1.0.56

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 +18 -16
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -11101,7 +11101,7 @@ var getWindowData = (lines, pcdData, lineReader) => {
11101
11101
  const windowDatas = [];
11102
11102
  for (let i = 0; i < pcdData.length; i++) {
11103
11103
  const window = pcdData[i];
11104
- window.isFindBeam = false;
11104
+ window.isFindWindow = false;
11105
11105
  if (window.category == "window") {
11106
11106
  let boxPoints = [];
11107
11107
  window.coordinatesByArea.coordinates.forEach((p) => {
@@ -11242,7 +11242,7 @@ var getWindowData = (lines, pcdData, lineReader) => {
11242
11242
  continue;
11243
11243
  let addData = false;
11244
11244
  let isWindow = false;
11245
- let beforePcdDoorIsFindBeam = false;
11245
+ let beforePcdDoorisFindWindow = false;
11246
11246
  let doorOpenVector = new THREE10.Vector3(0, 0, 0);
11247
11247
  let pcbDoorIndexs = [];
11248
11248
  let beamTmpSt = tmpRegion.facePoints[2].clone();
@@ -11302,8 +11302,8 @@ var getWindowData = (lines, pcdData, lineReader) => {
11302
11302
  pcbDoorIndexs.push(windowDatas[n].index);
11303
11303
  windowDatas[n].isFind = true;
11304
11304
  findDoorDataIndex = n;
11305
- beforePcdDoorIsFindBeam = pcdData[windowDatas[n].index].isFindBeam;
11306
- pcdData[windowDatas[n].index].isFindBeam = true;
11305
+ beforePcdDoorisFindWindow = pcdData[windowDatas[n].index].isFindWindow;
11306
+ pcdData[windowDatas[n].index].isFindWindow = true;
11307
11307
  let beamVec = new THREE10.Vector3().subVectors(beamSt, beamEd).normalize();
11308
11308
  let doorLength = doorSt.distanceTo(doorEd) - result.overlap;
11309
11309
  if (dist22 < dist1)
@@ -11330,8 +11330,8 @@ var getWindowData = (lines, pcdData, lineReader) => {
11330
11330
  isWindow = true;
11331
11331
  pcbDoorIndexs.push(windowDatas[n].index);
11332
11332
  windowDatas[n].isFind = true;
11333
- beforePcdDoorIsFindBeam = pcdData[windowDatas[n].index].isFindBeam;
11334
- pcdData[windowDatas[n].index].isFindBeam = true;
11333
+ beforePcdDoorisFindWindow = pcdData[windowDatas[n].index].isFindWindow;
11334
+ pcdData[windowDatas[n].index].isFindWindow = true;
11335
11335
  findDoorDataIndex = n;
11336
11336
  }
11337
11337
  }
@@ -11364,8 +11364,8 @@ var getWindowData = (lines, pcdData, lineReader) => {
11364
11364
  let dist44 = doorEd.distanceTo(beamEd);
11365
11365
  let isNear = dist11 < nearDist || dist22 < nearDist || dist33 < nearDist || dist44 < nearDist;
11366
11366
  if ((isNear || insertPt) && bIsTrue) {
11367
- beforePcdDoorIsFindBeam = pcdData[windowDatas[n].index].isFindBeam;
11368
- pcdData[windowDatas[n].index].isFindBeam = true;
11367
+ beforePcdDoorisFindWindow = pcdData[windowDatas[n].index].isFindWindow;
11368
+ pcdData[windowDatas[n].index].isFindWindow = true;
11369
11369
  isWindow = true;
11370
11370
  windowDatas[n].isFind = true;
11371
11371
  findDoorDataIndex = n;
@@ -11464,8 +11464,8 @@ var getWindowData = (lines, pcdData, lineReader) => {
11464
11464
  }
11465
11465
  if (isOverlap) {
11466
11466
  if (findDoorDataIndex != -1) {
11467
- if (!beforePcdDoorIsFindBeam) {
11468
- pcdData[windowDatas[findDoorDataIndex].index].isFindBeam = false;
11467
+ if (!beforePcdDoorisFindWindow) {
11468
+ pcdData[windowDatas[findDoorDataIndex].index].isFindWindow = false;
11469
11469
  windowDatas[findDoorDataIndex].isFind = false;
11470
11470
  }
11471
11471
  }
@@ -12281,8 +12281,8 @@ function computeDrawWindow(bestSeg, corners, win, mergedSegments) {
12281
12281
  const dw_midT = (dw_tMin + dw_tMax) / 2;
12282
12282
  const dw_pMidX = bestSeg.start.x + dw_midT * dw_dx;
12283
12283
  const dw_pMidY = bestSeg.start.y + dw_midT * dw_dy;
12284
- const dw_boxMinZ = win.box.min.z;
12285
- const dw_boxMaxZ = win.box.max.z;
12284
+ const dw_boxMinZ = win.coordinatesByArea.heightData?.minZ ? win.coordinatesByArea.heightData.minZ : win.box.min.z;
12285
+ const dw_boxMaxZ = win.coordinatesByArea.heightData?.maxZ ? win.coordinatesByArea.heightData.maxZ : win.box.max.z;
12286
12286
  const dw_height = Math.abs(dw_boxMaxZ - dw_boxMinZ);
12287
12287
  const dw_floorZ = computeLocalFloorZ(mergedSegments, bestSeg.start.x, bestSeg.start.y);
12288
12288
  const dw_gClr = Math.max(0, dw_boxMinZ - dw_floorZ);
@@ -12549,6 +12549,7 @@ function findWindowWalls(windowObjs, wallSegments, options, preMerged) {
12549
12549
  if (!bs.drawWindow) bs.drawWindow = [];
12550
12550
  bs.drawWindow.push(dw_info);
12551
12551
  bs.isWindow = true;
12552
+ win.isFindWindow = true;
12552
12553
  }
12553
12554
  }
12554
12555
  if (bestSeg) {
@@ -12774,13 +12775,13 @@ function processData(wallSegments, objects, options) {
12774
12775
  seg.isWindow = !!(seg.drawWindow && seg.drawWindow.length > 0);
12775
12776
  }
12776
12777
  }
12777
- return { segments: newFinal, matches };
12778
+ return { segments: newFinal, matches, pcdData: objects };
12778
12779
  }
12779
12780
  for (const seg of finalSegments) {
12780
12781
  ;
12781
12782
  seg.isWindow = !!(seg.drawWindow && seg.drawWindow.length > 0);
12782
12783
  }
12783
- return { segments: finalSegments, matches };
12784
+ return { segments: finalSegments, matches, pcdData: objects };
12784
12785
  }
12785
12786
 
12786
12787
  // src/wall-door-matcher/matcher.ts
@@ -14545,6 +14546,7 @@ function processDoorData(wallSegments, objects, options) {
14545
14546
  groundClearance: drawDoor[doorIndex].groundClearance
14546
14547
  };
14547
14548
  doorSeg.drawDoorData = ddData;
14549
+ doorObj.isFindDoor = true;
14548
14550
  }
14549
14551
  finalSegments.push(doorSeg);
14550
14552
  }
@@ -14634,13 +14636,13 @@ function processDoorData(wallSegments, objects, options) {
14634
14636
  ;
14635
14637
  seg.isDoor = !!(seg.DrawDoor && seg.DrawDoor.length > 0);
14636
14638
  }
14637
- return { segments: newFinal, matches: dedupedMatches };
14639
+ return { segments: newFinal, matches: dedupedMatches, pcdData: objects };
14638
14640
  }
14639
14641
  for (const seg of finalSegments) {
14640
14642
  ;
14641
14643
  seg.isDoor = !!(seg.DrawDoor && seg.DrawDoor.length > 0);
14642
14644
  }
14643
- return { segments: finalSegments, matches: dedupedMatches };
14645
+ return { segments: finalSegments, matches: dedupedMatches, pcdData: objects };
14644
14646
  }
14645
14647
 
14646
14648
  // match-api.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rm-graphical-computing-node",
3
- "version": "1.0.54",
3
+ "version": "1.0.56",
4
4
  "description": "墙体/梁线/点云语义计算库(依赖 Python 与 three.js)",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",