From 7b1d5357a60a83d0f2c51fa0d61cc334295deb87 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 3 Feb 2026 17:18:21 +0900 Subject: [PATCH] =?UTF-8?q?forceUpdate=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modal/flowDirection/FlowDirectionSetting.jsx | 3 +++ src/hooks/useLine.js | 5 +++-- src/hooks/usePolygon.js | 7 ++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx b/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx index 4c1f0991..e9f57869 100644 --- a/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx +++ b/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx @@ -21,6 +21,7 @@ export default function FlowDirectionSetting(props) { const canvas = useRecoilValue(canvasState) const { getMessage } = useMessage() const { setSurfaceShapePattern } = useRoofFn() + const { setPolygonLinesActualSize } = usePolygon() const { changeSurfaceLineType } = useSurfaceShapeBatch({}) @@ -85,6 +86,8 @@ export default function FlowDirectionSetting(props) { drawDirectionArrow(roof) canvas?.renderAll() changeSurfaceLineType(roof) + setPolygonLinesActualSize(roof, true) + canvas.renderAll() closePopup(id) } diff --git a/src/hooks/useLine.js b/src/hooks/useLine.js index 0d678afa..df876fb1 100644 --- a/src/hooks/useLine.js +++ b/src/hooks/useLine.js @@ -166,9 +166,10 @@ export const useLine = () => { * @param line * @param direction polygon의 방향 * @param pitch + * @param forceUpdate */ - const setActualSize = (line, direction, pitch = globalPitch) => { - if (line.attributes.isCalculated) { + const setActualSize = (line, direction, pitch = globalPitch, forceUpdate = false) => { + if (line.attributes.isCalculated && !forceUpdate) { return } const { x1, y1, x2, y2 } = line diff --git a/src/hooks/usePolygon.js b/src/hooks/usePolygon.js index cca65475..9acfcfe9 100644 --- a/src/hooks/usePolygon.js +++ b/src/hooks/usePolygon.js @@ -1943,8 +1943,9 @@ export const usePolygon = () => { /** * 폴리곤의 라인 속성을 복도치수, 실제치수에 따라 actualSize 설정 * @param polygon + * @param forceUpdate */ - const setPolygonLinesActualSize = (polygon) => { + const setPolygonLinesActualSize = (polygon, forceUpdate = false) => { if (!polygon.lines || polygon.lines.length === 0 || !polygon.roofMaterial) { return } @@ -1973,7 +1974,7 @@ export const usePolygon = () => { } polygon.lines.forEach((line, index) => { - if (line.attributes.isCalculated) { + if (line.attributes.isCalculated && !forceUpdate) { return } //text 와 planSize 및 actualSize가 안맞는 문제 @@ -1985,7 +1986,7 @@ export const usePolygon = () => { } }*/ - setActualSize(line, polygon.direction, +polygon.roofMaterial?.pitch) + setActualSize(line, polygon.direction, +polygon.roofMaterial?.pitch, forceUpdate) }) addLengthText(polygon)