clipper2-ts 2.0.1-17 → 2.0.1-18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Engine.d.ts +1 -0
- package/dist/Engine.d.ts.map +1 -1
- package/dist/Engine.js +68 -25
- package/dist/Engine.js.map +1 -1
- package/dist/clipper2.min.mjs +2 -2
- package/dist/clipper2.min.mjs.map +1 -1
- package/package.json +1 -1
- package/src/Engine.ts +66 -28
package/dist/Engine.d.ts
CHANGED
|
@@ -170,6 +170,7 @@ export declare class ClipperBase {
|
|
|
170
170
|
protected readonly horzJoinList: HorzJoin[];
|
|
171
171
|
protected currentLocMin: number;
|
|
172
172
|
protected currentBotY: number;
|
|
173
|
+
private curXValidAtTop;
|
|
173
174
|
protected isSortedMinimaList: boolean;
|
|
174
175
|
protected hasOpenPaths: boolean;
|
|
175
176
|
protected usingPolytree: boolean;
|
package/dist/Engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../src/Engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../src/Engine.ts"],"names":[],"mappings":"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"}
|
package/dist/Engine.js
CHANGED
|
@@ -234,18 +234,22 @@ export const ClipperEngine = {
|
|
|
234
234
|
const path = paths[i];
|
|
235
235
|
let v0 = null;
|
|
236
236
|
let prevV = null;
|
|
237
|
+
// nb: vertexList holds only each path's head vertex; the rest of the
|
|
238
|
+
// chain stays reachable through the next/prev links
|
|
239
|
+
let prevPt = null;
|
|
237
240
|
for (let j = 0, len2 = path.length; j < len2; j++) {
|
|
238
241
|
const pt = path[j];
|
|
239
242
|
if (v0 === null) {
|
|
240
243
|
v0 = new Vertex(pt, VertexFlags.None, null);
|
|
241
244
|
vertexList.push(v0);
|
|
242
245
|
prevV = v0;
|
|
246
|
+
prevPt = pt;
|
|
243
247
|
}
|
|
244
|
-
else if (!(
|
|
248
|
+
else if (!(prevPt.x === pt.x && prevPt.y === pt.y)) { // ie skips duplicates
|
|
245
249
|
const currV = new Vertex(pt, VertexFlags.None, prevV);
|
|
246
|
-
vertexList.push(currV);
|
|
247
250
|
prevV.next = currV;
|
|
248
251
|
prevV = currV;
|
|
252
|
+
prevPt = pt;
|
|
249
253
|
}
|
|
250
254
|
}
|
|
251
255
|
if (prevV?.prev == null)
|
|
@@ -481,6 +485,10 @@ export class ClipperBase {
|
|
|
481
485
|
horzJoinList = [];
|
|
482
486
|
currentLocMin = 0;
|
|
483
487
|
currentBotY = 0;
|
|
488
|
+
// True when every active edge's curX already equals topX(edge, topY) for the
|
|
489
|
+
// scanbeam top being processed (set by buildIntersectList when the SEL scan
|
|
490
|
+
// finds no inversions, i.e. no intersections; consumed by doTopOfScanbeam).
|
|
491
|
+
curXValidAtTop = false;
|
|
484
492
|
isSortedMinimaList = false;
|
|
485
493
|
hasOpenPaths = false;
|
|
486
494
|
usingPolytree = false;
|
|
@@ -598,7 +606,9 @@ export class ClipperBase {
|
|
|
598
606
|
return InternalClipper.roundToEven(ae.bot.x + ae.dx * (currentY - ae.bot.y));
|
|
599
607
|
}
|
|
600
608
|
static isHorizontal(ae) {
|
|
601
|
-
|
|
609
|
+
// dx is ±Infinity iff top.y === bot.y (see getDx); every mutation of
|
|
610
|
+
// bot/top must be followed by setDx() for this to hold.
|
|
611
|
+
return ae.dx === Number.NEGATIVE_INFINITY || ae.dx === Number.POSITIVE_INFINITY;
|
|
602
612
|
}
|
|
603
613
|
static isHeadingRightHorz(ae) {
|
|
604
614
|
return ae.dx === Number.NEGATIVE_INFINITY;
|
|
@@ -639,15 +649,21 @@ export class ClipperBase {
|
|
|
639
649
|
// optimization (not in C# reference): fast bounding box overlap check for segment intersection
|
|
640
650
|
boundingBoxesOverlap(p1, p2, p3, p4) {
|
|
641
651
|
// segment 1: p1-p2, segment 2: p3-p4
|
|
642
|
-
const min1x =
|
|
643
|
-
const
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
const
|
|
647
|
-
const
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
652
|
+
const min1x = p1.x < p2.x ? p1.x : p2.x;
|
|
653
|
+
const max2x = p3.x > p4.x ? p3.x : p4.x;
|
|
654
|
+
if (max2x < min1x)
|
|
655
|
+
return false;
|
|
656
|
+
const max1x = p1.x > p2.x ? p1.x : p2.x;
|
|
657
|
+
const min2x = p3.x < p4.x ? p3.x : p4.x;
|
|
658
|
+
if (max1x < min2x)
|
|
659
|
+
return false;
|
|
660
|
+
const min1y = p1.y < p2.y ? p1.y : p2.y;
|
|
661
|
+
const max2y = p3.y > p4.y ? p3.y : p4.y;
|
|
662
|
+
if (max2y < min1y)
|
|
663
|
+
return false;
|
|
664
|
+
const max1y = p1.y > p2.y ? p1.y : p2.y;
|
|
665
|
+
const min2y = p3.y < p4.y ? p3.y : p4.y;
|
|
666
|
+
return max1y >= min2y;
|
|
651
667
|
}
|
|
652
668
|
clearSolutionOnly() {
|
|
653
669
|
while (this.actives !== null)
|
|
@@ -686,6 +702,7 @@ export class ClipperBase {
|
|
|
686
702
|
this.currentLocMin = 0;
|
|
687
703
|
this.actives = null;
|
|
688
704
|
this.sel = null;
|
|
705
|
+
this.curXValidAtTop = false;
|
|
689
706
|
this.succeeded = true;
|
|
690
707
|
}
|
|
691
708
|
upgradeScanlineStructureFromArray() {
|
|
@@ -1173,13 +1190,17 @@ export class ClipperBase {
|
|
|
1173
1190
|
this.updateEdgeIntoAEL(horz); // this is the end of an intermediate horiz.
|
|
1174
1191
|
}
|
|
1175
1192
|
convertHorzSegsToJoins() {
|
|
1193
|
+
// compact valid segments to [0, k) so the sort below only orders those
|
|
1194
|
+
const list = this.horzSegList;
|
|
1176
1195
|
let k = 0;
|
|
1177
|
-
for (
|
|
1196
|
+
for (let i = 0, len = list.length; i < len; i++) {
|
|
1197
|
+
const hs = list[i];
|
|
1178
1198
|
if (this.updateHorzSegment(hs))
|
|
1179
|
-
k
|
|
1199
|
+
list[k++] = hs;
|
|
1180
1200
|
}
|
|
1181
1201
|
if (k < 2)
|
|
1182
1202
|
return;
|
|
1203
|
+
list.length = k;
|
|
1183
1204
|
this.horzSegList.sort(compareHorzSegments);
|
|
1184
1205
|
for (let i = 0; i < k - 1; i++) {
|
|
1185
1206
|
const hs1 = this.horzSegList[i];
|
|
@@ -1288,6 +1309,11 @@ export class ClipperBase {
|
|
|
1288
1309
|
}
|
|
1289
1310
|
}
|
|
1290
1311
|
doTopOfScanbeam(y) {
|
|
1312
|
+
// When the preceding buildIntersectList found no inversions, every edge's
|
|
1313
|
+
// curX already equals topX(ae, y), so skip recomputing it (topX is pure in
|
|
1314
|
+
// ae.bot/ae.dx/y, none of which change below for edges not at their top).
|
|
1315
|
+
const curXValid = this.curXValidAtTop;
|
|
1316
|
+
this.curXValidAtTop = false;
|
|
1291
1317
|
this.sel = null; // sel is reused to flag horizontals (see PushHorz below)
|
|
1292
1318
|
let ae = this.actives;
|
|
1293
1319
|
while (ae !== null) {
|
|
@@ -1308,7 +1334,7 @@ export class ClipperBase {
|
|
|
1308
1334
|
}
|
|
1309
1335
|
}
|
|
1310
1336
|
}
|
|
1311
|
-
else { // i.e. not the top of the edge
|
|
1337
|
+
else if (!curXValid) { // i.e. not the top of the edge
|
|
1312
1338
|
ae.curX = ClipperBase.topX(ae, y); // TopX already returns correctly rounded integer
|
|
1313
1339
|
}
|
|
1314
1340
|
ae = ae.nextInAEL;
|
|
@@ -1502,7 +1528,13 @@ export class ClipperBase {
|
|
|
1502
1528
|
return false;
|
|
1503
1529
|
// Calculate edge positions at the top of the current scanbeam, and from this
|
|
1504
1530
|
// we will determine the intersections required to reach these new positions.
|
|
1505
|
-
|
|
1531
|
+
// If the AEL is already sorted by the new curX values (no adjacent
|
|
1532
|
+
// inversions), no edges intersect within this scanbeam, so skip the merge
|
|
1533
|
+
// sort; every edge's curX is then already correct for topY.
|
|
1534
|
+
if (!this.adjustCurrXAndCopyToSEL(topY)) {
|
|
1535
|
+
this.curXValidAtTop = true;
|
|
1536
|
+
return false;
|
|
1537
|
+
}
|
|
1506
1538
|
// Find all edge intersections in the current scanbeam using a stable merge
|
|
1507
1539
|
// sort that ensures only adjacent edges are intersecting. Intersect info is
|
|
1508
1540
|
// stored in intersectList ready to be processed in ProcessIntersectList.
|
|
@@ -1581,19 +1613,28 @@ export class ClipperBase {
|
|
|
1581
1613
|
edgesAdjacentInAEL(inode) {
|
|
1582
1614
|
return (inode.edge1.nextInAEL === inode.edge2) || (inode.edge1.prevInAEL === inode.edge2);
|
|
1583
1615
|
}
|
|
1616
|
+
// Returns true if any adjacent pair is inverted at topY (i.e. at least one
|
|
1617
|
+
// intersection exists within this scanbeam).
|
|
1584
1618
|
adjustCurrXAndCopyToSEL(topY) {
|
|
1585
1619
|
let ae = this.actives;
|
|
1586
1620
|
this.sel = ae;
|
|
1621
|
+
let prevX = Number.NEGATIVE_INFINITY;
|
|
1622
|
+
let inverted = false;
|
|
1587
1623
|
while (ae !== null) {
|
|
1588
1624
|
ae.prevInSEL = ae.prevInAEL;
|
|
1589
1625
|
ae.nextInSEL = ae.nextInAEL;
|
|
1590
1626
|
ae.jump = ae.nextInSEL;
|
|
1591
1627
|
// it is safe to ignore 'joined' edges here because
|
|
1592
1628
|
// if necessary they will be split in IntersectEdges()
|
|
1593
|
-
|
|
1629
|
+
const x = ClipperBase.topX(ae, topY);
|
|
1630
|
+
ae.curX = x;
|
|
1594
1631
|
// NB don't update ae.curr.Y yet (see AddNewIntersectNode)
|
|
1632
|
+
if (x < prevX)
|
|
1633
|
+
inverted = true;
|
|
1634
|
+
prevX = x;
|
|
1595
1635
|
ae = ae.nextInAEL;
|
|
1596
1636
|
}
|
|
1637
|
+
return inverted;
|
|
1597
1638
|
}
|
|
1598
1639
|
doMaxima(ae) {
|
|
1599
1640
|
const prevE = ae.prevInAEL;
|
|
@@ -2123,8 +2164,11 @@ export class ClipperBase {
|
|
|
2123
2164
|
}
|
|
2124
2165
|
checkJoinLeft(ae, pt, checkCurrX = false) {
|
|
2125
2166
|
const prev = ae.prevInAEL;
|
|
2126
|
-
if (prev === null
|
|
2127
|
-
|
|
2167
|
+
if (prev === null)
|
|
2168
|
+
return;
|
|
2169
|
+
if (!checkCurrX && ae.curX !== prev.curX)
|
|
2170
|
+
return;
|
|
2171
|
+
if (!ClipperBase.isHotEdge(ae) || !ClipperBase.isHotEdge(prev) ||
|
|
2128
2172
|
ClipperBase.isHorizontal(ae) || ClipperBase.isHorizontal(prev) ||
|
|
2129
2173
|
ClipperBase.isOpen(ae) || ClipperBase.isOpen(prev))
|
|
2130
2174
|
return;
|
|
@@ -2135,8 +2179,6 @@ export class ClipperBase {
|
|
|
2135
2179
|
if (this.perpendicDistFromLineSqrdGreaterThanQuarter(pt, prev.bot, prev.top))
|
|
2136
2180
|
return;
|
|
2137
2181
|
}
|
|
2138
|
-
else if (ae.curX !== prev.curX)
|
|
2139
|
-
return;
|
|
2140
2182
|
if (!InternalClipper.isCollinear(ae.top, pt, prev.top))
|
|
2141
2183
|
return;
|
|
2142
2184
|
if (ae.outrec.idx === prev.outrec.idx) {
|
|
@@ -2153,8 +2195,11 @@ export class ClipperBase {
|
|
|
2153
2195
|
}
|
|
2154
2196
|
checkJoinRight(ae, pt, checkCurrX = false) {
|
|
2155
2197
|
const next = ae.nextInAEL;
|
|
2156
|
-
if (next === null
|
|
2157
|
-
|
|
2198
|
+
if (next === null)
|
|
2199
|
+
return;
|
|
2200
|
+
if (!checkCurrX && ae.curX !== next.curX)
|
|
2201
|
+
return;
|
|
2202
|
+
if (!ClipperBase.isHotEdge(ae) || !ClipperBase.isHotEdge(next) ||
|
|
2158
2203
|
ClipperBase.isHorizontal(ae) || ClipperBase.isHorizontal(next) ||
|
|
2159
2204
|
ClipperBase.isOpen(ae) || ClipperBase.isOpen(next))
|
|
2160
2205
|
return;
|
|
@@ -2165,8 +2210,6 @@ export class ClipperBase {
|
|
|
2165
2210
|
if (this.perpendicDistFromLineSqrdGreaterThanQuarter(pt, next.bot, next.top))
|
|
2166
2211
|
return;
|
|
2167
2212
|
}
|
|
2168
|
-
else if (ae.curX !== next.curX)
|
|
2169
|
-
return;
|
|
2170
2213
|
if (!InternalClipper.isCollinear(ae.top, pt, next.top))
|
|
2171
2214
|
return;
|
|
2172
2215
|
if (ae.outrec.idx === next.outrec.idx) {
|