@mlightcad/geometry-engine 3.13.1 → 3.14.1
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/geometry-engine.umd.cjs +1 -1
- package/lib/geometry/AcGeCircArc2d.d.ts +24 -0
- package/lib/geometry/AcGeCircArc2d.d.ts.map +1 -1
- package/lib/geometry/AcGeCircArc2d.js +52 -1
- package/lib/geometry/AcGeCircArc2d.js.map +1 -1
- package/lib/geometry/AcGeCircArcUtil.d.ts +18 -0
- package/lib/geometry/AcGeCircArcUtil.d.ts.map +1 -1
- package/lib/geometry/AcGeCircArcUtil.js +37 -0
- package/lib/geometry/AcGeCircArcUtil.js.map +1 -1
- package/lib/geometry/AcGeCurveIntersect.d.ts +64 -0
- package/lib/geometry/AcGeCurveIntersect.d.ts.map +1 -0
- package/lib/geometry/AcGeCurveIntersect.js +941 -0
- package/lib/geometry/AcGeCurveIntersect.js.map +1 -0
- package/lib/geometry/index.d.ts +3 -0
- package/lib/geometry/index.d.ts.map +1 -1
- package/lib/geometry/index.js +2 -0
- package/lib/geometry/index.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -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":"AAEA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EAEhB,MAAM,SAAS,CAAA;AAgBhB,OAAO,EACL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"AcGeCircArc2d.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2d.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|