지붕면 할당 시 lineType 추가

This commit is contained in:
hyojun.choi 2025-02-19 14:29:44 +09:00
parent 84c9f3914e
commit 966f7db9b8

View File

@ -7,7 +7,7 @@ import { isSamePoint, removeDuplicatePolygons } from '@/util/qpolygon-utils'
import { flowDisplaySelector } from '@/store/settingAtom'
import { fontSelector } from '@/store/fontAtom'
import { QLine } from '@/components/fabric/QLine'
import { POLYGON_TYPE } from '@/common/common'
import { LINE_TYPE, POLYGON_TYPE } from '@/common/common'
export const usePolygon = () => {
const canvas = useRecoilValue(canvasState)
@ -909,6 +909,29 @@ export const usePolygon = () => {
const allLines = [...polygonLines, ...innerLines]
// 2025-02-19 대각선은 케라바, 직선은 용마루로 세팅
innerLines.forEach((innerLine) => {
const startPoint = innerLine.startPoint
const endPoint = innerLine.endPoint
// startPoint와 endPoint의 각도가 0,90,180,270이면 직선으로 판단
if (Math.abs(startPoint.x - endPoint.x) < 2 || Math.abs(startPoint.y - endPoint.y) < 2) {
if (!innerLine.attributes || !innerLine.attributes.type) {
innerLine.attributes = {
...innerLine.attributes,
type: LINE_TYPE.SUBLINE.RIDGE,
}
}
} else {
if (!innerLine.attributes || !innerLine.attributes.type) {
innerLine.attributes = {
...innerLine.attributes,
type: LINE_TYPE.SUBLINE.GABLE,
}
}
}
})
/**
* 왼쪽 상단을 startPoint로 전부 변경
*/