@mlightcad/geometry-engine 3.13.1 → 3.14.0

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.
@@ -43,6 +43,21 @@ export declare class AcGeCircArc2d extends AcGeCurve2d {
43
43
  * Project `point` radially onto the circle `(center, radius)`.
44
44
  */
45
45
  static projectPoint(center: AcGePoint2dLike, radius: number, point: AcGePoint2dLike): AcGePoint2d | null;
46
+ /**
47
+ * True when `point` lies on the circle `(center, radius)` within a radial
48
+ * tolerance (default `max(1e-6, radius * 1e-5)`).
49
+ */
50
+ static pointLiesOnCircle(point: AcGePoint2dLike, center: AcGePoint2dLike, radius: number, eps?: number): boolean;
51
+ /**
52
+ * True when two circles share the same center and radius within `eps`
53
+ * (default `1e-8`).
54
+ */
55
+ static sameCircle(center1: AcGePoint2dLike, radius1: number, center2: AcGePoint2dLike, radius2: number, eps?: number): boolean;
56
+ /**
57
+ * Lexicographic pick among nearest-point candidates: smaller `distSq` wins;
58
+ * on a near-tie, larger `align` wins.
59
+ */
60
+ static isBetterDistanceAlign(distSq: number, align: number, bestDistSq: number, bestAlign: number): boolean;
46
61
  /**
47
62
  * Create the unique arc from `start` through `through` to `end`.
48
63
  *
@@ -212,6 +227,15 @@ export declare class AcGeCircArc2d extends AcGeCurve2d {
212
227
  * @param point - Query point in WCS (XY).
213
228
  */
214
229
  nearestPoint(point: AcGePoint2dLike): AcGePoint2d;
230
+ /**
231
+ * How much `query - onCurve` points into this circular arc.
232
+ *
233
+ * Zero when `onCurve` is not an endpoint (within a relative tolerance), or
234
+ * when `query` coincides with `onCurve`. A positive value means `query` lies
235
+ * on this arc's interior side of `onCurve` — useful when two arcs share a
236
+ * vertex and nearest-point distances are equal.
237
+ */
238
+ inwardAlignment(onCurve: AcGePoint2dLike, query: AcGePoint2dLike): number;
215
239
  /**
216
240
  * Returns perpendicular snap point(s) on this arc from the given point.
217
241
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AcGeCircArc2d.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcGeCircArc2d.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2d.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EAEhB,MAAM,SAAS,CAAA;AAgBhB,OAAO,EACL,KAAK,kBAAkB,EAMxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAU;gBAEhB,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe;gBAC7D,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;gBAErE,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO;IA6CpB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,cAAc,CACnB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GACjB,aAAa;IAahB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,kBAAkB,GAAG,IAAI;IAI5B;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe;IAKxB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CACtB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,OAAO;IAIV;;;OAGG;IACH,MAAM,CAAC,UAAU,CACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO;IAIV;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO;IAIV;;;;;;;OAOG;IACH,MAAM,CAAC,sBAAsB,CAC3B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,eAAe,EACpB,gBAAgB,GAAE,OAAe,GAChC,aAAa,GAAG,IAAI;IAIvB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM;IAI9D;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,eAAe;IAIzE;;OAEG;IACH,MAAM,CAAC,4BAA4B,CACjC,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe;IAKrB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,eAAe;IAKzB;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,OAAO;IAKpB;;OAEG;IACH,MAAM,CAAC,kCAAkC,CACvC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,OAAO;IAUpB;;;OAGG;IACH,MAAM,CAAC,2BAA2B,CAChC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM;IAKlB;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAChC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,MAAM;IAKrB;;;OAGG;IACH,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM;IAKlB;;OAEG;IACH,MAAM,CAAC,4BAA4B,CACjC,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,YAAY,EAAE,MAAM;IAKtB;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAC9B,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,MAAM;IAKhB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,8BAA8B;IAkEtC;;OAEG;IACH,IAAI,MAAM,IAAI,WAAW,CAExB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,EAGhC;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAGvB;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAIvB;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAK3B;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EASzB;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,IAAI,UAAU,WAMb;IAED;;OAEG;IACH,IAAI,SAAS,IAGQ,OAAO,CAD3B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,WAAW,CAE5B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,WAAW,CAS1B;IAED;;OAEG;IACH,IAAI,MAAM,YAIT;IAED;;OAEG;IACH,oBAAoB,IAAI,SAAS;IA2BjC;;OAEG;IACH,IAAI,MAAM,WAET;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,YAAY;IAoD/B;;OAEG;IACH,KAAK;IAUL;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAO3C;;;OAGG;IACH,iBAAiB,IAAI,WAAW,EAAE;IAqBlC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,WAAW;IAiCjD;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAqBzE;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,WAAW,EAAE;IAiD1D;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,WAAW,EAAE;IAmCpD;;;;OAIG;IACH,SAAS,CAAC,SAAS,GAAE,MAAY,GAAG,WAAW,EAAE;CA6BlD"}
@@ -53,7 +53,7 @@ import { AcCmErrors } from '@mlightcad/common';
53
53
  import { AcGeBox2d, AcGePoint2d, AcGeVector2d } from '../math';
54
54
  import { AcGeMathUtil, TAU } from '../util';
55
55
  import { acgeTryCreateArcByCenterStartChord, acgeTryCreateArcByCenterStartEnd, acgeTryCreateArcByCenterStartProjectedEnd, acgeTryCreateArcByCenterStartSweep, acgeTryCreateArcByStartEndAngle, acgeTryCreateArcByStartEndDirection, acgeTryCreateArcByStartEndRadius, acgeTryCreateArcByThreePoints, acgeTryCreateCircle, acgeTryCreateCircleByDiameter, acgeTryCreateCircleByThreePoints, acgeTryCreateShorterArc } from './AcGeCircArc2dFactory';
56
- import { acgeComputeCircumcircle2d, acgeProjectPointOntoCircle2d } from './AcGeCircArcUtil';
56
+ import { acgeComputeCircumcircle2d, acgeIsBetterDistanceAlign, acgePointLiesOnCircle2d, acgeProjectPointOntoCircle2d, acgeSameCircle2d } from './AcGeCircArcUtil';
57
57
  import { AcGeCurve2d } from './AcGeCurve2d';
58
58
  /**
59
59
  * Represent a circular arc.
@@ -134,6 +134,27 @@ var AcGeCircArc2d = /** @class */ (function (_super) {
134
134
  AcGeCircArc2d.projectPoint = function (center, radius, point) {
135
135
  return acgeProjectPointOntoCircle2d(center, radius, point);
136
136
  };
137
+ /**
138
+ * True when `point` lies on the circle `(center, radius)` within a radial
139
+ * tolerance (default `max(1e-6, radius * 1e-5)`).
140
+ */
141
+ AcGeCircArc2d.pointLiesOnCircle = function (point, center, radius, eps) {
142
+ return acgePointLiesOnCircle2d(point, center, radius, eps);
143
+ };
144
+ /**
145
+ * True when two circles share the same center and radius within `eps`
146
+ * (default `1e-8`).
147
+ */
148
+ AcGeCircArc2d.sameCircle = function (center1, radius1, center2, radius2, eps) {
149
+ return acgeSameCircle2d(center1, radius1, center2, radius2, eps);
150
+ };
151
+ /**
152
+ * Lexicographic pick among nearest-point candidates: smaller `distSq` wins;
153
+ * on a near-tie, larger `align` wins.
154
+ */
155
+ AcGeCircArc2d.isBetterDistanceAlign = function (distSq, align, bestDistSq, bestAlign) {
156
+ return acgeIsBetterDistanceAlign(distSq, align, bestDistSq, bestAlign);
157
+ };
137
158
  /**
138
159
  * Create the unique arc from `start` through `through` to `end`.
139
160
  *
@@ -609,6 +630,36 @@ var AcGeCircArc2d = /** @class */ (function (_super) {
609
630
  var dEnd = p.distanceToSquared(this.endPoint);
610
631
  return dStart <= dEnd ? this.startPoint.clone() : this.endPoint.clone();
611
632
  };
633
+ /**
634
+ * How much `query - onCurve` points into this circular arc.
635
+ *
636
+ * Zero when `onCurve` is not an endpoint (within a relative tolerance), or
637
+ * when `query` coincides with `onCurve`. A positive value means `query` lies
638
+ * on this arc's interior side of `onCurve` — useful when two arcs share a
639
+ * vertex and nearest-point distances are equal.
640
+ */
641
+ AcGeCircArc2d.prototype.inwardAlignment = function (onCurve, query) {
642
+ var mx = query.x - onCurve.x;
643
+ var my = query.y - onCurve.y;
644
+ if (mx * mx + my * my < 1e-24)
645
+ return 0;
646
+ var r = this.radius > 0 ? this.radius : 1;
647
+ var endTolSq = Math.max(1e-16, 1e-12 * r * r);
648
+ var atStart = this.startPoint.distanceToSquared(onCurve) <= endTolSq;
649
+ var atEnd = this.endPoint.distanceToSquared(onCurve) <= endTolSq;
650
+ if (!atStart && !atEnd)
651
+ return 0;
652
+ var pts = this.getPoints(8);
653
+ if (pts.length < 3)
654
+ return 0;
655
+ var inward = atStart && !atEnd ? pts[1] : pts[pts.length - 2];
656
+ var ix = inward.x - onCurve.x;
657
+ var iy = inward.y - onCurve.y;
658
+ var ilen = Math.hypot(ix, iy);
659
+ if (!(ilen > 1e-18))
660
+ return 0;
661
+ return (mx * ix + my * iy) / ilen;
662
+ };
612
663
  /**
613
664
  * Returns perpendicular snap point(s) on this arc from the given point.
614
665
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AcGeCircArc2d.js","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcGeCircArc2d.js","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2d.ts"],"names":[],"mappings":"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"}
@@ -34,4 +34,22 @@ export declare function acgeDistance2d(p1: AcGePoint2dLike, p2: AcGePoint2dLike)
34
34
  * Return `null` when the point coincides with the center.
35
35
  */
36
36
  export declare function acgeProjectPointOntoCircle2d(center: AcGePoint2dLike, radius: number, point: AcGePoint2dLike): AcGePoint2d | null;
37
+ /**
38
+ * True when `point` lies on the circle `(center, radius)` within a radial
39
+ * tolerance. The default tolerance is `max(FLOAT_TOL, radius * 1e-5)`.
40
+ */
41
+ export declare function acgePointLiesOnCircle2d(point: AcGePoint2dLike, center: AcGePoint2dLike, radius: number, eps?: number): boolean;
42
+ /**
43
+ * True when two circles share the same center and radius within `eps`
44
+ * (default `1e-8`).
45
+ */
46
+ export declare function acgeSameCircle2d(center1: AcGePoint2dLike, radius1: number, center2: AcGePoint2dLike, radius2: number, eps?: number): boolean;
47
+ /**
48
+ * Lexicographic pick among nearest-point candidates: smaller `distSq` wins;
49
+ * on a near-tie, larger `align` wins.
50
+ *
51
+ * Use this when two geometries share a vertex so nearest-point distances are
52
+ * equal and a later-wins compare would always take the second candidate.
53
+ */
54
+ export declare function acgeIsBetterDistanceAlign(distSq: number, align: number, bestDistSq: number, bestAlign: number): boolean;
37
55
  //# sourceMappingURL=AcGeCircArcUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcGeCircArcUtil.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArcUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EAEhB,MAAM,SAAS,CAAA;AAGhB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,kBAAkB,GAAG,IAAI,CAuB3B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,GACjB,kBAAkB,GAAG,IAAI,CAqB3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,GACrB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,GACrB,WAAW,GAAG,IAAI,CAQpB"}
1
+ {"version":3,"file":"AcGeCircArcUtil.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArcUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EAEhB,MAAM,SAAS,CAAA;AAGhB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,kBAAkB,GAAG,IAAI,CAuB3B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,GACjB,kBAAkB,GAAG,IAAI,CAqB3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,GACrB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,GACrB,WAAW,GAAG,IAAI,CAQpB;AAOD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAA6B,GACjC,OAAO,CAMT;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAKT"}
@@ -80,4 +80,41 @@ export function acgeProjectPointOntoCircle2d(center, radius, point) {
80
80
  var scale = radius / distance;
81
81
  return new AcGePoint2d(center.x + dx * scale, center.y + dy * scale);
82
82
  }
83
+ /**
84
+ * Default absolute tolerance when comparing two circle centers/radii in XY.
85
+ */
86
+ var ACGE_SAME_CIRCLE_EPS = 1e-8;
87
+ /**
88
+ * True when `point` lies on the circle `(center, radius)` within a radial
89
+ * tolerance. The default tolerance is `max(FLOAT_TOL, radius * 1e-5)`.
90
+ */
91
+ export function acgePointLiesOnCircle2d(point, center, radius, eps) {
92
+ var radial = Math.abs(acgeDistance2d(point, center) - radius);
93
+ return radial <= (eps !== null && eps !== void 0 ? eps : Math.max(FLOAT_TOL, radius * 1e-5));
94
+ }
95
+ /**
96
+ * True when two circles share the same center and radius within `eps`
97
+ * (default `1e-8`).
98
+ */
99
+ export function acgeSameCircle2d(center1, radius1, center2, radius2, eps) {
100
+ if (eps === void 0) { eps = ACGE_SAME_CIRCLE_EPS; }
101
+ return (Math.abs(center1.x - center2.x) <= eps &&
102
+ Math.abs(center1.y - center2.y) <= eps &&
103
+ Math.abs(radius1 - radius2) <= eps);
104
+ }
105
+ /**
106
+ * Lexicographic pick among nearest-point candidates: smaller `distSq` wins;
107
+ * on a near-tie, larger `align` wins.
108
+ *
109
+ * Use this when two geometries share a vertex so nearest-point distances are
110
+ * equal and a later-wins compare would always take the second candidate.
111
+ */
112
+ export function acgeIsBetterDistanceAlign(distSq, align, bestDistSq, bestAlign) {
113
+ var tie = Math.max(1e-18, Math.abs(bestDistSq) * 1e-9);
114
+ if (distSq < bestDistSq - tie)
115
+ return true;
116
+ if (distSq > bestDistSq + tie)
117
+ return false;
118
+ return align > bestAlign;
119
+ }
83
120
  //# sourceMappingURL=AcGeCircArcUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcGeCircArcUtil.js","sourceRoot":"","sources":["../../src/geometry/AcGeCircArcUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcGeCircArcUtil.js","sourceRoot":"","sources":["../../src/geometry/AcGeCircArcUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,WAAW,EAEX,YAAY,EACb,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAkB5C;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,EAAmB,EACnB,EAAmB,EACnB,EAAmB;IAEnB,IAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACf,IAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACf,IAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACf,IAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACf,IAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACf,IAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACf,IAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IAChE,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,IAAM,EAAE,GACN,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QAC9B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QAC/B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,CAAC,CAAA;IACH,IAAM,EAAE,GACN,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QAC9B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;QAC/B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,CAAC,CAAA;IACH,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1E,OAAO,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,QAAA,EAAE,CAAA;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,CAAkB,EAClB,CAAkB,EAClB,CAAkB;;IAElB,IAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACd,IAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACd,IAAM,EAAE,GAAG,MAAA,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAA;IACnB,IAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAA,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IAChE,IAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAA,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IAChE,IAAM,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,IAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACvB,IAAI,EAAE,GAAG,SAAS,GAAG,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3C,IAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IACzB,IAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IACzB,IAAM,MAAM,GAAG,IAAI,YAAY,EAAE;SAC9B,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC;SACnB,cAAc,CAAC,GAAG,CAAC;SACnB,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SAC/D,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC/B,IAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3E,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;IACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC1E,OAAO,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,CAAA;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAuB,EACvB,KAAsB;IAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAmB,EACnB,EAAmB;IAEnB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAuB,EACvB,MAAc,EACd,KAAsB;IAEtB,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;IAC7B,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;IAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,IAAM,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAA;IAC/B,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;AACtE,CAAC;AAED;;GAEG;AACH,IAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAsB,EACtB,MAAuB,EACvB,MAAc,EACd,GAAY;IAEZ,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;IAC/D,OAAO,MAAM,IAAI,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAwB,EACxB,OAAe,EACf,OAAwB,EACxB,OAAe,EACf,GAAkC;IAAlC,oBAAA,EAAA,0BAAkC;IAElC,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG;QACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG;QACtC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,CACnC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,KAAa,EACb,UAAkB,EAClB,SAAiB;IAEjB,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;IACxD,IAAI,MAAM,GAAG,UAAU,GAAG,GAAG;QAAE,OAAO,IAAI,CAAA;IAC1C,IAAI,MAAM,GAAG,UAAU,GAAG,GAAG;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,KAAK,GAAG,SAAS,CAAA;AAC1B,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { AcGeMatrix3d, AcGePlane, AcGePoint3d } from '../math';
2
+ import { AcGeCircArc3d } from './AcGeCircArc3d';
3
+ import { AcGeEllipseArc3d } from './AcGeEllipseArc3d';
4
+ import { AcGeLine3d } from './AcGeLine3d';
5
+ import { AcGeSpline3d } from './AcGeSpline3d';
6
+ /** Natural parameter interval of a linear primitive. */
7
+ export type AcGeCurveExtent = 'bounded' | 'ray' | 'unbounded';
8
+ type AcGeIntersectPrimitiveBase = {
9
+ /**
10
+ * When false, `extend` flags passed to {@link acgeIntersectCurves} do not
11
+ * change this primitive. Open polyline interior segments and closed-loop
12
+ * edges set this false. Default true.
13
+ */
14
+ extendable?: boolean;
15
+ };
16
+ /**
17
+ * A WCS curve primitive used by {@link acgeIntersectCurves}.
18
+ *
19
+ * Linear primitives carry an {@link AcGeCurveExtent}. Arcs and ellipses use
20
+ * their stored start/end angles; when extended they are treated as the full
21
+ * circle or ellipse.
22
+ */
23
+ export type AcGeIntersectPrimitive = (AcGeIntersectPrimitiveBase & {
24
+ kind: 'line';
25
+ line: AcGeLine3d;
26
+ extent: AcGeCurveExtent;
27
+ }) | (AcGeIntersectPrimitiveBase & {
28
+ kind: 'circArc';
29
+ arc: AcGeCircArc3d;
30
+ }) | (AcGeIntersectPrimitiveBase & {
31
+ kind: 'ellipseArc';
32
+ arc: AcGeEllipseArc3d;
33
+ }) | (AcGeIntersectPrimitiveBase & {
34
+ kind: 'spline';
35
+ spline: AcGeSpline3d;
36
+ });
37
+ /**
38
+ * Finds intersection points between two sets of curve primitives.
39
+ *
40
+ * `extendA` / `extendB` correspond to ObjectARX `AcDb::Intersect` flags for
41
+ * the two operands. A primitive is only extended when `extendable` is not
42
+ * `false`. Overlapping coincident curves do not produce a continuum of points.
43
+ *
44
+ * When `projPlane` is provided, both operands are projected onto that plane
45
+ * first (apparent intersection). Result points lie on the plane.
46
+ *
47
+ * @param a - Primitives from the first operand
48
+ * @param b - Primitives from the second operand
49
+ * @param extendA - Extend the first operand when its primitives allow it
50
+ * @param extendB - Extend the second operand when its primitives allow it
51
+ * @param projPlane - Optional projection plane for apparent intersection
52
+ * @returns Intersection points in WCS, de-duplicated by the equal-point tolerance
53
+ */
54
+ export declare function acgeIntersectCurves(a: readonly AcGeIntersectPrimitive[], b: readonly AcGeIntersectPrimitive[], extendA?: boolean, extendB?: boolean, projPlane?: AcGePlane): AcGePoint3d[];
55
+ /**
56
+ * Returns a transformed copy of a curve primitive.
57
+ */
58
+ export declare function acgeTransformIntersectPrimitive(primitive: AcGeIntersectPrimitive, matrix: AcGeMatrix3d): AcGeIntersectPrimitive;
59
+ /**
60
+ * Returns a deep-cloned curve primitive.
61
+ */
62
+ export declare function acgeCloneIntersectPrimitive(primitive: AcGeIntersectPrimitive): AcGeIntersectPrimitive;
63
+ export {};
64
+ //# sourceMappingURL=AcGeCurveIntersect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGeCurveIntersect.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCurveIntersect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,SAAS,EACT,WAAW,EAEZ,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,WAAW,CAAA;AAE7D,KAAK,0BAA0B,GAAG;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAC9B,CAAC,0BAA0B,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,eAAe,CAAA;CACxB,CAAC,GACF,CAAC,0BAA0B,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,aAAa,CAAA;CACnB,CAAC,GACF,CAAC,0BAA0B,GAAG;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,GAAG,EAAE,gBAAgB,CAAA;CACtB,CAAC,GACF,CAAC,0BAA0B,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;CACrB,CAAC,CAAA;AAON;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,SAAS,sBAAsB,EAAE,EACpC,CAAC,EAAE,SAAS,sBAAsB,EAAE,EACpC,OAAO,UAAQ,EACf,OAAO,UAAQ,EACf,SAAS,CAAC,EAAE,SAAS,GACpB,WAAW,EAAE,CAWf;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,sBAAsB,EACjC,MAAM,EAAE,YAAY,GACnB,sBAAsB,CAgBxB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,sBAAsB,GAChC,sBAAsB,CA4BxB"}