지붕면 할당 시 lineType 추가
This commit is contained in:
parent
84c9f3914e
commit
966f7db9b8
@ -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로 전부 변경
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user