refactor: Remove unnecessary code for handling outer line template B

This commit is contained in:
yoosangwook 2024-07-19 11:27:27 +09:00
parent ff19fe7389
commit 71ecdfd40a

View File

@ -1319,197 +1319,6 @@ export function useMode() {
canvas.renderAll()
}
const handleOuterLineTemplateB = (params) => {
const { eaves, edge, polygon } = params
polygon.points.forEach((point, index) => {
let x2 = index === polygon.points.length - 1 ? polygon.points[0].x : polygon.points[index + 1].x
let y2 = index === polygon.points.length - 1 ? polygon.points[0].y : polygon.points[index + 1].y
let x1 = point.x
let y1 = point.y
if (index % 2 === 0) {
if (polygon.lines[index].direction === 'bottom') {
y1 = y1 - eaves
y2 = y2 + eaves
x1 = x1 - edge
x2 = x2 - edge
} else {
y1 = y1 + eaves
y2 = y2 - eaves
x1 = x1 + edge
x2 = x2 + edge
}
} else {
if (polygon.lines[index].direction === 'right') {
x1 = x1 - edge
x2 = x2 + edge
y1 = y1 + eaves
y2 = y2 + eaves
} else {
x1 = x1 + edge
x2 = x2 - edge
y1 = y1 - eaves
y2 = y2 - eaves
}
}
switch (polygon.shape) {
case 1:
if (index === 0) {
const subLine = new QLine(
[
point.x - edge,
polygon.points[0].y + (polygon.points[1].y - polygon.points[0].y) / 2,
polygon.points[2].x,
polygon.points[0].y + (polygon.points[1].y - polygon.points[0].y) / 2,
],
{
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
},
)
canvas.add(subLine)
}
if (index === 1) {
x2 = x2 - edge
const subLine = new QLine([x2, y2, x2, polygon.points[0].y + (polygon.points[1].y - polygon.points[0].y) / 2], {
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
})
canvas.add(subLine)
}
if (index === 2) {
y1 = point.y - (polygon.points[1].y - polygon.points[0].y) / 2
const centeredPoint = getCenterPoint(polygon.points[1].x, point.x)
const subLine = new QLine(
[centeredPoint, point.y + eaves, centeredPoint, polygon.points[0].y + (polygon.points[1].y - polygon.points[0].y) / 2],
{
stroke: 'black',
strokeWidth: 2,
strokeDashArray: [5, 5],
selectable: false,
fontSize: fontSize,
},
)
canvas.add(subLine)
}
if (index === 3) {
const centeredPoint = getCenterPoint(point.x, polygon.points[4].x)
const subLine = new QLine([centeredPoint, point.y + eaves, centeredPoint, polygon.points[5].y - eaves], {
stroke: 'black',
strokeWidth: 2,
strokeDashArray: [5, 5],
selectable: false,
fontSize: fontSize,
})
canvas.add(subLine)
}
if (index === 5) {
const centeredPoint = getCenterPoint(point.y, polygon.points[4].y)
const subLine = new QLine([point.x + edge, centeredPoint, polygon.points[2].x - edge, centeredPoint], {
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
})
canvas.add(subLine)
}
break
case 2:
const centerPoint = polygon.points[3].y + (polygon.points[2].y - polygon.points[3].y) / 2
if (index === 0) {
const subLine = new QLine(
[
point.x - egde,
polygon.points[0].y + (polygon.points[1].y - polygon.points[0].y) / 2,
polygon.points[5].x + egde,
polygon.points[0].y + (polygon.points[1].y - polygon.points[0].y) / 2,
],
{
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
},
)
canvas.add(subLine)
}
if (index === 3) {
x2 = x2 + egde
const subLine = new QLine([x2, y2, x2, centerPoint], {
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
})
canvas.add(subLine)
}
if (index === 4) {
y1 = point.y + (polygon.points[index - 2].y - polygon.points[index - 1].y) / 2
const subLine = new QLine([point.x, centerPoint, polygon.points[2].x + 20, centerPoint], {
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
})
const subVerticalLine = new QLine(
[
getCenterPoint(point.x, polygon.points[2].x + egde),
polygon.points[3].y - eaves,
getCenterPoint(point.x, polygon.points[2].x + egde),
centerPoint,
],
{
stroke: 'black',
strokeWidth: 2,
strokeDashArray: [5, 5],
selectable: false,
fontSize: fontSize,
},
)
canvas.add(subVerticalLine)
}
if (index === 5) {
const centeredPoint = getCenterPoint(polygon.points[0].x, polygon.points[5].x)
const verticalSubLine = new QLine([centeredPoint, polygon.points[0].y - eaves, centeredPoint, polygon.points[1].y + eaves], {
stroke: 'black',
strokeWidth: 2,
strokeDashArray: [5, 5],
selectable: false,
fontSize: fontSize,
})
canvas.add(verticalSubLine)
}
break
case 3:
break
case 4:
break
default:
break
}
const line = new QLine([x1, y1, x2, y2], {
stroke: 'blue',
strokeWidth: 2,
selectable: false,
fontSize: fontSize,
})
canvas.add(line)
})
canvas.renderAll()
}
return {
mode,
changeMode,