From a3d1704390613ee9bfd133dc558d20576c236689 Mon Sep 17 00:00:00 2001 From: Cha Date: Sun, 2 Nov 2025 00:51:49 +0900 Subject: [PATCH] =?UTF-8?q?baseLine=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/roofcover/useMovementSetting.js | 8 ++++---- src/util/skeleton-utils.js | 21 +++++++++++++++++---- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/hooks/roofcover/useMovementSetting.js b/src/hooks/roofcover/useMovementSetting.js index e52003b3..cb5c0f02 100644 --- a/src/hooks/roofcover/useMovementSetting.js +++ b/src/hooks/roofcover/useMovementSetting.js @@ -287,7 +287,7 @@ export function useMovementSetting(id) { // 방향 정보를 사용하여 라디오 버튼 상태 업데이트 - console.log(`방향: ${direction}, 값: ${value.toNumber()}`) + //console.log(`방향: ${direction}, 값: ${value.toNumber()}`) currentCalculatedValue = value.toNumber() @@ -317,7 +317,7 @@ export function useMovementSetting(id) { //console.log("1111linePosition:::::", result.position); // 'top', 'bottom', 'left', 'right' let linePosition = result.position; -console.log("1111linePosition:::::", direction, linePosition); +//console.log("1111linePosition:::::", direction, linePosition); if (target.y1 === target.y2) { //수평벽 @@ -650,8 +650,8 @@ console.log("1111linePosition:::::", direction, linePosition); debug: true // 디버깅 로그 출력 }); - console.log("2222linePosition:::::", result.position); - console.log("222moveDirect:::::", roof.moveDirect); + //console.log("2222linePosition:::::", result.position); + //console.log("222moveDirect:::::", roof.moveDirect); // 디버깅용 분류 결과 확인 diff --git a/src/util/skeleton-utils.js b/src/util/skeleton-utils.js index 0571569b..6294faaf 100644 --- a/src/util/skeleton-utils.js +++ b/src/util/skeleton-utils.js @@ -1989,6 +1989,23 @@ export const getSelectLinePosition = (wall, selectLine, options = {}) => { const { x1, y1, x2, y2 } = lineCoords; + console.log('wall.points', wall.baseLines); + for(const line of wall.baseLines) { + console.log('line', line); + const basePoint = extractLineCoords(line); + const { x1: bx1, y1: by1, x2: bx2, y2: by2 } = basePoint; + console.log('x1, y1, x2, y2', bx1, by1, bx2, by2); + + // 객체 비교 대신 좌표값 비교 + if (Math.abs(bx1 - x1) < 0.1 && + Math.abs(by1 - y1) < 0.1 && + Math.abs(bx2 - x2) < 0.1 && + Math.abs(by2 - y2) < 0.1) { + console.log('basePoint 일치!!!', basePoint); + } + } + + // 라인 방향 분석 const lineInfo = analyzeLineOrientation(x1, y1, x2, y2, epsilon); @@ -2086,10 +2103,6 @@ export const getSelectLinePosition = (wall, selectLine, options = {}) => { // 점이 다각형 내부에 있는지 확인하는 함수 const checkPointInPolygon = (point, wall) => { - // 1. wall의 inPolygon 메서드가 있으면 사용 - if (typeof wall.inPolygon === 'function') { - return wall.inPolygon(point); - } // 2. wall.baseLines를 이용한 Ray Casting Algorithm if (!wall.baseLines || !Array.isArray(wall.baseLines)) {