innerLines 초기 셋팅 추가

This commit is contained in:
hyojun.choi 2025-03-19 09:52:35 +09:00
parent 3b41952070
commit b6e70f6eb0

View File

@ -9,7 +9,7 @@ import { globalFontAtom } from '@/store/fontAtom'
import { useRoof } from '@/hooks/common/useRoof' import { useRoof } from '@/hooks/common/useRoof'
import { usePolygon } from '@/hooks/usePolygon' import { usePolygon } from '@/hooks/usePolygon'
import { useRoofFn } from '@/hooks/common/useRoofFn' import { useRoofFn } from '@/hooks/common/useRoofFn'
import { POLYGON_TYPE } from '@/common/common' import { LINE_TYPE, POLYGON_TYPE } from '@/common/common'
export function useCanvasConfigInitialize() { export function useCanvasConfigInitialize() {
const canvas = useRecoilValue(canvasState) const canvas = useRecoilValue(canvasState)
@ -64,6 +64,7 @@ export function useCanvasConfigInitialize() {
groupDimensionInit() groupDimensionInit()
reGroupInit() //그룹 객체 재그룹 reGroupInit() //그룹 객체 재그룹
moduleInit() moduleInit()
innerLinesInit() // innerLines 세팅 추가
} }
const gridInit = () => { 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 } return { canvasLoadInit, gridInit }
} }