@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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AcGeBox2d, AcGeMatrix2d, AcGePoint2d, AcGePoint2dLike } from '../math';
|
|
2
|
+
import { type AcGeCircumcircle2d } from './AcGeCircArcUtil';
|
|
2
3
|
import { AcGeCurve2d } from './AcGeCurve2d';
|
|
3
4
|
/**
|
|
4
5
|
* Represent a circular arc.
|
|
@@ -20,6 +21,99 @@ export declare class AcGeCircArc2d extends AcGeCurve2d {
|
|
|
20
21
|
constructor(p1: AcGePoint2dLike, p2: AcGePoint2dLike, p3: AcGePoint2dLike);
|
|
21
22
|
constructor(start: AcGePoint2dLike, end: AcGePoint2dLike, bulge: number);
|
|
22
23
|
constructor(center: AcGePoint2dLike, radius: number, startAngle: number, endAngle: number, clockwise: boolean);
|
|
24
|
+
/**
|
|
25
|
+
* Create an arc from mathematical (unmirrored) polar angles.
|
|
26
|
+
*
|
|
27
|
+
* `startAngle` / `endAngle` are `atan2` angles in the XY plane (0 = +X,
|
|
28
|
+
* 90° = +Y). This differs from the five-argument constructor, whose angles
|
|
29
|
+
* are mirrored when `clockwise` is true.
|
|
30
|
+
*
|
|
31
|
+
* @param center Input arc center
|
|
32
|
+
* @param radius Input arc radius
|
|
33
|
+
* @param startAngle Input start angle in radians (`atan2`)
|
|
34
|
+
* @param endAngle Input end angle in radians (`atan2`)
|
|
35
|
+
* @param clockwise Input true to sweep clockwise from start to end
|
|
36
|
+
*/
|
|
37
|
+
static fromMathAngles(center: AcGePoint2dLike, radius: number, startAngle: number, endAngle: number, clockwise: boolean): AcGeCircArc2d;
|
|
38
|
+
/**
|
|
39
|
+
* Return the circumcircle of three XY points, or `null` when they are collinear.
|
|
40
|
+
*/
|
|
41
|
+
static computeCircumcircle(p1: AcGePoint2dLike, p2: AcGePoint2dLike, p3: AcGePoint2dLike): AcGeCircumcircle2d | null;
|
|
42
|
+
/**
|
|
43
|
+
* Project `point` radially onto the circle `(center, radius)`.
|
|
44
|
+
*/
|
|
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;
|
|
61
|
+
/**
|
|
62
|
+
* Create the unique arc from `start` through `through` to `end`.
|
|
63
|
+
*
|
|
64
|
+
* The through point selects the major or minor sweep, including arcs greater
|
|
65
|
+
* than 180°. Return `null` when the points are collinear.
|
|
66
|
+
*
|
|
67
|
+
* @param reverseDirection Input true to take the complementary sweep
|
|
68
|
+
*/
|
|
69
|
+
static tryCreateByThreePoints(start: AcGePoint2dLike, through: AcGePoint2dLike, end: AcGePoint2dLike, reverseDirection?: boolean): AcGeCircArc2d | null;
|
|
70
|
+
/**
|
|
71
|
+
* Create a full circle from center and radius.
|
|
72
|
+
*/
|
|
73
|
+
static tryCreateCircle(center: AcGePoint2dLike, radius: number): AcGeCircArc2d | null;
|
|
74
|
+
/**
|
|
75
|
+
* Create a full circle whose diameter is the segment `p1`–`p2`.
|
|
76
|
+
*/
|
|
77
|
+
static tryCreateCircleByDiameter(p1: AcGePoint2dLike, p2: AcGePoint2dLike): AcGeCircArc2d | null;
|
|
78
|
+
/**
|
|
79
|
+
* Create a full circle through three non-collinear points.
|
|
80
|
+
*/
|
|
81
|
+
static tryCreateCircleByThreePoints(p1: AcGePoint2dLike, p2: AcGePoint2dLike, p3: AcGePoint2dLike): AcGeCircArc2d | null;
|
|
82
|
+
/**
|
|
83
|
+
* Create the shorter arc from `start` to `end` on the circle at `center`.
|
|
84
|
+
*/
|
|
85
|
+
static tryCreateShorterArc(start: AcGePoint2dLike, end: AcGePoint2dLike, center: AcGePoint2dLike): AcGeCircArc2d | null;
|
|
86
|
+
/**
|
|
87
|
+
* Create an arc from center, start, and end with an explicit orientation.
|
|
88
|
+
*/
|
|
89
|
+
static tryCreateByCenterStartEnd(center: AcGePoint2dLike, start: AcGePoint2dLike, end: AcGePoint2dLike, clockwise: boolean): AcGeCircArc2d | null;
|
|
90
|
+
/**
|
|
91
|
+
* Create a center-start arc whose end is the radial projection of `rawEnd`.
|
|
92
|
+
*/
|
|
93
|
+
static tryCreateByCenterStartProjectedEnd(center: AcGePoint2dLike, start: AcGePoint2dLike, rawEnd: AcGePoint2dLike, clockwise: boolean): AcGeCircArc2d | null;
|
|
94
|
+
/**
|
|
95
|
+
* Create a center-start arc from a signed included angle.
|
|
96
|
+
* Positive sweep is counterclockwise.
|
|
97
|
+
*/
|
|
98
|
+
static tryCreateByCenterStartSweep(center: AcGePoint2dLike, start: AcGePoint2dLike, sweepRad: number): AcGeCircArc2d | null;
|
|
99
|
+
/**
|
|
100
|
+
* Create a center-start arc from a signed chord length.
|
|
101
|
+
*/
|
|
102
|
+
static tryCreateByCenterStartChord(center: AcGePoint2dLike, start: AcGePoint2dLike, chordLength: number): AcGeCircArc2d | null;
|
|
103
|
+
/**
|
|
104
|
+
* Create a start-end arc from a signed included angle.
|
|
105
|
+
* Positive sweep is counterclockwise.
|
|
106
|
+
*/
|
|
107
|
+
static tryCreateByStartEndAngle(start: AcGePoint2dLike, end: AcGePoint2dLike, sweepRad: number): AcGeCircArc2d | null;
|
|
108
|
+
/**
|
|
109
|
+
* Create a start-end arc from a tangent direction at the start point.
|
|
110
|
+
*/
|
|
111
|
+
static tryCreateByStartEndDirection(start: AcGePoint2dLike, end: AcGePoint2dLike, directionRad: number): AcGeCircArc2d | null;
|
|
112
|
+
/**
|
|
113
|
+
* Create a start-end arc from a signed radius.
|
|
114
|
+
* Positive radius is counterclockwise.
|
|
115
|
+
*/
|
|
116
|
+
static tryCreateByStartEndRadius(start: AcGePoint2dLike, end: AcGePoint2dLike, radius: number): AcGeCircArc2d | null;
|
|
23
117
|
/**
|
|
24
118
|
* Create arc by three points
|
|
25
119
|
* @param p1 Input the start point
|
|
@@ -133,6 +227,15 @@ export declare class AcGeCircArc2d extends AcGeCurve2d {
|
|
|
133
227
|
* @param point - Query point in WCS (XY).
|
|
134
228
|
*/
|
|
135
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;
|
|
136
239
|
/**
|
|
137
240
|
* Returns perpendicular snap point(s) on this arc from the given point.
|
|
138
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;
|
|
1
|
+
{"version":3,"file":"AcGeCircArc2d.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2d.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,8 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
52
52
|
import { AcCmErrors } from '@mlightcad/common';
|
|
53
53
|
import { AcGeBox2d, AcGePoint2d, AcGeVector2d } from '../math';
|
|
54
54
|
import { AcGeMathUtil, TAU } from '../util';
|
|
55
|
+
import { acgeTryCreateArcByCenterStartChord, acgeTryCreateArcByCenterStartEnd, acgeTryCreateArcByCenterStartProjectedEnd, acgeTryCreateArcByCenterStartSweep, acgeTryCreateArcByStartEndAngle, acgeTryCreateArcByStartEndDirection, acgeTryCreateArcByStartEndRadius, acgeTryCreateArcByThreePoints, acgeTryCreateCircle, acgeTryCreateCircleByDiameter, acgeTryCreateCircleByThreePoints, acgeTryCreateShorterArc } from './AcGeCircArc2dFactory';
|
|
56
|
+
import { acgeComputeCircumcircle2d, acgeIsBetterDistanceAlign, acgePointLiesOnCircle2d, acgeProjectPointOntoCircle2d, acgeSameCircle2d } from './AcGeCircArcUtil';
|
|
55
57
|
import { AcGeCurve2d } from './AcGeCurve2d';
|
|
56
58
|
/**
|
|
57
59
|
* Represent a circular arc.
|
|
@@ -101,6 +103,139 @@ var AcGeCircArc2d = /** @class */ (function (_super) {
|
|
|
101
103
|
}
|
|
102
104
|
return _this;
|
|
103
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Create an arc from mathematical (unmirrored) polar angles.
|
|
108
|
+
*
|
|
109
|
+
* `startAngle` / `endAngle` are `atan2` angles in the XY plane (0 = +X,
|
|
110
|
+
* 90° = +Y). This differs from the five-argument constructor, whose angles
|
|
111
|
+
* are mirrored when `clockwise` is true.
|
|
112
|
+
*
|
|
113
|
+
* @param center Input arc center
|
|
114
|
+
* @param radius Input arc radius
|
|
115
|
+
* @param startAngle Input start angle in radians (`atan2`)
|
|
116
|
+
* @param endAngle Input end angle in radians (`atan2`)
|
|
117
|
+
* @param clockwise Input true to sweep clockwise from start to end
|
|
118
|
+
*/
|
|
119
|
+
AcGeCircArc2d.fromMathAngles = function (center, radius, startAngle, endAngle, clockwise) {
|
|
120
|
+
var arc = new AcGeCircArc2d(center, radius, AcGeMathUtil.normalizeAngle(startAngle), AcGeMathUtil.normalizeAngle(endAngle), false);
|
|
121
|
+
arc._clockwise = clockwise;
|
|
122
|
+
arc._boundingBoxNeedsUpdate = true;
|
|
123
|
+
return arc;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Return the circumcircle of three XY points, or `null` when they are collinear.
|
|
127
|
+
*/
|
|
128
|
+
AcGeCircArc2d.computeCircumcircle = function (p1, p2, p3) {
|
|
129
|
+
return acgeComputeCircumcircle2d(p1, p2, p3);
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Project `point` radially onto the circle `(center, radius)`.
|
|
133
|
+
*/
|
|
134
|
+
AcGeCircArc2d.projectPoint = function (center, radius, point) {
|
|
135
|
+
return acgeProjectPointOntoCircle2d(center, radius, point);
|
|
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
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Create the unique arc from `start` through `through` to `end`.
|
|
160
|
+
*
|
|
161
|
+
* The through point selects the major or minor sweep, including arcs greater
|
|
162
|
+
* than 180°. Return `null` when the points are collinear.
|
|
163
|
+
*
|
|
164
|
+
* @param reverseDirection Input true to take the complementary sweep
|
|
165
|
+
*/
|
|
166
|
+
AcGeCircArc2d.tryCreateByThreePoints = function (start, through, end, reverseDirection) {
|
|
167
|
+
if (reverseDirection === void 0) { reverseDirection = false; }
|
|
168
|
+
return acgeTryCreateArcByThreePoints(start, through, end, reverseDirection);
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Create a full circle from center and radius.
|
|
172
|
+
*/
|
|
173
|
+
AcGeCircArc2d.tryCreateCircle = function (center, radius) {
|
|
174
|
+
return acgeTryCreateCircle(center, radius);
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Create a full circle whose diameter is the segment `p1`–`p2`.
|
|
178
|
+
*/
|
|
179
|
+
AcGeCircArc2d.tryCreateCircleByDiameter = function (p1, p2) {
|
|
180
|
+
return acgeTryCreateCircleByDiameter(p1, p2);
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Create a full circle through three non-collinear points.
|
|
184
|
+
*/
|
|
185
|
+
AcGeCircArc2d.tryCreateCircleByThreePoints = function (p1, p2, p3) {
|
|
186
|
+
return acgeTryCreateCircleByThreePoints(p1, p2, p3);
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Create the shorter arc from `start` to `end` on the circle at `center`.
|
|
190
|
+
*/
|
|
191
|
+
AcGeCircArc2d.tryCreateShorterArc = function (start, end, center) {
|
|
192
|
+
return acgeTryCreateShorterArc(start, end, center);
|
|
193
|
+
};
|
|
194
|
+
/**
|
|
195
|
+
* Create an arc from center, start, and end with an explicit orientation.
|
|
196
|
+
*/
|
|
197
|
+
AcGeCircArc2d.tryCreateByCenterStartEnd = function (center, start, end, clockwise) {
|
|
198
|
+
return acgeTryCreateArcByCenterStartEnd(center, start, end, clockwise);
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Create a center-start arc whose end is the radial projection of `rawEnd`.
|
|
202
|
+
*/
|
|
203
|
+
AcGeCircArc2d.tryCreateByCenterStartProjectedEnd = function (center, start, rawEnd, clockwise) {
|
|
204
|
+
return acgeTryCreateArcByCenterStartProjectedEnd(center, start, rawEnd, clockwise);
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Create a center-start arc from a signed included angle.
|
|
208
|
+
* Positive sweep is counterclockwise.
|
|
209
|
+
*/
|
|
210
|
+
AcGeCircArc2d.tryCreateByCenterStartSweep = function (center, start, sweepRad) {
|
|
211
|
+
return acgeTryCreateArcByCenterStartSweep(center, start, sweepRad);
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* Create a center-start arc from a signed chord length.
|
|
215
|
+
*/
|
|
216
|
+
AcGeCircArc2d.tryCreateByCenterStartChord = function (center, start, chordLength) {
|
|
217
|
+
return acgeTryCreateArcByCenterStartChord(center, start, chordLength);
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Create a start-end arc from a signed included angle.
|
|
221
|
+
* Positive sweep is counterclockwise.
|
|
222
|
+
*/
|
|
223
|
+
AcGeCircArc2d.tryCreateByStartEndAngle = function (start, end, sweepRad) {
|
|
224
|
+
return acgeTryCreateArcByStartEndAngle(start, end, sweepRad);
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Create a start-end arc from a tangent direction at the start point.
|
|
228
|
+
*/
|
|
229
|
+
AcGeCircArc2d.tryCreateByStartEndDirection = function (start, end, directionRad) {
|
|
230
|
+
return acgeTryCreateArcByStartEndDirection(start, end, directionRad);
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Create a start-end arc from a signed radius.
|
|
234
|
+
* Positive radius is counterclockwise.
|
|
235
|
+
*/
|
|
236
|
+
AcGeCircArc2d.tryCreateByStartEndRadius = function (start, end, radius) {
|
|
237
|
+
return acgeTryCreateArcByStartEndRadius(start, end, radius);
|
|
238
|
+
};
|
|
104
239
|
/**
|
|
105
240
|
* Create arc by three points
|
|
106
241
|
* @param p1 Input the start point
|
|
@@ -108,44 +243,15 @@ var AcGeCircArc2d = /** @class */ (function (_super) {
|
|
|
108
243
|
* @param p3 Input the end point
|
|
109
244
|
*/
|
|
110
245
|
AcGeCircArc2d.prototype.createByThreePoints = function (p1, p2, p3) {
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var midpoint2 = midpoint(p2, p3);
|
|
121
|
-
var slope1 = slope(p1, p2);
|
|
122
|
-
var slope2 = slope(p2, p3);
|
|
123
|
-
var perpSlope1 = perpSlope(slope1);
|
|
124
|
-
var perpSlope2 = perpSlope(slope2);
|
|
125
|
-
var intersect = function (m1, b1, m2, b2) {
|
|
126
|
-
var x = (b2 - b1) / (m1 - m2);
|
|
127
|
-
var y = m1 * x + b1;
|
|
128
|
-
return { x: x, y: y };
|
|
129
|
-
};
|
|
130
|
-
var b1 = midpoint1.y - perpSlope1 * midpoint1.x;
|
|
131
|
-
var b2 = midpoint2.y - perpSlope2 * midpoint2.x;
|
|
132
|
-
var center = intersect(perpSlope1, b1, perpSlope2, b2);
|
|
133
|
-
var radius = Math.sqrt(Math.pow(p1.x - center.x, 2) + Math.pow(p1.y - center.y, 2));
|
|
134
|
-
var angle = function (p, center) {
|
|
135
|
-
return Math.atan2(p.y - center.y, p.x - center.x);
|
|
136
|
-
};
|
|
137
|
-
var startAngle = angle(p1, center);
|
|
138
|
-
var midAngle = angle(p2, center);
|
|
139
|
-
var endAngle = angle(p3, center);
|
|
140
|
-
var isCounterclockwise = (endAngle > startAngle && endAngle < midAngle) ||
|
|
141
|
-
(startAngle > endAngle && startAngle < midAngle) ||
|
|
142
|
-
(midAngle > endAngle && midAngle < startAngle);
|
|
143
|
-
this.center = center;
|
|
144
|
-
this.radius = radius;
|
|
145
|
-
this._clockwise = !isCounterclockwise;
|
|
146
|
-
// Store internal angles (unmirrored)
|
|
147
|
-
this._startAngle = startAngle;
|
|
148
|
-
this._endAngle = endAngle;
|
|
246
|
+
var arc = acgeTryCreateArcByThreePoints(p1, p2, p3);
|
|
247
|
+
if (!arc)
|
|
248
|
+
throw AcCmErrors.ILLEGAL_PARAMETERS;
|
|
249
|
+
this.center = arc.center;
|
|
250
|
+
this.radius = arc.radius;
|
|
251
|
+
this._clockwise = arc._clockwise;
|
|
252
|
+
this._startAngle = arc._startAngle;
|
|
253
|
+
this._endAngle = arc._endAngle;
|
|
254
|
+
this._boundingBoxNeedsUpdate = true;
|
|
149
255
|
};
|
|
150
256
|
/**
|
|
151
257
|
* Create circular arc by two points and one bugle factor
|
|
@@ -524,6 +630,36 @@ var AcGeCircArc2d = /** @class */ (function (_super) {
|
|
|
524
630
|
var dEnd = p.distanceToSquared(this.endPoint);
|
|
525
631
|
return dStart <= dEnd ? this.startPoint.clone() : this.endPoint.clone();
|
|
526
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
|
+
};
|
|
527
663
|
/**
|
|
528
664
|
* Returns perpendicular snap point(s) on this arc from the given point.
|
|
529
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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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AcGePoint2dLike } from '../math';
|
|
2
|
+
import { AcGeCircArc2d } from './AcGeCircArc2d';
|
|
3
|
+
/**
|
|
4
|
+
* Create the unique circular arc from `start` through `through` to `end`.
|
|
5
|
+
*
|
|
6
|
+
* When `reverseDirection` is true, the complementary sweep between the same
|
|
7
|
+
* endpoints is returned (AutoCAD Ctrl-toggle).
|
|
8
|
+
*/
|
|
9
|
+
export declare function acgeTryCreateArcByThreePoints(start: AcGePoint2dLike, through: AcGePoint2dLike, end: AcGePoint2dLike, reverseDirection?: boolean): AcGeCircArc2d | null;
|
|
10
|
+
/**
|
|
11
|
+
* Create a full circle from center and radius.
|
|
12
|
+
*/
|
|
13
|
+
export declare function acgeTryCreateCircle(center: AcGePoint2dLike, radius: number): AcGeCircArc2d | null;
|
|
14
|
+
/**
|
|
15
|
+
* Create a full circle whose diameter is the segment `p1`–`p2`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function acgeTryCreateCircleByDiameter(p1: AcGePoint2dLike, p2: AcGePoint2dLike): AcGeCircArc2d | null;
|
|
18
|
+
/**
|
|
19
|
+
* Create a full circle through three non-collinear points.
|
|
20
|
+
*/
|
|
21
|
+
export declare function acgeTryCreateCircleByThreePoints(p1: AcGePoint2dLike, p2: AcGePoint2dLike, p3: AcGePoint2dLike): AcGeCircArc2d | null;
|
|
22
|
+
/**
|
|
23
|
+
* Create the shorter arc from `start` to `end` on the circle at `center`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function acgeTryCreateShorterArc(start: AcGePoint2dLike, end: AcGePoint2dLike, center: AcGePoint2dLike): AcGeCircArc2d | null;
|
|
26
|
+
/**
|
|
27
|
+
* Create an arc from center, start, and end with an explicit orientation.
|
|
28
|
+
*/
|
|
29
|
+
export declare function acgeTryCreateArcByCenterStartEnd(center: AcGePoint2dLike, start: AcGePoint2dLike, end: AcGePoint2dLike, clockwise: boolean): AcGeCircArc2d | null;
|
|
30
|
+
/**
|
|
31
|
+
* Create a center-start arc whose end is the radial projection of `rawEnd`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function acgeTryCreateArcByCenterStartProjectedEnd(center: AcGePoint2dLike, start: AcGePoint2dLike, rawEnd: AcGePoint2dLike, clockwise: boolean): AcGeCircArc2d | null;
|
|
34
|
+
/**
|
|
35
|
+
* Create a center-start arc from a signed included angle.
|
|
36
|
+
* Positive sweep is counterclockwise.
|
|
37
|
+
*/
|
|
38
|
+
export declare function acgeTryCreateArcByCenterStartSweep(center: AcGePoint2dLike, start: AcGePoint2dLike, sweepRad: number): AcGeCircArc2d | null;
|
|
39
|
+
/**
|
|
40
|
+
* Create a center-start arc from a signed chord length.
|
|
41
|
+
*/
|
|
42
|
+
export declare function acgeTryCreateArcByCenterStartChord(center: AcGePoint2dLike, start: AcGePoint2dLike, chordLength: number): AcGeCircArc2d | null;
|
|
43
|
+
/**
|
|
44
|
+
* Create a start-end arc from a signed included angle.
|
|
45
|
+
* Positive sweep is counterclockwise.
|
|
46
|
+
*/
|
|
47
|
+
export declare function acgeTryCreateArcByStartEndAngle(start: AcGePoint2dLike, end: AcGePoint2dLike, sweepRad: number): AcGeCircArc2d | null;
|
|
48
|
+
/**
|
|
49
|
+
* Create a start-end arc from a tangent direction at the start point.
|
|
50
|
+
*/
|
|
51
|
+
export declare function acgeTryCreateArcByStartEndDirection(start: AcGePoint2dLike, end: AcGePoint2dLike, directionRad: number): AcGeCircArc2d | null;
|
|
52
|
+
/**
|
|
53
|
+
* Create a start-end arc from a signed radius.
|
|
54
|
+
* Positive radius is counterclockwise (+Z).
|
|
55
|
+
*/
|
|
56
|
+
export declare function acgeTryCreateArcByStartEndRadius(start: AcGePoint2dLike, end: AcGePoint2dLike, radiusInput: number): AcGeCircArc2d | null;
|
|
57
|
+
//# sourceMappingURL=AcGeCircArc2dFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcGeCircArc2dFactory.d.ts","sourceRoot":"","sources":["../../src/geometry/AcGeCircArc2dFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAQ/C;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,eAAe,EACpB,gBAAgB,GAAE,OAAe,GAChC,aAAa,GAAG,IAAI,CAmBtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,CAGtB;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,aAAa,GAAG,IAAI,CAOtB;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,eAAe,GAClB,aAAa,GAAG,IAAI,CAItB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,eAAe,GACtB,aAAa,GAAG,IAAI,CAatB;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,OAAO,GACjB,aAAa,GAAG,IAAI,CAkBtB;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,OAAO,GACjB,aAAa,GAAG,IAAI,CAMtB;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,IAAI,CAoBtB;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,IAAI,CAiBtB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,IAAI,CAyCtB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,YAAY,EAAE,MAAM,GACnB,aAAa,GAAG,IAAI,CAuBtB;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,IAAI,CAwBtB"}
|