plotboilerplate 1.28.1 → 1.30.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/README.md +8 -0
- package/dist/index.esm.js +527 -53
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +528 -51
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/Circle.d.ts +86 -3
- package/src/cjs/Circle.js +179 -4
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +34 -3
- package/src/cjs/CubicBezierCurve.js +79 -12
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +46 -1
- package/src/cjs/Line.js +80 -1
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/Triangle.d.ts +40 -4
- package/src/cjs/Triangle.js +127 -31
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +16 -2
- package/src/cjs/VertTuple.js +20 -2
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +25 -2
- package/src/cjs/Vertex.js +43 -1
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.d.ts +21 -0
- package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.js +73 -0
- package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.js.map +1 -0
- package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.d.ts +21 -0
- package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.js +73 -0
- package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.js.map +1 -0
- package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.d.ts +21 -0
- package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.js +73 -0
- package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.js.map +1 -0
- package/src/cjs/utils/algorithms/solveApollonius3.d.ts +69 -0
- package/src/cjs/utils/algorithms/solveApollonius3.js +118 -0
- package/src/cjs/utils/algorithms/solveApollonius3.js.map +1 -0
- package/src/esm/Circle.d.ts +86 -3
- package/src/esm/Circle.js +179 -4
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +34 -3
- package/src/esm/CubicBezierCurve.js +79 -12
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +46 -1
- package/src/esm/Line.js +80 -1
- package/src/esm/Line.js.map +1 -1
- package/src/esm/Triangle.d.ts +40 -4
- package/src/esm/Triangle.js +128 -32
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VertTuple.d.ts +16 -2
- package/src/esm/VertTuple.js +20 -2
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +25 -2
- package/src/esm/Vertex.js +44 -2
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.d.ts +21 -0
- package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.js +69 -0
- package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.js.map +1 -0
- package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.d.ts +21 -0
- package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.js +69 -0
- package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.js.map +1 -0
- package/src/esm/utils/algorithms/pointsMinimalContainingCircle.d.ts +21 -0
- package/src/esm/utils/algorithms/pointsMinimalContainingCircle.js +69 -0
- package/src/esm/utils/algorithms/pointsMinimalContainingCircle.js.map +1 -0
- package/src/esm/utils/algorithms/solveApollonius3.d.ts +69 -0
- package/src/esm/utils/algorithms/solveApollonius3.js +114 -0
- package/src/esm/utils/algorithms/solveApollonius3.js.map +1 -0
- package/src/index-gl.js +6 -4
- package/src/index.js +25 -17
- package/src/ts/Circle.ts +200 -5
- package/src/ts/CubicBezierCurve.ts +133 -48
- package/src/ts/Line.ts +84 -1
- package/src/ts/Triangle.ts +148 -41
- package/src/ts/VertTuple.ts +29 -2
- package/src/ts/Vertex.ts +44 -2
- package/src/ts/utils/algorithms/minimalEnclosingCircleFromPoints.ts +69 -0
- package/src/ts/utils/algorithms/solveApollonius3.ts +132 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/Line.d.ts
CHANGED
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
* @modified 2023-09-25 Changed param type of `intersection()` from Line to VertTuple.
|
|
19
19
|
* @modified 2025-04-15 Class `Line` now implements interface `Intersectable`.
|
|
20
20
|
* @modified 2025-04-16 Class `Line` now implements interface `IBounded`.
|
|
21
|
-
* @
|
|
21
|
+
* @modified 2026-08-16 Adding methods `Line.trimStart` and `Line.trimEnd`. Adding methods `Line.trimStartAt` and `Line.trimEndAt`.
|
|
22
|
+
* @version 2.5.0
|
|
22
23
|
*
|
|
23
24
|
* @file Line
|
|
24
25
|
* @public
|
|
@@ -109,6 +110,50 @@ export declare class Line extends VertTuple<Line> implements IBounded, Intersect
|
|
|
109
110
|
* @return {PathSegment} This path segment instance (for chaining).
|
|
110
111
|
*/
|
|
111
112
|
reverse(): Line;
|
|
113
|
+
/**
|
|
114
|
+
* Trim this line segment from the start point by the given amount.
|
|
115
|
+
* The amount must be positive and should be withing the segment's length. If the amount exceeds the segment's length
|
|
116
|
+
* then the length of the resulting line will be zero (0.0).
|
|
117
|
+
*
|
|
118
|
+
* @method trimStart
|
|
119
|
+
* @memberof Line
|
|
120
|
+
* @param {number} amount - The positive amount to trim the line from the start point `a`.
|
|
121
|
+
* @returns {Line} This for chaining, with updated point `a`.
|
|
122
|
+
*/
|
|
123
|
+
trimStart(amount: number): this;
|
|
124
|
+
/**
|
|
125
|
+
* Trim this line segment from the start point by the given relative amount.
|
|
126
|
+
* The amount must be positive and should be within 0.0 and 1.0. If the amount exceeds the segment's length
|
|
127
|
+
* then the length of the resulting line will be zero (0.0).
|
|
128
|
+
*
|
|
129
|
+
* @method trimStartAt
|
|
130
|
+
* @memberof Line
|
|
131
|
+
* @param {number} amount - The positive amount to trim the line from the start point `a`.
|
|
132
|
+
* @returns {Line} This for chaining, with updated point `a`.
|
|
133
|
+
*/
|
|
134
|
+
trimStartAt(relativeAmount: number): this;
|
|
135
|
+
/**
|
|
136
|
+
* Trim this line segment from the end point by the given amount.
|
|
137
|
+
* The amount must be positive and should be withing the segment's length. If the amount exceeds the segment's length
|
|
138
|
+
* then the length of the resulting line will be zero (0.0).
|
|
139
|
+
*
|
|
140
|
+
* @method trimEnd
|
|
141
|
+
* @memberof Line
|
|
142
|
+
* @param {number} amount - The positive amount to trim the line from the end point `b`.
|
|
143
|
+
* @returns {Line} This for chaining, with updated point `b`.
|
|
144
|
+
*/
|
|
145
|
+
trimEnd(amount: number): this;
|
|
146
|
+
/**
|
|
147
|
+
* Trim this line segment from the end point by the given relative amount.
|
|
148
|
+
* The amount must be positive and should be within 0.0 and 1.0. If the amount exceeds the segment's length
|
|
149
|
+
* then the length of the resulting line will be zero (0.0).
|
|
150
|
+
*
|
|
151
|
+
* @method trimEndAt
|
|
152
|
+
* @memberof Line
|
|
153
|
+
* @param {number} amount - The positive amount to trim the line from the start point `a`.
|
|
154
|
+
* @returns {Line} This for chaining, with updated point `a`.
|
|
155
|
+
*/
|
|
156
|
+
trimEndAt(relativeAmount: number): this;
|
|
112
157
|
/**
|
|
113
158
|
* Get all line intersections with this polygon.
|
|
114
159
|
*
|
package/src/cjs/Line.js
CHANGED
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
* @modified 2023-09-25 Changed param type of `intersection()` from Line to VertTuple.
|
|
20
20
|
* @modified 2025-04-15 Class `Line` now implements interface `Intersectable`.
|
|
21
21
|
* @modified 2025-04-16 Class `Line` now implements interface `IBounded`.
|
|
22
|
-
* @
|
|
22
|
+
* @modified 2026-08-16 Adding methods `Line.trimStart` and `Line.trimEnd`. Adding methods `Line.trimStartAt` and `Line.trimEndAt`.
|
|
23
|
+
* @version 2.5.0
|
|
23
24
|
*
|
|
24
25
|
* @file Line
|
|
25
26
|
* @public
|
|
@@ -169,6 +170,84 @@ var Line = /** @class */ (function (_super) {
|
|
|
169
170
|
return this;
|
|
170
171
|
};
|
|
171
172
|
//--- END Implement PathSegment ---
|
|
173
|
+
/**
|
|
174
|
+
* Trim this line segment from the start point by the given amount.
|
|
175
|
+
* The amount must be positive and should be withing the segment's length. If the amount exceeds the segment's length
|
|
176
|
+
* then the length of the resulting line will be zero (0.0).
|
|
177
|
+
*
|
|
178
|
+
* @method trimStart
|
|
179
|
+
* @memberof Line
|
|
180
|
+
* @param {number} amount - The positive amount to trim the line from the start point `a`.
|
|
181
|
+
* @returns {Line} This for chaining, with updated point `a`.
|
|
182
|
+
*/
|
|
183
|
+
Line.prototype.trimStart = function (amount) {
|
|
184
|
+
// Calculate the relative position `t` on this line.
|
|
185
|
+
var t = amount / this.length();
|
|
186
|
+
// `t` should be inside 0..1 – otherwise the amount was too large or negative.
|
|
187
|
+
if (t < 0.0) {
|
|
188
|
+
return this;
|
|
189
|
+
}
|
|
190
|
+
if (t > 1.0) {
|
|
191
|
+
// Set the line to length zero (endpoint only)
|
|
192
|
+
this.a = this.b.clone();
|
|
193
|
+
return this;
|
|
194
|
+
}
|
|
195
|
+
this.a = this.vertAt(t);
|
|
196
|
+
return this;
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Trim this line segment from the start point by the given relative amount.
|
|
200
|
+
* The amount must be positive and should be within 0.0 and 1.0. If the amount exceeds the segment's length
|
|
201
|
+
* then the length of the resulting line will be zero (0.0).
|
|
202
|
+
*
|
|
203
|
+
* @method trimStartAt
|
|
204
|
+
* @memberof Line
|
|
205
|
+
* @param {number} amount - The positive amount to trim the line from the start point `a`.
|
|
206
|
+
* @returns {Line} This for chaining, with updated point `a`.
|
|
207
|
+
*/
|
|
208
|
+
Line.prototype.trimStartAt = function (relativeAmount) {
|
|
209
|
+
// Calculate the relative position `t` on this line.
|
|
210
|
+
return this.trimStart(relativeAmount * this.length());
|
|
211
|
+
};
|
|
212
|
+
/**
|
|
213
|
+
* Trim this line segment from the end point by the given amount.
|
|
214
|
+
* The amount must be positive and should be withing the segment's length. If the amount exceeds the segment's length
|
|
215
|
+
* then the length of the resulting line will be zero (0.0).
|
|
216
|
+
*
|
|
217
|
+
* @method trimEnd
|
|
218
|
+
* @memberof Line
|
|
219
|
+
* @param {number} amount - The positive amount to trim the line from the end point `b`.
|
|
220
|
+
* @returns {Line} This for chaining, with updated point `b`.
|
|
221
|
+
*/
|
|
222
|
+
Line.prototype.trimEnd = function (amount) {
|
|
223
|
+
// Calculate the relative position `t` on this line.
|
|
224
|
+
var t = 1.0 - amount / this.length();
|
|
225
|
+
// `t` should be inside 0..1 – otherwise the amount was too large or negative.
|
|
226
|
+
if (t < 0.0) {
|
|
227
|
+
return this;
|
|
228
|
+
}
|
|
229
|
+
if (t > 1.0) {
|
|
230
|
+
// Set the line to length zero (endpoint only)
|
|
231
|
+
this.b = this.a.clone();
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
this.b = this.vertAt(t);
|
|
235
|
+
return this;
|
|
236
|
+
};
|
|
237
|
+
/**
|
|
238
|
+
* Trim this line segment from the end point by the given relative amount.
|
|
239
|
+
* The amount must be positive and should be within 0.0 and 1.0. If the amount exceeds the segment's length
|
|
240
|
+
* then the length of the resulting line will be zero (0.0).
|
|
241
|
+
*
|
|
242
|
+
* @method trimEndAt
|
|
243
|
+
* @memberof Line
|
|
244
|
+
* @param {number} amount - The positive amount to trim the line from the start point `a`.
|
|
245
|
+
* @returns {Line} This for chaining, with updated point `a`.
|
|
246
|
+
*/
|
|
247
|
+
Line.prototype.trimEndAt = function (relativeAmount) {
|
|
248
|
+
// Calculate the relative position `t` on this line.
|
|
249
|
+
return this.trimEnd(relativeAmount * this.length());
|
|
250
|
+
};
|
|
172
251
|
//--- BEGIN --- Implement interface `Intersectable`
|
|
173
252
|
/**
|
|
174
253
|
* Get all line intersections with this polygon.
|
package/src/cjs/Line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../ts/Line.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../ts/Line.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/Triangle.d.ts
CHANGED
|
@@ -27,14 +27,17 @@
|
|
|
27
27
|
* @modified 2025-14-16 Class `Triangle` now implements interface `IBounded`.
|
|
28
28
|
* @modified 2025-14-16 Class `Triangle` now implements interface `Intersectable`.
|
|
29
29
|
* @modified 2025-14-16 Added method `Triangle.move`.
|
|
30
|
-
* @
|
|
30
|
+
* @modified 2026-06-10 Refactoring the `Trianble.bounds` method and added a plain `Triangle.utils.bounds` method.
|
|
31
|
+
* @modified 2026-06-10 Refactoring the `Trianble.calcCircumCircle` method and added a plain `Triangle.utils.calcCircumCircle` method.
|
|
32
|
+
* @modified 2026-06-13 Adding `Triangle.getVertices()`.
|
|
33
|
+
* @version 2.11.0
|
|
31
34
|
*
|
|
32
35
|
* @file Triangle
|
|
33
36
|
* @fileoverview A simple triangle class: three vertices.
|
|
34
37
|
* @public
|
|
35
38
|
**/
|
|
36
39
|
import { Bounds } from "./Bounds";
|
|
37
|
-
import { Circle } from "./Circle";
|
|
40
|
+
import { Circle, ICircle } from "./Circle";
|
|
38
41
|
import { Line } from "./Line";
|
|
39
42
|
import { Polygon } from "./Polygon";
|
|
40
43
|
import { Vector } from "./Vector";
|
|
@@ -212,11 +215,21 @@ export declare class Triangle implements IBounded, SVGSerializable, Intersectabl
|
|
|
212
215
|
* after triangle vertex changes.
|
|
213
216
|
*
|
|
214
217
|
* @method getCircumcircle
|
|
215
|
-
* @return {
|
|
218
|
+
* @return {Circle} - The circle touching exactly all three triangle vertices.
|
|
216
219
|
* @instance
|
|
217
220
|
* @memberof Triangle
|
|
218
221
|
*/
|
|
219
222
|
getCircumcircle(): Circle;
|
|
223
|
+
/**
|
|
224
|
+
* Calculates the minimun enclosing circle.
|
|
225
|
+
*
|
|
226
|
+
* @method getMinimumEnclosingCircle
|
|
227
|
+
* @return {Object} - { center:Vertex, radius:float }
|
|
228
|
+
* @instance
|
|
229
|
+
* @memberof Triangle
|
|
230
|
+
* @returns
|
|
231
|
+
*/
|
|
232
|
+
getMinimumEnclosingCircle(): Circle;
|
|
220
233
|
/**
|
|
221
234
|
* Check if this triangle and the passed triangle share an
|
|
222
235
|
* adjacent edge.
|
|
@@ -243,6 +256,15 @@ export declare class Triangle implements IBounded, SVGSerializable, Intersectabl
|
|
|
243
256
|
* @memberof Triangle
|
|
244
257
|
*/
|
|
245
258
|
getThirdVertex(vert1: Vertex, vert2: Vertex): Vertex;
|
|
259
|
+
/**
|
|
260
|
+
* Get the three triangele vertices in a 3-element array.
|
|
261
|
+
*
|
|
262
|
+
* @method getVertices
|
|
263
|
+
* @returns {[Vertex, Vertex, Vertex]} - The three vertices – real instances, not copies.
|
|
264
|
+
* @instance
|
|
265
|
+
* @memberof Triangle
|
|
266
|
+
*/
|
|
267
|
+
getVertices(): [Vertex, Vertex, Vertex];
|
|
246
268
|
/**
|
|
247
269
|
* Re-compute the circumcircle of this triangle (if the vertices
|
|
248
270
|
* have changed).
|
|
@@ -387,6 +409,20 @@ export declare class Triangle implements IBounded, SVGSerializable, Intersectabl
|
|
|
387
409
|
* @param {XYCords} c - The first vertex.
|
|
388
410
|
* @returns {nmber}
|
|
389
411
|
*/
|
|
390
|
-
determinant(a: XYCoords, b: XYCoords, c: XYCoords)
|
|
412
|
+
determinant: (a: XYCoords, b: XYCoords, c: XYCoords) => number;
|
|
413
|
+
bounds: (a: XYCoords, b: XYCoords, c: XYCoords) => Bounds;
|
|
414
|
+
/**
|
|
415
|
+
* Re-compute the circumcircle of this triangle (if the vertices
|
|
416
|
+
* have changed).
|
|
417
|
+
*
|
|
418
|
+
* The circumcenter and radius are stored in this.center and
|
|
419
|
+
* this.radius. There is a third result: radius_squared (for internal computations).
|
|
420
|
+
*
|
|
421
|
+
* @method calcCircumcircle
|
|
422
|
+
* @return void
|
|
423
|
+
* @instance
|
|
424
|
+
* @memberof Triangle
|
|
425
|
+
*/
|
|
426
|
+
calcCircumcircle: (a: XYCoords, b: XYCoords, c: XYCoords) => ICircle;
|
|
391
427
|
};
|
|
392
428
|
}
|
package/src/cjs/Triangle.js
CHANGED
|
@@ -28,7 +28,10 @@
|
|
|
28
28
|
* @modified 2025-14-16 Class `Triangle` now implements interface `IBounded`.
|
|
29
29
|
* @modified 2025-14-16 Class `Triangle` now implements interface `Intersectable`.
|
|
30
30
|
* @modified 2025-14-16 Added method `Triangle.move`.
|
|
31
|
-
* @
|
|
31
|
+
* @modified 2026-06-10 Refactoring the `Trianble.bounds` method and added a plain `Triangle.utils.bounds` method.
|
|
32
|
+
* @modified 2026-06-10 Refactoring the `Trianble.calcCircumCircle` method and added a plain `Triangle.utils.calcCircumCircle` method.
|
|
33
|
+
* @modified 2026-06-13 Adding `Triangle.getVertices()`.
|
|
34
|
+
* @version 2.11.0
|
|
32
35
|
*
|
|
33
36
|
* @file Triangle
|
|
34
37
|
* @fileoverview A simple triangle class: three vertices.
|
|
@@ -42,6 +45,7 @@ var Line_1 = require("./Line");
|
|
|
42
45
|
var Polygon_1 = require("./Polygon");
|
|
43
46
|
var UIDGenerator_1 = require("./UIDGenerator");
|
|
44
47
|
var Vector_1 = require("./Vector");
|
|
48
|
+
var VertTuple_1 = require("./VertTuple");
|
|
45
49
|
var Vertex_1 = require("./Vertex");
|
|
46
50
|
var geomutils_1 = require("./geomutils");
|
|
47
51
|
/**
|
|
@@ -183,7 +187,7 @@ var Triangle = /** @class */ (function () {
|
|
|
183
187
|
* after triangle vertex changes.
|
|
184
188
|
*
|
|
185
189
|
* @method getCircumcircle
|
|
186
|
-
* @return {
|
|
190
|
+
* @return {Circle} - The circle touching exactly all three triangle vertices.
|
|
187
191
|
* @instance
|
|
188
192
|
* @memberof Triangle
|
|
189
193
|
*/
|
|
@@ -192,6 +196,33 @@ var Triangle = /** @class */ (function () {
|
|
|
192
196
|
this.calcCircumcircle();
|
|
193
197
|
return new Circle_1.Circle(this.center.clone(), this.radius);
|
|
194
198
|
};
|
|
199
|
+
/**
|
|
200
|
+
* Calculates the minimun enclosing circle.
|
|
201
|
+
*
|
|
202
|
+
* @method getMinimumEnclosingCircle
|
|
203
|
+
* @return {Object} - { center:Vertex, radius:float }
|
|
204
|
+
* @instance
|
|
205
|
+
* @memberof Triangle
|
|
206
|
+
* @returns
|
|
207
|
+
*/
|
|
208
|
+
Triangle.prototype.getMinimumEnclosingCircle = function () {
|
|
209
|
+
// First option: two points construct a circle and the third point is contained.
|
|
210
|
+
var circleAB = VertTuple_1.VertTuple.vtutils.calcCircumcircle(this.a, this.b);
|
|
211
|
+
if (Circle_1.Circle.circleUtils.containsPoint(circleAB.center, circleAB.radius, this.c)) {
|
|
212
|
+
return Circle_1.Circle.fromICircle(circleAB);
|
|
213
|
+
}
|
|
214
|
+
var circleBC = VertTuple_1.VertTuple.vtutils.calcCircumcircle(this.b, this.c);
|
|
215
|
+
if (Circle_1.Circle.circleUtils.containsPoint(circleBC.center, circleBC.radius, this.c)) {
|
|
216
|
+
return Circle_1.Circle.fromICircle(circleBC);
|
|
217
|
+
}
|
|
218
|
+
var circleCA = VertTuple_1.VertTuple.vtutils.calcCircumcircle(this.c, this.a);
|
|
219
|
+
if (Circle_1.Circle.circleUtils.containsPoint(circleCA.center, circleCA.radius, this.c)) {
|
|
220
|
+
return Circle_1.Circle.fromICircle(circleCA);
|
|
221
|
+
}
|
|
222
|
+
// If none of the three upper cases applies: return the circumcircle.
|
|
223
|
+
var circumCircle = Triangle.utils.calcCircumcircle(this.a, this.b, this.c);
|
|
224
|
+
return Circle_1.Circle.fromICircle(circumCircle);
|
|
225
|
+
};
|
|
195
226
|
/**
|
|
196
227
|
* Check if this triangle and the passed triangle share an
|
|
197
228
|
* adjacent edge.
|
|
@@ -230,6 +261,17 @@ var Triangle = /** @class */ (function () {
|
|
|
230
261
|
//if( this.c.equals(vert1) && this.a.equals(vert2) || this.c.equals(vert2) && this.a.equals(vert1) )
|
|
231
262
|
return this.b;
|
|
232
263
|
};
|
|
264
|
+
/**
|
|
265
|
+
* Get the three triangele vertices in a 3-element array.
|
|
266
|
+
*
|
|
267
|
+
* @method getVertices
|
|
268
|
+
* @returns {[Vertex, Vertex, Vertex]} - The three vertices – real instances, not copies.
|
|
269
|
+
* @instance
|
|
270
|
+
* @memberof Triangle
|
|
271
|
+
*/
|
|
272
|
+
Triangle.prototype.getVertices = function () {
|
|
273
|
+
return [this.a, this.b, this.c];
|
|
274
|
+
};
|
|
233
275
|
/**
|
|
234
276
|
* Re-compute the circumcircle of this triangle (if the vertices
|
|
235
277
|
* have changed).
|
|
@@ -243,32 +285,35 @@ var Triangle = /** @class */ (function () {
|
|
|
243
285
|
* @memberof Triangle
|
|
244
286
|
*/
|
|
245
287
|
Triangle.prototype.calcCircumcircle = function () {
|
|
246
|
-
// From
|
|
247
|
-
// http://www.exaflop.org/docs/cgafaq/cga1.html
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
if (Math.abs(G) < Triangle.EPSILON) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
this.
|
|
271
|
-
|
|
288
|
+
// // From
|
|
289
|
+
// // http://www.exaflop.org/docs/cgafaq/cga1.html
|
|
290
|
+
// const A: number = this.b.x - this.a.x;
|
|
291
|
+
// const B: number = this.b.y - this.a.y;
|
|
292
|
+
// const C: number = this.c.x - this.a.x;
|
|
293
|
+
// const D: number = this.c.y - this.a.y;
|
|
294
|
+
// const E: number = A * (this.a.x + this.b.x) + B * (this.a.y + this.b.y);
|
|
295
|
+
// const F: number = C * (this.a.x + this.c.x) + D * (this.a.y + this.c.y);
|
|
296
|
+
// const G: number = 2.0 * (A * (this.c.y - this.b.y) - B * (this.c.x - this.b.x));
|
|
297
|
+
// let dx: number, dy: number;
|
|
298
|
+
// if (Math.abs(G) < Triangle.EPSILON) {
|
|
299
|
+
// // Collinear - find extremes and use the midpoint
|
|
300
|
+
// const bounds: Bounds = this.bounds();
|
|
301
|
+
// this.center = new Vertex((bounds.min.x + bounds.max.x) / 2, (bounds.min.y + bounds.max.y) / 2);
|
|
302
|
+
// dx = this.center.x - bounds.min.x;
|
|
303
|
+
// dy = this.center.y - bounds.min.y;
|
|
304
|
+
// } else {
|
|
305
|
+
// const cx: number = (D * E - B * F) / G;
|
|
306
|
+
// const cy: number = (A * F - C * E) / G;
|
|
307
|
+
// this.center = new Vertex(cx, cy);
|
|
308
|
+
// dx = this.center.x - this.a.x;
|
|
309
|
+
// dy = this.center.y - this.a.y;
|
|
310
|
+
// }
|
|
311
|
+
// this.radius_squared = dx * dx + dy * dy;
|
|
312
|
+
// this.radius = Math.sqrt(this.radius_squared);
|
|
313
|
+
var tmpCircle = Triangle.utils.calcCircumcircle(this.a, this.b, this.c);
|
|
314
|
+
this.center = new Vertex_1.Vertex(tmpCircle.center.x, tmpCircle.center.y);
|
|
315
|
+
this.radius = tmpCircle.radius;
|
|
316
|
+
this.radius_squared = tmpCircle.radius_squared;
|
|
272
317
|
}; // END calcCircumcircle
|
|
273
318
|
/**
|
|
274
319
|
* Check if the passed vertex is inside this triangle's
|
|
@@ -295,7 +340,11 @@ var Triangle = /** @class */ (function () {
|
|
|
295
340
|
* @memberof Triangle
|
|
296
341
|
*/
|
|
297
342
|
Triangle.prototype.bounds = function () {
|
|
298
|
-
return new
|
|
343
|
+
// return new Bounds(
|
|
344
|
+
// new Vertex(Triangle.utils.min3(this.a.x, this.b.x, this.c.x), Triangle.utils.min3(this.a.y, this.b.y, this.c.y)),
|
|
345
|
+
// new Vertex(Triangle.utils.max3(this.a.x, this.b.x, this.c.x), Triangle.utils.max3(this.a.y, this.b.y, this.c.y))
|
|
346
|
+
// );
|
|
347
|
+
return Triangle.utils.bounds(this.a, this.b, this.c);
|
|
299
348
|
};
|
|
300
349
|
//--- BEGIN --- Implement interface `Intersectable`
|
|
301
350
|
/**
|
|
@@ -421,8 +470,9 @@ var Triangle = /** @class */ (function () {
|
|
|
421
470
|
* @return Vertex The incenter of this triangle.
|
|
422
471
|
**/
|
|
423
472
|
Triangle.prototype.getIncenter = function () {
|
|
424
|
-
if (!this.center || !this.radius)
|
|
473
|
+
if (!this.center || !this.radius) {
|
|
425
474
|
this.calcCircumcircle();
|
|
475
|
+
}
|
|
426
476
|
return this.center.clone();
|
|
427
477
|
};
|
|
428
478
|
/**
|
|
@@ -489,7 +539,53 @@ var Triangle = /** @class */ (function () {
|
|
|
489
539
|
*/
|
|
490
540
|
determinant: function (a, b, c) {
|
|
491
541
|
return (b.y - a.y) * (c.x - b.x) - (c.y - b.y) * (b.x - a.x);
|
|
492
|
-
}
|
|
542
|
+
},
|
|
543
|
+
bounds: function (a, b, c) {
|
|
544
|
+
return new Bounds_1.Bounds(new Vertex_1.Vertex(Triangle.utils.min3(a.x, b.x, c.x), Triangle.utils.min3(a.y, b.y, c.y)), new Vertex_1.Vertex(Triangle.utils.max3(a.x, b.x, c.x), Triangle.utils.max3(a.y, b.y, c.y)));
|
|
545
|
+
},
|
|
546
|
+
/**
|
|
547
|
+
* Re-compute the circumcircle of this triangle (if the vertices
|
|
548
|
+
* have changed).
|
|
549
|
+
*
|
|
550
|
+
* The circumcenter and radius are stored in this.center and
|
|
551
|
+
* this.radius. There is a third result: radius_squared (for internal computations).
|
|
552
|
+
*
|
|
553
|
+
* @method calcCircumcircle
|
|
554
|
+
* @return void
|
|
555
|
+
* @instance
|
|
556
|
+
* @memberof Triangle
|
|
557
|
+
*/
|
|
558
|
+
calcCircumcircle: function (a, b, c) {
|
|
559
|
+
// From
|
|
560
|
+
// http://www.exaflop.org/docs/cgafaq/cga1.html
|
|
561
|
+
var A = b.x - a.x;
|
|
562
|
+
var B = b.y - a.y;
|
|
563
|
+
var C = c.x - a.x;
|
|
564
|
+
var D = c.y - a.y;
|
|
565
|
+
var E = A * (a.x + b.x) + B * (a.y + b.y);
|
|
566
|
+
var F = C * (a.x + c.x) + D * (a.y + c.y);
|
|
567
|
+
var G = 2.0 * (A * (c.y - b.y) - B * (c.x - b.x));
|
|
568
|
+
var dx, dy;
|
|
569
|
+
var center;
|
|
570
|
+
if (Math.abs(G) < Triangle.EPSILON) {
|
|
571
|
+
// Collinear - find extremes and use the midpoint
|
|
572
|
+
// const bounds: Bounds = this.bounds();
|
|
573
|
+
var bounds = Triangle.utils.bounds(a, b, c);
|
|
574
|
+
center = new Vertex_1.Vertex((bounds.min.x + bounds.max.x) / 2, (bounds.min.y + bounds.max.y) / 2);
|
|
575
|
+
dx = center.x - bounds.min.x;
|
|
576
|
+
dy = center.y - bounds.min.y;
|
|
577
|
+
}
|
|
578
|
+
else {
|
|
579
|
+
var cx = (D * E - B * F) / G;
|
|
580
|
+
var cy = (A * F - C * E) / G;
|
|
581
|
+
center = new Vertex_1.Vertex(cx, cy);
|
|
582
|
+
dx = center.x - a.x;
|
|
583
|
+
dy = center.y - a.y;
|
|
584
|
+
}
|
|
585
|
+
var radius_squared = dx * dx + dy * dy;
|
|
586
|
+
var radius = Math.sqrt(radius_squared);
|
|
587
|
+
return { center: center, radius: radius, radius_squared: radius_squared };
|
|
588
|
+
} // END calcCircumcircle
|
|
493
589
|
};
|
|
494
590
|
return Triangle;
|
|
495
591
|
}());
|