From b6e70f6eb0a628db9297ad4fbf58ab48bb6f8b6c Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Wed, 19 Mar 2025 09:52:35 +0900 Subject: [PATCH] =?UTF-8?q?innerLines=20=EC=B4=88=EA=B8=B0=20=EC=85=8B?= =?UTF-8?q?=ED=8C=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/common/useCanvasConfigInitialize.js | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/hooks/common/useCanvasConfigInitialize.js b/src/hooks/common/useCanvasConfigInitialize.js index 91d65edb..46b71588 100644 --- a/src/hooks/common/useCanvasConfigInitialize.js +++ b/src/hooks/common/useCanvasConfigInitialize.js @@ -9,7 +9,7 @@ import { globalFontAtom } from '@/store/fontAtom' import { useRoof } from '@/hooks/common/useRoof' import { usePolygon } from '@/hooks/usePolygon' import { useRoofFn } from '@/hooks/common/useRoofFn' -import { POLYGON_TYPE } from '@/common/common' +import { LINE_TYPE, POLYGON_TYPE } from '@/common/common' export function useCanvasConfigInitialize() { const canvas = useRecoilValue(canvasState) @@ -64,6 +64,7 @@ export function useCanvasConfigInitialize() { groupDimensionInit() reGroupInit() //그룹 객체 재그룹 moduleInit() + innerLinesInit() // innerLines 세팅 추가 } const gridInit = () => { @@ -228,5 +229,23 @@ export function useCanvasConfigInitialize() { }) } + const innerLinesInit = () => { + const roofs = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF) + // innerLine이 세팅이 안되어있는경우 찾아서 세팅한다. + let innerLineTypes = Object.keys(LINE_TYPE.SUBLINE).map((key, value) => LINE_TYPE.SUBLINE[key]) + + roofs.forEach((roof) => { + roof.innerLines = canvas + .getObjects() + .filter( + (obj) => + obj.type === 'QLine' && + obj.attributes?.type !== 'pitchSizeLine' && + obj.attributes?.roofId === roof.id && + innerLineTypes.includes(obj.name), + ) + }) + } + return { canvasLoadInit, gridInit } }