skeleton -끊어진 라인 찾기 위치 변경
This commit is contained in:
parent
c8421d1253
commit
f8ee6a3887
@ -131,20 +131,24 @@ const createInnerLinesFromSkeleton = (skeleton, baseLines, roof, canvas, textMod
|
|||||||
//2. 연결이 끊어진 스켈레톤 선을 찾아 연장합니다.
|
//2. 연결이 끊어진 스켈레톤 선을 찾아 연장합니다.
|
||||||
const { disconnectedLines } = findDisconnectedSkeletonLines(skeletonLines, baseLines);
|
const { disconnectedLines } = findDisconnectedSkeletonLines(skeletonLines, baseLines);
|
||||||
|
|
||||||
disconnectedLines.forEach(dLine => {
|
if(disconnectedLines.length > 0) {
|
||||||
const { index, extendedLine, p1Connected, p2Connected } = dLine;
|
|
||||||
const newPoint = extendedLine?.point;
|
|
||||||
if (!newPoint) return;
|
|
||||||
// p1이 끊어졌으면 p1을, p2가 끊어졌으면 p2를 연장된 지점으로 업데이트
|
|
||||||
if (p1Connected) { //p2 연장
|
|
||||||
skeletonLines[index].p2 = { ...skeletonLines[index].p2, x: newPoint.x, y: newPoint.y };
|
|
||||||
} else if (p2Connected) {//p1 연장
|
|
||||||
skeletonLines[index].p1 = { ...skeletonLines[index].p1, x: newPoint.x, y: newPoint.y };
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//2-1 확장된 스켈레톤 선이 연장되다가 서로 만나면 만난점(접점)에서 멈추어야 된다.
|
disconnectedLines.forEach(dLine => {
|
||||||
trimIntersectingExtendedLines(skeletonLines, disconnectedLines);
|
const { index, extendedLine, p1Connected, p2Connected } = dLine;
|
||||||
|
const newPoint = extendedLine?.point;
|
||||||
|
if (!newPoint) return;
|
||||||
|
// p1이 끊어졌으면 p1을, p2가 끊어졌으면 p2를 연장된 지점으로 업데이트
|
||||||
|
if (p1Connected) { //p2 연장
|
||||||
|
skeletonLines[index].p2 = { ...skeletonLines[index].p2, x: newPoint.x, y: newPoint.y };
|
||||||
|
} else if (p2Connected) {//p1 연장
|
||||||
|
skeletonLines[index].p1 = { ...skeletonLines[index].p1, x: newPoint.x, y: newPoint.y };
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//2-1 확장된 스켈레톤 선이 연장되다가 서로 만나면 만난점(접점)에서 멈추어야 된다.
|
||||||
|
trimIntersectingExtendedLines(skeletonLines, disconnectedLines);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user