From 0dd6e7d707ab2642fbdbc93086051b499fcf6ae3 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 12 Nov 2024 14:40:13 +0900 Subject: [PATCH] =?UTF-8?q?=EC=99=B8=EB=B2=BD=EC=84=A0=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=20=EB=8B=AB=EC=9C=BC=EB=A9=B4=20startPoint=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0,=20=EC=A7=80=EB=B6=95=EB=A9=B4=20=ED=95=A0?= =?UTF-8?q?=EB=8B=B9=20=EC=8B=9C=20=EC=9D=B4=EB=AF=B8=20=ED=95=A0=EB=8B=B9?= =?UTF-8?q?=EB=90=9C=20=EC=A7=80=EB=B6=95=EC=9D=80=20=EC=9E=AC=ED=95=A0?= =?UTF-8?q?=EB=8B=B9=20=EC=95=88=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/common.js | 1 + src/hooks/roofcover/useOuterLineWall.js | 10 +++++++++- src/hooks/roofcover/useRoofAllocationSetting.js | 6 +++++- src/hooks/usePolygon.js | 1 - 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/common/common.js b/src/common/common.js index 5cbd3733..588b836c 100644 --- a/src/common/common.js +++ b/src/common/common.js @@ -159,6 +159,7 @@ export const SAVE_KEY = [ 'arrow', 'surfaceCompass', 'moduleCompass', + 'isFixed', ] export const OBJECT_PROTOTYPE = [fabric.Line.prototype, fabric.Polygon.prototype, fabric.Triangle.prototype] diff --git a/src/hooks/roofcover/useOuterLineWall.js b/src/hooks/roofcover/useOuterLineWall.js index b2244da8..7c4d5091 100644 --- a/src/hooks/roofcover/useOuterLineWall.js +++ b/src/hooks/roofcover/useOuterLineWall.js @@ -1,6 +1,6 @@ import { useEffect, useRef } from 'react' import { distanceBetweenPoints } from '@/util/canvas-util' -import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil' +import { useRecoilState, useRecoilValue, useResetRecoilState, useSetRecoilState } from 'recoil' import { adsorptionPointAddModeState, adsorptionPointModeState, @@ -65,6 +65,7 @@ export function useOuterLineWall(id, propertiesId) { const [arrow1, setArrow1] = useRecoilState(outerLineArrow1State) const [arrow2, setArrow2] = useRecoilState(outerLineArrow2State) const [points, setPoints] = useRecoilState(outerLinePointsState) + const resetPoints = useResetRecoilState(outerLinePointsState) const [type, setType] = useRecoilState(outerLineTypeState) const [angle1, setAngle1] = useRecoilState(outerLineAngle1State) const [angle2, setAngle2] = useRecoilState(outerLineAngle2State) @@ -88,6 +89,13 @@ export function useOuterLineWall(id, propertiesId) { clear() return () => { initEvent() + + canvas + .getObjects() + .filter((obj) => obj.name === 'startPoint') + .forEach((obj) => { + canvas.remove(obj) + }) } }, [verticalHorizontalMode, points, adsorptionPointAddMode, adsorptionPointMode, adsorptionRange, interval, tempGridMode]) diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js index b4118dc1..5626e075 100644 --- a/src/hooks/roofcover/useRoofAllocationSetting.js +++ b/src/hooks/roofcover/useRoofAllocationSetting.js @@ -176,7 +176,7 @@ export function useRoofAllocationSetting(id) { } const apply = () => { - const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF) + const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF && !obj.isFixed) const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL) roofBases.forEach((roofBase) => { try { @@ -199,6 +199,10 @@ export function useRoofAllocationSetting(id) { const roofs = canvas.getObjects().filter((obj) => obj.name === 'roof') roofs.forEach((roof) => { + if (roof.isFixed) return + roof.set({ + isFixed: true, + }) setSurfaceShapePattern(roof, roofDisplay.column) drawDirectionArrow(roof) }) diff --git a/src/hooks/usePolygon.js b/src/hooks/usePolygon.js index b0f902cd..fd8e925d 100644 --- a/src/hooks/usePolygon.js +++ b/src/hooks/usePolygon.js @@ -305,7 +305,6 @@ export const usePolygon = () => { } let text = '' - console.log('direction', direction, surfaceCompass, moduleCompass) const compassType = (375 - moduleCompass) / 15