dev #763
@ -1765,10 +1765,10 @@ export function useMode() {
|
||||
const reversedVertices = [...polygon.vertices].reverse()
|
||||
const reversedLines = []
|
||||
const n = lines.length
|
||||
// lines[i] 는 edge i (vertex[i] → vertex[i+1]) 에 해당. reverse 후의 edge j 는
|
||||
// 원본 edge (n - 1 - j) 와 같은 선분이므로 lines 배열도 동일 매핑으로 재정렬.
|
||||
// reverse 후 edge j 는 원본 edge (n-2-j) 의 역방향에 해당
|
||||
// (reverse edge 0 = v[n-1]→v[n-2] = 원본 edge n-2 역방향, ..., 마지막 edge = 원본 edge n-1 역방향)
|
||||
for (let j = 0; j < n; j++) {
|
||||
reversedLines.push(lines[(n - 1 - j) % n])
|
||||
reversedLines.push(lines[((n - 2 - j) % n + n) % n])
|
||||
}
|
||||
polygon = createRoofPolygon(reversedVertices)
|
||||
lines = reversedLines
|
||||
@ -1777,7 +1777,7 @@ export function useMode() {
|
||||
const offsetEdges = []
|
||||
|
||||
polygon.edges.forEach((edge, i) => {
|
||||
const offset = lines[i % lines.length].attributes.offset
|
||||
const offset = lines[i % lines.length].attributes.offset === 0 ? 1 : lines[i % lines.length].attributes.offset
|
||||
const dx = edge.outwardNormal.x * offset
|
||||
const dy = edge.outwardNormal.y * offset
|
||||
offsetEdges.push(createOffsetEdge(edge, dx, dy))
|
||||
@ -1819,8 +1819,9 @@ export function useMode() {
|
||||
const reversedVertices = [...polygon.vertices].reverse()
|
||||
const reversedLines = []
|
||||
const n = lines.length
|
||||
// reverse 후 edge j 는 원본 edge (n-2-j) 의 역방향에 해당
|
||||
for (let j = 0; j < n; j++) {
|
||||
reversedLines.push(lines[(n - 1 - j) % n])
|
||||
reversedLines.push(lines[((n - 2 - j) % n + n) % n])
|
||||
}
|
||||
polygon = createRoofPolygon(reversedVertices)
|
||||
lines = reversedLines
|
||||
@ -1829,8 +1830,7 @@ export function useMode() {
|
||||
const offsetEdges = []
|
||||
|
||||
polygon.edges.forEach((edge, i) => {
|
||||
const offset = lines[i % lines.length].attributes.offset
|
||||
|
||||
const offset = lines[i % lines.length].attributes.offset === 0 ? 1 : lines[i % lines.length].attributes.offset
|
||||
const dx = edge.inwardNormal.x * offset
|
||||
const dy = edge.inwardNormal.y * offset
|
||||
offsetEdges.push(createOffsetEdge(edge, dx, dy))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user