mirror of
https://github.com/Doodle3D/Doodle3D-Slicer.git
synced 2024-11-22 05:37:55 +01:00
rename vars
This commit is contained in:
parent
9a8f96a844
commit
e056b37677
@ -100,44 +100,43 @@ export default function intersectionsToShapes(layerPoints, layerFaceIndexes, fac
|
|||||||
}
|
}
|
||||||
|
|
||||||
let shapeStartPoint = path[0];
|
let shapeStartPoint = path[0];
|
||||||
const connectStart = connectPoints.find(({ point }) => almostEquals(point, shapeStartPoint));
|
const connectNext = connectPoints.find(({ point }) => almostEquals(point, shapeStartPoint));
|
||||||
if (connectStart) {
|
if (connectNext) {
|
||||||
connectStart.start = pathIndex;
|
connectNext.next = pathIndex;
|
||||||
} else {
|
} else {
|
||||||
connectPoints.push({ point: shapeStartPoint, start: pathIndex, end: -1 });
|
connectPoints.push({ point: shapeStartPoint, next: pathIndex, previous: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
let shapeEndPoint = path[path.length - 1];
|
let shapeEndPoint = path[path.length - 1];
|
||||||
const connectEnd = connectPoints.find(({ point }) => almostEquals(point, shapeEndPoint));
|
const connectPrevious = connectPoints.find(({ point }) => almostEquals(point, shapeEndPoint));
|
||||||
if (connectEnd) {
|
if (connectPrevious) {
|
||||||
connectEnd.end = pathIndex;
|
connectPrevious.previous = pathIndex;
|
||||||
} else {
|
} else {
|
||||||
connectPoints.push({ point: shapeEndPoint, start: -1, end: pathIndex });
|
connectPoints.push({ point: shapeEndPoint, next: -1, previous: pathIndex });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
connectPoints.sort(({ start }) => start);
|
connectPoints.sort(({ previous }) => previous);
|
||||||
|
|
||||||
while (connectPoints.length !== 0) {
|
while (connectPoints.length !== 0) {
|
||||||
const { start, end } = connectPoints.pop();
|
let { next, previous } = connectPoints.pop();
|
||||||
|
|
||||||
const line = [];
|
const line = [];
|
||||||
if (end !== -1) line.push(...shape[end]);
|
if (previous !== -1) line.push(...shape[previous]);
|
||||||
|
|
||||||
let next = start;
|
|
||||||
while (true) {
|
while (true) {
|
||||||
const pointIndex = connectPoints.findIndex(point => point.end === next);
|
const pointIndex = connectPoints.findIndex(point => point.previous === next);
|
||||||
if (pointIndex === -1) break;
|
if (pointIndex === -1) break;
|
||||||
|
|
||||||
const point = connectPoints[pointIndex];
|
const point = connectPoints[pointIndex];
|
||||||
line.push(...shape[point.end]);
|
line.push(...shape[point.previous]);
|
||||||
|
|
||||||
connectPoints.splice(pointIndex, 1);
|
connectPoints.splice(pointIndex, 1);
|
||||||
|
|
||||||
if (point.start === -1) break;
|
if (point.next === -1) break;
|
||||||
if (point.start === end) break;
|
if (point.next === previous) break;
|
||||||
|
|
||||||
next = point.start;
|
next = point.next;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (openShape) {
|
if (openShape) {
|
||||||
|
Loading…
Reference in New Issue
Block a user