clipper2-ts 2.0.1-16 → 2.0.1-17

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 CHANGED
@@ -198,13 +198,13 @@ export declare class ClipperBase {
198
198
  private static isHorizontal;
199
199
  private static isHeadingRightHorz;
200
200
  private static isHeadingLeftHorz;
201
- private static swapActives;
202
201
  private static getPolyType;
203
202
  private static isSamePolyType;
204
203
  private static setDx;
205
204
  private static nextVertex;
206
205
  private static prevPrevVertex;
207
- private static isMaxima;
206
+ private static isMaximaVertex;
207
+ private static isMaximaEdge;
208
208
  private static getMaximaPair;
209
209
  private boundingBoxesOverlap;
210
210
  protected clearSolutionOnly(): void;
@@ -229,7 +229,6 @@ export declare class ClipperBase {
229
229
  private convertHorzSegsToJoins;
230
230
  private updateHorzSegment;
231
231
  private setHorzSegHeadingForward;
232
- private horzSegSort;
233
232
  protected duplicateOp(op: OutPt, insertAfter: boolean): OutPt;
234
233
  protected getRealOutRec(outRec: OutRec | null): OutRec | null;
235
234
  private doIntersections;
@@ -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
@@ -172,6 +172,23 @@ export class HorzJoin {
172
172
  this.op2 = rtol;
173
173
  }
174
174
  }
175
+ function compareHorzSegments(hs1, hs2) {
176
+ if (hs1.rightOp === null) {
177
+ return hs2.rightOp === null ? 0 : 1;
178
+ }
179
+ if (hs2.rightOp === null)
180
+ return -1;
181
+ return hs1.leftOp.pt.x - hs2.leftOp.pt.x;
182
+ }
183
+ function compareIntersectNodes(a, b) {
184
+ if (a.pt.y !== b.pt.y)
185
+ return (a.pt.y > b.pt.y) ? -1 : 1;
186
+ if (a.pt.x !== b.pt.x)
187
+ return (a.pt.x < b.pt.x) ? -1 : 1;
188
+ if (a.edge1.curX !== b.edge1.curX)
189
+ return (a.edge1.curX < b.edge1.curX) ? -1 : 1;
190
+ return (a.edge2.curX < b.edge2.curX) ? -1 : (a.edge2.curX > b.edge2.curX) ? 1 : 0;
191
+ }
175
192
  ///////////////////////////////////////////////////////////////////
176
193
  // Important: UP and DOWN here are premised on Y-axis positive down
177
194
  // displays, which is the orientation used in Clipper's development.
@@ -589,9 +606,6 @@ export class ClipperBase {
589
606
  static isHeadingLeftHorz(ae) {
590
607
  return ae.dx === Number.POSITIVE_INFINITY;
591
608
  }
592
- static swapActives(ae1, ae2) {
593
- return [ae2, ae1];
594
- }
595
609
  static getPolyType(ae) {
596
610
  return ae.localMin.polytype;
597
611
  }
@@ -607,15 +621,11 @@ export class ClipperBase {
607
621
  static prevPrevVertex(ae) {
608
622
  return ae.windDx > 0 ? ae.vertexTop.prev.prev : ae.vertexTop.next.next;
609
623
  }
610
- static isMaxima(vertexOrAe) {
611
- if ('flags' in vertexOrAe) {
612
- // It's a Vertex
613
- return (vertexOrAe.flags & VertexFlags.LocalMax) !== VertexFlags.None;
614
- }
615
- else {
616
- // It's an Active
617
- return ClipperBase.isMaxima(vertexOrAe.vertexTop);
618
- }
624
+ static isMaximaVertex(v) {
625
+ return (v.flags & VertexFlags.LocalMax) !== VertexFlags.None;
626
+ }
627
+ static isMaximaEdge(ae) {
628
+ return (ae.vertexTop.flags & VertexFlags.LocalMax) !== VertexFlags.None;
619
629
  }
620
630
  static getMaximaPair(ae) {
621
631
  let ae2 = ae.nextInAEL;
@@ -878,15 +888,23 @@ export class ClipperBase {
878
888
  // Now if the LeftB isn't on the left of RightB then we need swap them.
879
889
  if (leftBound !== null && rightBound !== null) {
880
890
  if (ClipperBase.isHorizontal(leftBound)) {
881
- if (ClipperBase.isHeadingRightHorz(leftBound))
882
- [leftBound, rightBound] = ClipperBase.swapActives(leftBound, rightBound);
891
+ if (ClipperBase.isHeadingRightHorz(leftBound)) {
892
+ const tmp = leftBound;
893
+ leftBound = rightBound;
894
+ rightBound = tmp;
895
+ }
883
896
  }
884
897
  else if (ClipperBase.isHorizontal(rightBound)) {
885
- if (ClipperBase.isHeadingLeftHorz(rightBound))
886
- [leftBound, rightBound] = ClipperBase.swapActives(leftBound, rightBound);
898
+ if (ClipperBase.isHeadingLeftHorz(rightBound)) {
899
+ const tmp = leftBound;
900
+ leftBound = rightBound;
901
+ rightBound = tmp;
902
+ }
887
903
  }
888
904
  else if (leftBound.dx < rightBound.dx) {
889
- [leftBound, rightBound] = ClipperBase.swapActives(leftBound, rightBound);
905
+ const tmp = leftBound;
906
+ leftBound = rightBound;
907
+ rightBound = tmp;
890
908
  }
891
909
  }
892
910
  else if (leftBound === null) {
@@ -1162,7 +1180,7 @@ export class ClipperBase {
1162
1180
  }
1163
1181
  if (k < 2)
1164
1182
  return;
1165
- this.horzSegList.sort((a, b) => this.horzSegSort(a, b));
1183
+ this.horzSegList.sort(compareHorzSegments);
1166
1184
  for (let i = 0; i < k - 1; i++) {
1167
1185
  const hs1 = this.horzSegList[i];
1168
1186
  // for each HorzSegment, find others that overlap
@@ -1241,14 +1259,6 @@ export class ClipperBase {
1241
1259
  }
1242
1260
  return true;
1243
1261
  }
1244
- horzSegSort(hs1, hs2) {
1245
- if (hs1.rightOp === null) {
1246
- return hs2.rightOp === null ? 0 : 1;
1247
- }
1248
- if (hs2.rightOp === null)
1249
- return -1;
1250
- return hs1.leftOp.pt.x - hs2.leftOp.pt.x;
1251
- }
1252
1262
  duplicateOp(op, insertAfter) {
1253
1263
  const result = new OutPt(op.pt, op.outrec);
1254
1264
  if (insertAfter) {
@@ -1284,7 +1294,7 @@ export class ClipperBase {
1284
1294
  // NB 'ae' will never be horizontal here
1285
1295
  if (ae.top.y === y) {
1286
1296
  ae.curX = ae.top.x;
1287
- if (ClipperBase.isMaxima(ae)) {
1297
+ if (ClipperBase.isMaximaEdge(ae)) {
1288
1298
  ae = this.doMaxima(ae); // TOP OF BOUND (MAXIMA)
1289
1299
  continue;
1290
1300
  }
@@ -1548,18 +1558,7 @@ export class ClipperBase {
1548
1558
  // that edge intersections are processed from the bottom up, but it's also
1549
1559
  // crucial that intersections only occur between adjacent edges.
1550
1560
  // First we do a quicksort so intersections proceed in a bottom up order ...
1551
- this.intersectList.sort((a, b) => {
1552
- if (a.pt.y !== b.pt.y)
1553
- return (a.pt.y > b.pt.y) ? -1 : 1;
1554
- if (a.pt.x !== b.pt.x)
1555
- return (a.pt.x < b.pt.x) ? -1 : 1;
1556
- // Tiebreaker: when points are identical, sort by edge1's curX position
1557
- // This provides deterministic ordering matching C# IntroSort behavior
1558
- if (a.edge1.curX !== b.edge1.curX)
1559
- return (a.edge1.curX < b.edge1.curX) ? -1 : 1;
1560
- // Final tiebreaker: edge2's curX
1561
- return (a.edge2.curX < b.edge2.curX) ? -1 : (a.edge2.curX > b.edge2.curX) ? 1 : 0;
1562
- });
1561
+ this.intersectList.sort(compareIntersectNodes);
1563
1562
  // Now as we process these intersections, we must sometimes adjust the order
1564
1563
  // to ensure that intersecting edges are always adjacent ...
1565
1564
  for (let i = 0; i < this.intersectList.length; ++i) {
@@ -1682,7 +1681,7 @@ export class ClipperBase {
1682
1681
  horzEdge.vertexTop = ClipperBase.nextVertex(horzEdge);
1683
1682
  horzEdge.top = pt;
1684
1683
  wasTrimmed = true;
1685
- if (ClipperBase.isMaxima(horzEdge))
1684
+ if (ClipperBase.isMaximaVertex(horzEdge.vertexTop))
1686
1685
  break;
1687
1686
  pt = ClipperBase.nextVertex(horzEdge).pt;
1688
1687
  }
@@ -1758,7 +1757,7 @@ export class ClipperBase {
1758
1757
  ((result.flags & (VertexFlags.OpenEnd | VertexFlags.LocalMax)) === VertexFlags.None))
1759
1758
  result = result.prev;
1760
1759
  }
1761
- if (!ClipperBase.isMaxima(result))
1760
+ if (!ClipperBase.isMaximaVertex(result))
1762
1761
  result = null; // not a maxima
1763
1762
  return result;
1764
1763
  }
@@ -1772,7 +1771,7 @@ export class ClipperBase {
1772
1771
  while (result.prev.pt.y === result.pt.y)
1773
1772
  result = result.prev;
1774
1773
  }
1775
- if (!ClipperBase.isMaxima(result))
1774
+ if (!ClipperBase.isMaximaVertex(result))
1776
1775
  result = null; // not a maxima
1777
1776
  return result;
1778
1777
  }
@@ -2215,8 +2214,11 @@ export class ClipperBase {
2215
2214
  if (ClipperBase.isOpen(ae1) && ClipperBase.isOpen(ae2))
2216
2215
  return;
2217
2216
  // the following line avoids duplicating quite a bit of code
2218
- if (ClipperBase.isOpen(ae2))
2219
- [ae1, ae2] = ClipperBase.swapActives(ae1, ae2);
2217
+ if (ClipperBase.isOpen(ae2)) {
2218
+ const tmp = ae1;
2219
+ ae1 = ae2;
2220
+ ae2 = tmp;
2221
+ }
2220
2222
  if (this.isJoined(ae2))
2221
2223
  this.split(ae2, pt); // needed for safety
2222
2224
  if (this.cliptype === ClipType.Union) {
@@ -2450,10 +2452,10 @@ export class ClipperBase {
2450
2452
  // edges must be collinear to get here
2451
2453
  // for starting open paths, place them according to
2452
2454
  // the direction they're about to turn
2453
- if (!ClipperBase.isMaxima(resident) && (resident.top.y > newcomer.top.y)) {
2455
+ if (!ClipperBase.isMaximaEdge(resident) && (resident.top.y > newcomer.top.y)) {
2454
2456
  return InternalClipper.crossProductSign(newcomer.bot, resident.top, ClipperBase.nextVertex(resident).pt) <= 0;
2455
2457
  }
2456
- if (!ClipperBase.isMaxima(newcomer) && (newcomer.top.y > resident.top.y)) {
2458
+ if (!ClipperBase.isMaximaEdge(newcomer) && (newcomer.top.y > resident.top.y)) {
2457
2459
  return InternalClipper.crossProductSign(newcomer.bot, newcomer.top, ClipperBase.nextVertex(newcomer).pt) >= 0;
2458
2460
  }
2459
2461
  const y = newcomer.bot.y;