@mlightcad/geometry-engine 3.13.0 → 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.
- package/dist/geometry-engine.umd.cjs +1 -1
- package/lib/geometry/AcGeCircArc2d.d.ts +103 -0
- package/lib/geometry/AcGeCircArc2d.d.ts.map +1 -1
- package/lib/geometry/AcGeCircArc2d.js +174 -38
- package/lib/geometry/AcGeCircArc2d.js.map +1 -1
- package/lib/geometry/AcGeCircArc2dFactory.d.ts +57 -0
- package/lib/geometry/AcGeCircArc2dFactory.d.ts.map +1 -0
- package/lib/geometry/AcGeCircArc2dFactory.js +209 -0
- package/lib/geometry/AcGeCircArc2dFactory.js.map +1 -0
- package/lib/geometry/AcGeCircArc3d.d.ts +10 -1
- package/lib/geometry/AcGeCircArc3d.d.ts.map +1 -1
- package/lib/geometry/AcGeCircArc3d.js +45 -50
- package/lib/geometry/AcGeCircArc3d.js.map +1 -1
- package/lib/geometry/AcGeCircArcUtil.d.ts +55 -0
- package/lib/geometry/AcGeCircArcUtil.d.ts.map +1 -0
- package/lib/geometry/AcGeCircArcUtil.js +120 -0
- package/lib/geometry/AcGeCircArcUtil.js.map +1 -0
- 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 +4 -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 +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/util/AcGeMathUtil.d.ts +7 -1
- package/lib/util/AcGeMathUtil.d.ts.map +1 -1
- package/lib/util/AcGeMathUtil.js +11 -1
- package/lib/util/AcGeMathUtil.js.map +1 -1
- package/lib/util/index.d.ts +1 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -1
- package/lib/util/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
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"}
|