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