sk4/8
This commit is contained in:
parent
828ea12484
commit
c05c08e390
@ -1765,10 +1765,10 @@ export function useMode() {
|
|||||||
const reversedVertices = [...polygon.vertices].reverse()
|
const reversedVertices = [...polygon.vertices].reverse()
|
||||||
const reversedLines = []
|
const reversedLines = []
|
||||||
const n = lines.length
|
const n = lines.length
|
||||||
// lines[i] 는 edge i (vertex[i] → vertex[i+1]) 에 해당. reverse 후의 edge j 는
|
// reverse 후 edge j 는 원본 edge (n-2-j) 의 역방향에 해당
|
||||||
// 원본 edge (n - 1 - j) 와 같은 선분이므로 lines 배열도 동일 매핑으로 재정렬.
|
// (reverse edge 0 = v[n-1]→v[n-2] = 원본 edge n-2 역방향, ..., 마지막 edge = 원본 edge n-1 역방향)
|
||||||
for (let j = 0; j < n; 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)
|
polygon = createRoofPolygon(reversedVertices)
|
||||||
lines = reversedLines
|
lines = reversedLines
|
||||||
@ -1777,7 +1777,7 @@ export function useMode() {
|
|||||||
const offsetEdges = []
|
const offsetEdges = []
|
||||||
|
|
||||||
polygon.edges.forEach((edge, i) => {
|
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 dx = edge.outwardNormal.x * offset
|
||||||
const dy = edge.outwardNormal.y * offset
|
const dy = edge.outwardNormal.y * offset
|
||||||
offsetEdges.push(createOffsetEdge(edge, dx, dy))
|
offsetEdges.push(createOffsetEdge(edge, dx, dy))
|
||||||
@ -1819,8 +1819,9 @@ export function useMode() {
|
|||||||
const reversedVertices = [...polygon.vertices].reverse()
|
const reversedVertices = [...polygon.vertices].reverse()
|
||||||
const reversedLines = []
|
const reversedLines = []
|
||||||
const n = lines.length
|
const n = lines.length
|
||||||
|
// reverse 후 edge j 는 원본 edge (n-2-j) 의 역방향에 해당
|
||||||
for (let j = 0; j < n; 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)
|
polygon = createRoofPolygon(reversedVertices)
|
||||||
lines = reversedLines
|
lines = reversedLines
|
||||||
@ -1829,8 +1830,7 @@ export function useMode() {
|
|||||||
const offsetEdges = []
|
const offsetEdges = []
|
||||||
|
|
||||||
polygon.edges.forEach((edge, i) => {
|
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 dx = edge.inwardNormal.x * offset
|
||||||
const dy = edge.inwardNormal.y * offset
|
const dy = edge.inwardNormal.y * offset
|
||||||
offsetEdges.push(createOffsetEdge(edge, dx, dy))
|
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