From 881e3f157ff4c944910282e44bfc412d86d244f1 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 8 Oct 2026 22:41:24 +0900 Subject: [PATCH] =?UTF-8?q?fix(B05):=203D=20=EC=A0=9C=EC=95=88=20=E2=91=A1?= =?UTF-8?q?=20=EC=84=A4=EA=B3=84=20=EA=B5=AC=EC=97=AD=20=EC=95=88=20?= =?UTF-8?q?=EC=82=BC=EA=B0=81=ED=98=95=EC=9D=80=20=EC=A7=80=ED=98=95=20?= =?UTF-8?q?=EA=B2=B0=EC=B8=A1(DTM=20=EB=B9=88=20=EA=B3=B3)=20=EC=9C=84?= =?UTF-8?q?=EB=9D=BC=EB=8F=84=20=EB=82=A8=EA=B9=80(115-6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 실측(226 · d22) 결과 비탈이 DTM 빈 곳 위를 지나는 자리에서 설계면까지 비던 것 고침 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7 --- B05_Profile/B05_Profile_UI_Corridor_Tin.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/B05_Profile/B05_Profile_UI_Corridor_Tin.ts b/B05_Profile/B05_Profile_UI_Corridor_Tin.ts index a5a4d8860..0c4e4b920 100644 --- a/B05_Profile/B05_Profile_UI_Corridor_Tin.ts +++ b/B05_Profile/B05_Profile_UI_Corridor_Tin.ts @@ -287,7 +287,9 @@ export function tinTerrain( let c = triangles[t + 2]; const cx = (pslg.x[a] + pslg.x[b] + pslg.x[c]) / 3; const cz = (pslg.z[a] + pslg.z[b] + pslg.z[c]) / 3; - if (removedGrid.find(cx, cz) < 0) continue; // 버린 자리 밖(볼록 껍질 채움) + // 버린 지형 자리 밖(볼록 껍질 채움)은 뺀다 — 설계 구역 안은 지형 빈 곳(DTM 결측) 위라도 남긴다. + const inDesign = outer.contains(cx, cz); + if (!inDesign && removedGrid.find(cx, cz) < 0) continue; if (road.contains({ x: cx, z: cz }) || holes.contains(cx, cz)) continue; // 위를 보게 감기(씬 Y-up) — 평면 (x, z) 에서 시계 방향이면 뒤집는다. const turn = @@ -296,7 +298,7 @@ export function tinTerrain( if (turn > 0) [b, c] = [c, b]; // 구역 — 설계 구역 안이면 꼬리표 다수결(없으면 높이 차 부호) · 밖이면 원지반. let zone = 0; - if (outer.contains(cx, cz)) { + if (inDesign) { let fill = 0; let cut = 0; [a, b, c].forEach((id) => {