지붕면 할당 시 순서 재 정렬 되는 현상 수정
This commit is contained in:
parent
37b12b5deb
commit
cf3e64deb5
@ -1009,14 +1009,14 @@ export const usePolygon = () => {
|
||||
|
||||
// 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) {
|
||||
if (!innerLine.attributes || !innerLine.attributes.type || innerLine.attributes.type === 'default') {
|
||||
innerLine.attributes = {
|
||||
...innerLine.attributes,
|
||||
type: LINE_TYPE.SUBLINE.RIDGE,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!innerLine.attributes || !innerLine.attributes.type) {
|
||||
if (!innerLine.attributes || !innerLine.attributes.type || innerLine.attributes.type === 'default') {
|
||||
innerLine.attributes = {
|
||||
...innerLine.attributes,
|
||||
type: LINE_TYPE.SUBLINE.GABLE,
|
||||
@ -1149,7 +1149,7 @@ export const usePolygon = () => {
|
||||
|
||||
//allLines중 생성된 roof와 관련있는 line을 찾는다.
|
||||
|
||||
roof.lines = [...polygonLines, ...polygon.innerLines].filter((line) => {
|
||||
const roofLines = [...polygonLines, ...polygon.innerLines].filter((line) => {
|
||||
let startFlag = false
|
||||
let endFlag = false
|
||||
const startPoint = line.startPoint
|
||||
@ -1166,6 +1166,17 @@ export const usePolygon = () => {
|
||||
return startFlag && endFlag
|
||||
})
|
||||
|
||||
roofLines.forEach((line) => {
|
||||
roof.lines.forEach((roofLine) => {
|
||||
if (
|
||||
(isSamePoint(line.startPoint, roofLine.startPoint) && isSamePoint(line.endPoint, roofLine.endPoint)) ||
|
||||
(isSamePoint(line.startPoint, roofLine.endPoint) && isSamePoint(line.endPoint, roofLine.startPoint))
|
||||
) {
|
||||
roofLine.attributes = { ...line.attributes }
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
canvas.add(roof)
|
||||
// addLengthText(roof)
|
||||
canvas.remove(polygon)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user