From 1dfd6bbdc9f2a859042ab15ff85e2ee508341085 Mon Sep 17 00:00:00 2001 From: Jaeyoung Lee Date: Tue, 24 Jun 2025 14:26:57 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A7=80=EB=B6=95=20=EB=8D=AE=EA=B0=9C=20?= =?UTF-8?q?=EC=9D=B4=EB=8F=99=EC=8B=9C=20=EC=98=A4=EB=A5=98=20=EC=82=AC?= =?UTF-8?q?=ED=95=AD=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/common/useRoofFn.js | 11 +++-------- src/util/qpolygon-utils.js | 6 ++++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/hooks/common/useRoofFn.js b/src/hooks/common/useRoofFn.js index 38246273..0635b89e 100644 --- a/src/hooks/common/useRoofFn.js +++ b/src/hooks/common/useRoofFn.js @@ -202,7 +202,7 @@ export function useRoofFn() { } const roof = roofBase[0] - const wall = roof.wall + const wall = canvas.getObjects().find((obj) => obj.name === POLYGON_TYPE.WALL && obj.attributes?.roofId === roof.id) const checkPolygon = new fabric.Polygon(roof.points, { name: 'moveRoofPolygon', @@ -230,16 +230,11 @@ export function useRoofFn() { const texts = canvas.getObjects().filter((obj) => obj.type === 'text' && (obj.attributes?.roofId === roof.id || obj.parentId === roof.id)) texts.forEach((text) => canvas.remove(text)) - const outerLines = canvas.getObjects().filter((obj) => obj.type === 'QLine' && (obj.attributes?.roofId === roof.id || obj.parentId === roof.id)) - const allRoofObject = canvas .getObjects() - .filter( - (obj) => obj !== roof && /*obj !== wall &&*/ (obj.attributes?.roofId === roof.id || obj.parentId === roof.id || obj.parentId === wall.id), - ) - - // // Calculate the movement delta + .filter((obj) => obj !== roof && (obj.attributes?.roofId === roof.id || obj.parentId === roof.id || obj.parentId === wall.id)) + /** 지붕이 움직인 만큼의 delta를 구한다. */ const originalRoofLeft = roof.left const originalRoofTop = roof.top diff --git a/src/util/qpolygon-utils.js b/src/util/qpolygon-utils.js index 365fa119..32925a43 100644 --- a/src/util/qpolygon-utils.js +++ b/src/util/qpolygon-utils.js @@ -7585,6 +7585,8 @@ const reDrawPolygon = (polygon, canvas) => { selectable: polygon.selectable, fontSize: polygon.fontSize, wall: polygon.wall !== undefined ? polygon.wall : null, + originX: polygon.originX, + originY: polygon.originY, }) const newLines = newPolygon.lines @@ -7609,8 +7611,8 @@ const reDrawPolygon = (polygon, canvas) => { } }) - canvas?.add(newPolygon) - canvas?.renderAll() + canvas.add(newPolygon) + canvas.renderAll() return newPolygon }