plotboilerplate 1.23.3 → 1.25.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 +19 -1
- package/dist/index.esm.js +1684 -394
- 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 +12450 -11120
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +9 -5
- package/src/cjs/BezierPath.d.ts +41 -5
- package/src/cjs/BezierPath.js +52 -2
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +67 -3
- package/src/cjs/Bounds.js +101 -3
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +46 -4
- package/src/cjs/Circle.js +82 -3
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +51 -2
- package/src/cjs/CircleSector.js +112 -3
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +113 -7
- package/src/cjs/CubicBezierCurve.js +281 -33
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +38 -3
- package/src/cjs/Line.js +64 -1
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +37 -6
- package/src/cjs/PlotBoilerplate.js +224 -125
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +68 -5
- package/src/cjs/Polygon.js +143 -22
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +52 -3
- package/src/cjs/Triangle.js +80 -1
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +62 -3
- package/src/cjs/VEllipse.js +181 -17
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/VEllipseSector.d.ts +86 -2
- package/src/cjs/VEllipseSector.js +148 -4
- package/src/cjs/VEllipseSector.js.map +1 -1
- package/src/cjs/Vector.d.ts +12 -2
- package/src/cjs/Vector.js +15 -2
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +28 -4
- package/src/cjs/VertTuple.js +36 -3
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +31 -4
- package/src/cjs/Vertex.js +35 -1
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +67 -0
- package/src/cjs/interfaces/core.js +4 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
- package/src/cjs/utils/algorithms/convexPolygonIncircle.js +14 -6
- package/src/cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -1
- package/src/cjs/utils/createRandomizedPolygon.d.ts +14 -0
- package/src/cjs/utils/createRandomizedPolygon.js +32 -0
- package/src/cjs/utils/createRandomizedPolygon.js.map +1 -0
- package/src/cjs/utils/datastructures/Color.d.ts +147 -1
- package/src/cjs/utils/datastructures/Color.js +385 -41
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/cjs/utils/datastructures/ColorGradient.d.ts +79 -0
- package/src/cjs/utils/datastructures/ColorGradient.js +171 -0
- package/src/cjs/utils/datastructures/ColorGradient.js.map +1 -0
- package/src/cjs/utils/dom/components/ColorGradientPicker.d.ts +245 -0
- package/src/cjs/utils/dom/components/ColorGradientPicker.js +667 -0
- package/src/cjs/utils/dom/components/ColorGradientPicker.js.map +1 -0
- package/src/cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
- package/src/cjs/utils/dom/components/ColorGradientPickerJSX.js +520 -0
- package/src/cjs/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.d.ts +117 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js +325 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js.map +1 -0
- package/src/cjs/utils/dom/components/Test.d.ts +7 -0
- package/src/cjs/utils/dom/components/Test.js +30 -0
- package/src/cjs/utils/dom/components/Test.js.map +1 -0
- package/src/cjs/utils/dom/guiSizeToggler.js +1 -1
- package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +16 -8
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +49 -28
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleHelper.d.ts +10 -1
- package/src/cjs/utils/helpers/CircleHelper.js +13 -2
- package/src/cjs/utils/helpers/CircleHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +11 -2
- package/src/cjs/utils/helpers/CircleSectorHelper.js +20 -20
- package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/cjs/utils/helpers/TriangleHelper.d.ts +57 -0
- package/src/cjs/utils/helpers/TriangleHelper.js +83 -0
- package/src/cjs/utils/helpers/TriangleHelper.js.map +1 -0
- package/src/cjs/utils/helpers/VEllipseHelper.d.ts +32 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js +88 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +44 -4
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js +108 -25
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/cjs/utils/parsers/LinearColorGradientParser.d.ts +78 -0
- package/src/cjs/utils/parsers/LinearColorGradientParser.js +224 -0
- package/src/cjs/utils/parsers/LinearColorGradientParser.js.map +1 -0
- package/src/createDemoDrawables.js +4 -1
- package/src/esm/BezierPath.d.ts +41 -5
- package/src/esm/BezierPath.js +50 -2
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +67 -3
- package/src/esm/Bounds.js +101 -3
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +46 -4
- package/src/esm/Circle.js +79 -3
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +51 -2
- package/src/esm/CircleSector.js +108 -3
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +113 -7
- package/src/esm/CubicBezierCurve.js +277 -33
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +38 -3
- package/src/esm/Line.js +62 -1
- package/src/esm/Line.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +37 -6
- package/src/esm/PlotBoilerplate.js +224 -125
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +68 -5
- package/src/esm/Polygon.js +138 -22
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +52 -3
- package/src/esm/Triangle.js +77 -1
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +62 -3
- package/src/esm/VEllipse.js +178 -17
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/VEllipseSector.d.ts +86 -2
- package/src/esm/VEllipseSector.js +146 -7
- package/src/esm/VEllipseSector.js.map +1 -1
- package/src/esm/Vector.d.ts +12 -2
- package/src/esm/Vector.js +15 -2
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/VertTuple.d.ts +28 -4
- package/src/esm/VertTuple.js +36 -3
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +31 -4
- package/src/esm/Vertex.js +35 -1
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +67 -0
- package/src/esm/interfaces/core.js +4 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
- package/src/esm/utils/algorithms/convexPolygonIncircle.js +15 -7
- package/src/esm/utils/algorithms/convexPolygonIncircle.js.map +1 -1
- package/src/esm/utils/algorithms/createRandomizedPolygon.d.ts +14 -0
- package/src/esm/utils/algorithms/createRandomizedPolygon.js +28 -0
- package/src/esm/utils/algorithms/createRandomizedPolygon.js.map +1 -0
- package/src/esm/utils/createRandomizedPolygon.d.ts +14 -0
- package/src/esm/utils/createRandomizedPolygon.js +28 -0
- package/src/esm/utils/createRandomizedPolygon.js.map +1 -0
- package/src/esm/utils/datastructures/Color.d.ts +147 -1
- package/src/esm/utils/datastructures/Color.js +386 -42
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/esm/utils/datastructures/ColorGradient.d.ts +79 -0
- package/src/esm/utils/datastructures/ColorGradient.js +166 -0
- package/src/esm/utils/datastructures/ColorGradient.js.map +1 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.d.ts +245 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.js +732 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.js.map +1 -0
- package/src/esm/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
- package/src/esm/utils/dom/components/ColorGradientPickerJSX.js +582 -0
- package/src/esm/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.d.ts +117 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js +332 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js.map +1 -0
- package/src/esm/utils/dom/components/Test.d.ts +7 -0
- package/src/esm/utils/dom/components/Test.js +26 -0
- package/src/esm/utils/dom/components/Test.js.map +1 -0
- package/src/esm/utils/dom/guiSizeToggler.js +1 -1
- package/src/esm/utils/dom/guiSizeToggler.js.map +1 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +16 -8
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +47 -27
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleHelper.d.ts +10 -1
- package/src/esm/utils/helpers/CircleHelper.js +13 -2
- package/src/esm/utils/helpers/CircleHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleSectorHelper.d.ts +11 -2
- package/src/esm/utils/helpers/CircleSectorHelper.js +20 -20
- package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/esm/utils/helpers/TriangleHelper.d.ts +57 -0
- package/src/esm/utils/helpers/TriangleHelper.js +78 -0
- package/src/esm/utils/helpers/TriangleHelper.js.map +1 -0
- package/src/esm/utils/helpers/VEllipseHelper.d.ts +32 -0
- package/src/esm/utils/helpers/VEllipseHelper.js +83 -0
- package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +44 -4
- package/src/esm/utils/helpers/VEllipseSectorHelper.js +107 -24
- package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/esm/utils/parsers/LinearColorGradientParser.d.ts +78 -0
- package/src/esm/utils/parsers/LinearColorGradientParser.js +217 -0
- package/src/esm/utils/parsers/LinearColorGradientParser.js.map +1 -0
- package/src/external.d.ts +9 -0
- package/src/ts/BezierPath.ts +58 -5
- package/src/ts/Bounds.ts +110 -6
- package/src/ts/Circle.ts +87 -5
- package/src/ts/CircleSector.ts +115 -5
- package/src/ts/CubicBezierCurve.ts +332 -42
- package/src/ts/Line.ts +66 -3
- package/src/ts/PlotBoilerplate.ts +236 -114
- package/src/ts/Polygon.ts +164 -29
- package/src/ts/Triangle.ts +85 -3
- package/src/ts/VEllipse.ts +214 -19
- package/src/ts/VEllipseSector.ts +154 -8
- package/src/ts/Vector.ts +16 -2
- package/src/ts/VertTuple.ts +39 -4
- package/src/ts/Vertex.ts +40 -4
- package/src/ts/interfaces/core.ts +73 -0
- package/src/ts/utils/algorithms/convexPolygonIncircle.ts +82 -78
- package/src/ts/utils/createRandomizedPolygon.ts +31 -0
- package/src/ts/utils/datastructures/Color.ts +423 -44
- package/src/ts/utils/datastructures/ColorGradient.ts +196 -0
- package/src/ts/utils/dom/components/ColorGradientPicker.tsx +877 -0
- package/src/ts/utils/dom/components/ColorGradientSelector.tsx +445 -0
- package/src/ts/utils/dom/components/Test.tsx +44 -0
- package/src/ts/utils/dom/components/_ColorGradientPicker_raw.ts_ +392 -0
- package/src/ts/utils/dom/guiSizeToggler.ts +1 -1
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -35
- package/src/ts/utils/helpers/CircleHelper.ts +17 -3
- package/src/ts/utils/helpers/CircleSectorHelper.ts +118 -126
- package/src/ts/utils/helpers/TriangleHelper.ts +102 -0
- package/src/ts/utils/helpers/VEllipseHelper.ts +115 -0
- package/src/ts/utils/helpers/VEllipseSectorHelper.ts +144 -26
- package/src/ts/utils/parsers/LinearColorGradientParser.ts +297 -0
package/src/esm/Vertex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../ts/Vertex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../ts/Vertex.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
* @modified 2023-02-10 All non-function attributes of the `Config` interface are now mandatory.
|
|
21
21
|
* @modified 2023-09-29 Added the `randomPoint(...)` function declaration to the IBounds interface.
|
|
22
22
|
* @modified 2024-08-25 Added the `CSSBackdropFilterParams` params to the global params (all optional).
|
|
23
|
+
* @modified 2025-03-29 Added interface `Intersectable`.
|
|
24
|
+
* @modified 2025-04-16 Added interface `IBounded`.
|
|
25
|
+
* @modified 2025-05-07 Added callback `onContentChanged` to PB to track if the drawable content changed.
|
|
26
|
+
* @modified 2025-06-07 Adding helper type `PolygonIntersectionTuple` for re-usability.
|
|
23
27
|
**/
|
|
24
28
|
import { Vertex } from "../Vertex";
|
|
25
29
|
import { Vector } from "../Vector";
|
|
@@ -36,6 +40,7 @@ import { PlotBoilerplate } from "../PlotBoilerplate";
|
|
|
36
40
|
import { DrawLib } from "./DrawLib";
|
|
37
41
|
import { PBText } from "../PBText";
|
|
38
42
|
import { CSSBackdropFilterParams } from "./externals";
|
|
43
|
+
import { VertTuple } from "../VertTuple";
|
|
39
44
|
/**
|
|
40
45
|
* @classdesc Coordinates (x,y) on the plane.
|
|
41
46
|
*
|
|
@@ -92,6 +97,15 @@ export interface CanvasWrapper {
|
|
|
92
97
|
setSize: (width: number, height: number) => void;
|
|
93
98
|
element: HTMLCanvasElement | SVGElement;
|
|
94
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* The interface for PB change events.
|
|
102
|
+
*/
|
|
103
|
+
export interface IPBChangeEvent {
|
|
104
|
+
type: "DRAWABLES_ADDED" | "DRAWABLES_REMOVED";
|
|
105
|
+
addedDrawables: Array<Drawable>;
|
|
106
|
+
removedDrawables: Array<Drawable>;
|
|
107
|
+
}
|
|
108
|
+
export type PBContentChangeListener = (event: IPBChangeEvent) => void;
|
|
95
109
|
/**
|
|
96
110
|
* The config that's used by PB.
|
|
97
111
|
*/
|
|
@@ -217,3 +231,56 @@ export interface IDraggable {
|
|
|
217
231
|
isVertex(): boolean;
|
|
218
232
|
setVIndex(vindex: number): IDraggable;
|
|
219
233
|
}
|
|
234
|
+
/**
|
|
235
|
+
* Shapes should implement this interface if they support intersection calculation.
|
|
236
|
+
*/
|
|
237
|
+
export interface Intersectable {
|
|
238
|
+
/**
|
|
239
|
+
* Get all line intersections with this polygon.
|
|
240
|
+
*
|
|
241
|
+
* This method returns all intersections (as vertices) with this shape. The returned array of vertices is in no specific order.
|
|
242
|
+
*
|
|
243
|
+
* See demo `47-closest-vector-projection-on-polygon` for how it works.
|
|
244
|
+
*
|
|
245
|
+
* @param {VertTuple} line - The line to find intersections with.
|
|
246
|
+
* @param {boolean} inVectorBoundsOnly - (default=false) If set to true only intersecion points on the passed vector are returned (located strictly between start and end vertex).
|
|
247
|
+
* @returns {Array<Vertex>} - An array of all intersections within this shape's bounds.
|
|
248
|
+
*/
|
|
249
|
+
lineIntersections(line: VertTuple<any>, inVectorBoundsOnly?: boolean): Array<Vertex>;
|
|
250
|
+
/**
|
|
251
|
+
* Get all line intersections of this polygon and their tangents along the shape.
|
|
252
|
+
*
|
|
253
|
+
* This method returns all intersection tangents (as vectors) with this shape. The returned array of vectors is in no specific order.
|
|
254
|
+
*
|
|
255
|
+
* @param {VertTuple} line - The line to find intersections with.
|
|
256
|
+
* @param {boolean} inVectorBoundsOnly - (default=false) If set to true only intersecion points on the passed vector are returned (located strictly between start and end vertex).
|
|
257
|
+
* @returns {Array<Vector>} - An array of all intersection tangents within this shape's bounds.
|
|
258
|
+
*/
|
|
259
|
+
lineIntersectionTangents(line: VertTuple<any>, inVectorBoundsOnly?: boolean): Array<Vector>;
|
|
260
|
+
}
|
|
261
|
+
export interface IBounded {
|
|
262
|
+
/**
|
|
263
|
+
* Get the bounding box (bounds) of this shape.
|
|
264
|
+
*
|
|
265
|
+
* @method getBounds
|
|
266
|
+
* @return {Bounds} The rectangular bounds of this shape.
|
|
267
|
+
**/
|
|
268
|
+
getBounds(): IBounds;
|
|
269
|
+
}
|
|
270
|
+
export interface IShapeInteractionHelper {
|
|
271
|
+
/**
|
|
272
|
+
* Let this shape helper draw it's handle lines. It's up to the helper what they look like.
|
|
273
|
+
* @param {DrawLib<any>} draw - The draw library to use.
|
|
274
|
+
* @param {DrawLib<any>} fill - The fill library to use.
|
|
275
|
+
*/
|
|
276
|
+
drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>): void;
|
|
277
|
+
/**
|
|
278
|
+
* Destroys this helper. This means that all listeners get released and this helper
|
|
279
|
+
* will not receive or handle any events.
|
|
280
|
+
*/
|
|
281
|
+
destroy(): void;
|
|
282
|
+
}
|
|
283
|
+
export type PolygonIntersectionTuple<T> = {
|
|
284
|
+
edgeIndex: number;
|
|
285
|
+
intersection: T;
|
|
286
|
+
};
|
|
@@ -20,6 +20,10 @@
|
|
|
20
20
|
* @modified 2023-02-10 All non-function attributes of the `Config` interface are now mandatory.
|
|
21
21
|
* @modified 2023-09-29 Added the `randomPoint(...)` function declaration to the IBounds interface.
|
|
22
22
|
* @modified 2024-08-25 Added the `CSSBackdropFilterParams` params to the global params (all optional).
|
|
23
|
+
* @modified 2025-03-29 Added interface `Intersectable`.
|
|
24
|
+
* @modified 2025-04-16 Added interface `IBounded`.
|
|
25
|
+
* @modified 2025-05-07 Added callback `onContentChanged` to PB to track if the drawable content changed.
|
|
26
|
+
* @modified 2025-06-07 Adding helper type `PolygonIntersectionTuple` for re-usability.
|
|
23
27
|
**/
|
|
24
28
|
export {};
|
|
25
29
|
//# sourceMappingURL=core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../ts/interfaces/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BI"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* @author mbostock, extended and ported to TypeScript by Ikaros Kappler
|
|
3
3
|
* @date 2020-05-19
|
|
4
4
|
* @modified 2021-02-08 Fixed a lot of es2015 compatibility issues.
|
|
5
|
-
* @
|
|
5
|
+
* @modified 2024-03-24 Fixing some unstrict types to match with the new Typescript settings.
|
|
6
|
+
* @version 1.0.3
|
|
6
7
|
* @file contextPolygonIncircle
|
|
7
8
|
* @public
|
|
8
9
|
*/
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* @author mbostock, extended and ported to TypeScript by Ikaros Kappler
|
|
3
3
|
* @date 2020-05-19
|
|
4
4
|
* @modified 2021-02-08 Fixed a lot of es2015 compatibility issues.
|
|
5
|
-
* @
|
|
5
|
+
* @modified 2024-03-24 Fixing some unstrict types to match with the new Typescript settings.
|
|
6
|
+
* @version 1.0.3
|
|
6
7
|
* @file contextPolygonIncircle
|
|
7
8
|
* @public
|
|
8
9
|
*/
|
|
@@ -15,7 +16,6 @@ import { Triangle } from "../../Triangle";
|
|
|
15
16
|
* eliminate smaller precision errors.
|
|
16
17
|
*/
|
|
17
18
|
const EPS = 0.000001;
|
|
18
|
-
;
|
|
19
19
|
/**
|
|
20
20
|
* Compute the max sized inlying circle in the given convex (!) polygon - also called the
|
|
21
21
|
* convex-polygon incircle.
|
|
@@ -42,8 +42,8 @@ const EPS = 0.000001;
|
|
|
42
42
|
*/
|
|
43
43
|
export const convexPolygonIncircle = (convexHull) => {
|
|
44
44
|
var n = convexHull.vertices.length;
|
|
45
|
-
var bestCircle =
|
|
46
|
-
var bestTriangle =
|
|
45
|
+
var bestCircle = null;
|
|
46
|
+
var bestTriangle = null;
|
|
47
47
|
for (var a = 0; a < n; a++) {
|
|
48
48
|
for (var b = a + 1; b < n; b++) {
|
|
49
49
|
for (var c = b + 1; c < n; c++) {
|
|
@@ -56,8 +56,14 @@ export const convexPolygonIncircle = (convexHull) => {
|
|
|
56
56
|
// Find intersections by expanding the lines
|
|
57
57
|
let vertB = lineA.intersection(lineB);
|
|
58
58
|
let vertC = lineB.intersection(lineC);
|
|
59
|
+
if (!vertB || !vertC) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
59
62
|
// An object: { center: Vertex, radius: number }
|
|
60
63
|
let triangle = getTangentTriangle4(lineA.a, vertB, vertC, lineC.b);
|
|
64
|
+
if (!triangle) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
61
67
|
// Workaround. There will be a future version where the 'getCircumCircle()' functions
|
|
62
68
|
// returns a real Circle instance.
|
|
63
69
|
let _circle = triangle.getCircumcircle();
|
|
@@ -78,8 +84,7 @@ export const convexPolygonIncircle = (convexHull) => {
|
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
|
-
return { circle: bestCircle,
|
|
82
|
-
triangle: bestTriangle };
|
|
87
|
+
return { circle: bestCircle, triangle: bestTriangle };
|
|
83
88
|
};
|
|
84
89
|
/**
|
|
85
90
|
* This function computes the three points for the inner maximum circle
|
|
@@ -106,6 +111,9 @@ const getTangentTriangle4 = (vertA, vertB, vertC, vertD) => {
|
|
|
106
111
|
const bisector1 = geomutils.nsectAngle(vertB, vertA, vertC, 2)[0]; // bisector of first triangle
|
|
107
112
|
const bisector2 = geomutils.nsectAngle(vertC, vertB, vertD, 2)[0]; // bisector of second triangle
|
|
108
113
|
const intersection = bisector1.intersection(bisector2);
|
|
114
|
+
if (!intersection) {
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
109
117
|
// Find the closest points on one of the polygon lines (all have same distance by construction)
|
|
110
118
|
const circleIntersA = lineA.getClosestPoint(intersection);
|
|
111
119
|
const circleIntersB = lineB.getClosestPoint(intersection);
|
|
@@ -120,7 +128,7 @@ const getTangentTriangle4 = (vertA, vertB, vertC, vertD) => {
|
|
|
120
128
|
* @return {Array<number>} The indices of those lines that intersect (or touch) the circle.
|
|
121
129
|
**/
|
|
122
130
|
const findCircleIntersections = (convexHull, circle) => {
|
|
123
|
-
|
|
131
|
+
const result = [];
|
|
124
132
|
for (var i = 0; i < convexHull.vertices.length; i++) {
|
|
125
133
|
var line = new Line(convexHull.vertices[i], convexHull.vertices[(i + 1) % convexHull.vertices.length]);
|
|
126
134
|
// Use an epsilon here because circle coordinates can be kind of unprecise in the detail.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convexPolygonIncircle.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/convexPolygonIncircle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"convexPolygonIncircle.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/convexPolygonIncircle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function to generate randmoized non-intersecting polygons.
|
|
3
|
+
*
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2025-03-23 (ported to Typescript from a helper script from 2024)
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { Bounds } from "../../Bounds";
|
|
9
|
+
import { Polygon } from "../../Polygon";
|
|
10
|
+
/**
|
|
11
|
+
* @param numVertices
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare const createRandomizedPolygon: (numVertices: number, viewport: Bounds, createClockwise?: boolean) => Polygon;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function to generate randmoized non-intersecting polygons.
|
|
3
|
+
*
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2025-03-23 (ported to Typescript from a helper script from 2024)
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { Polygon } from "../../Polygon";
|
|
9
|
+
import { Vertex } from "../../Vertex";
|
|
10
|
+
/**
|
|
11
|
+
* @param numVertices
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export const createRandomizedPolygon = (numVertices, viewport, createClockwise) => {
|
|
15
|
+
const polygon = new Polygon();
|
|
16
|
+
for (var i = 0; i < numVertices; i++) {
|
|
17
|
+
const vert = new Vertex(Math.min(viewport.width, viewport.height) * 0.33, 0.0);
|
|
18
|
+
vert.rotate(((Math.PI * 2) / numVertices) * i);
|
|
19
|
+
vert.addXY(viewport.width * 0.1 * (1.0 - Math.random() * 2), viewport.height * 0.1 * (1.0 - Math.random() * 2));
|
|
20
|
+
polygon.addVertex(vert);
|
|
21
|
+
}
|
|
22
|
+
if (createClockwise && !polygon.isClockwise()) {
|
|
23
|
+
// Reverse
|
|
24
|
+
polygon.vertices = polygon.vertices.reverse();
|
|
25
|
+
}
|
|
26
|
+
return polygon;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=createRandomizedPolygon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRandomizedPolygon.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/createRandomizedPolygon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,eAAyB,EAAE,EAAE;IAC1G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9C,UAAU;QACV,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function to generate randmoized non-intersecting polygons.
|
|
3
|
+
*
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2025-03-23 (ported to Typescript from a helper script from 2024)
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { Bounds } from "../Bounds";
|
|
9
|
+
import { Polygon } from "../Polygon";
|
|
10
|
+
/**
|
|
11
|
+
* @param numVertices
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare const createRandomizedPolygon: (numVertices: number, viewport: Bounds, createClockwise?: boolean) => Polygon;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function to generate randmoized non-intersecting polygons.
|
|
3
|
+
*
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2025-03-23 (ported to Typescript from a helper script from 2024)
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { Polygon } from "../Polygon";
|
|
9
|
+
import { Vertex } from "../Vertex";
|
|
10
|
+
/**
|
|
11
|
+
* @param numVertices
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export const createRandomizedPolygon = (numVertices, viewport, createClockwise) => {
|
|
15
|
+
const polygon = new Polygon();
|
|
16
|
+
for (var i = 0; i < numVertices; i++) {
|
|
17
|
+
const vert = new Vertex(viewport.getMinDimension() * 0.33, 0.0);
|
|
18
|
+
vert.rotate(((Math.PI * 2) / numVertices) * i);
|
|
19
|
+
vert.addXY(viewport.width * 0.1 * (1.0 - Math.random() * 2), viewport.height * 0.1 * (1.0 - Math.random() * 2));
|
|
20
|
+
polygon.addVertex(vert);
|
|
21
|
+
}
|
|
22
|
+
if (createClockwise && !polygon.isClockwise()) {
|
|
23
|
+
// Reverse
|
|
24
|
+
polygon.vertices = polygon.vertices.reverse();
|
|
25
|
+
}
|
|
26
|
+
return polygon;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=createRandomizedPolygon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRandomizedPolygon.js","sourceRoot":"","sources":["../../ts/utils/createRandomizedPolygon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC;;;GAGG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,eAAyB,EAAE,EAAE;IAC1G,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9C,UAAU;QACV,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -18,7 +18,12 @@
|
|
|
18
18
|
* @modified 2022-05-11 Fixed the `interpolate` function.
|
|
19
19
|
* @modified 2023-01-23 Added `Color.set(Color)` function to set all values (r,g,b,h,s,l,a) simultanoeusly.
|
|
20
20
|
* @modified 2024-03-10 Fixed some NaN type check for Typescript 5 compatibility.
|
|
21
|
-
* @
|
|
21
|
+
* @modified 2025-08-08 Fixed an issue in the static `makeRGB` method: values in [0..1] are now correctly reconized (1.0 was excluded).
|
|
22
|
+
* @modified 2025-08-08 Added static color instances (singletons): Color.Red, Color.Gold, Color.Yellow, Color.Green, Color.LimeGreen, Color.Blue, Color.MediumBlue, Color.Purple.
|
|
23
|
+
* @modified 2025-09-01 Adding all standard web colors. Source: https://en.wikipedia.org/wiki/Web_colors
|
|
24
|
+
* @modified 2025-09-01 Modifying the `Sanitizer.RGB` helper method: recognoizing 0 to 255 as valid values (not only 1 to 255).
|
|
25
|
+
* @modified 2025-09-01 Modifying the `Color.parse` method: recognizing CSS color strings now.
|
|
26
|
+
* @version 0.0.14
|
|
22
27
|
**/
|
|
23
28
|
/**
|
|
24
29
|
* @classdesc A color class, inspired by neolitec's Javascript class.
|
|
@@ -242,4 +247,145 @@ export declare class Color {
|
|
|
242
247
|
* @return {Color} A clone of this color (in RGB mode).
|
|
243
248
|
*/
|
|
244
249
|
interpolate(c: Color, t: number): Color;
|
|
250
|
+
static MediumVioletRed: Color;
|
|
251
|
+
static DeepPink: Color;
|
|
252
|
+
static PaleVioletRed: Color;
|
|
253
|
+
static HotPink: Color;
|
|
254
|
+
static LightPink: Color;
|
|
255
|
+
static Pink: Color;
|
|
256
|
+
static DarkRed: Color;
|
|
257
|
+
static Red: Color;
|
|
258
|
+
static Firebrick: Color;
|
|
259
|
+
static Crimson: Color;
|
|
260
|
+
static IndianRed: Color;
|
|
261
|
+
static LightCoral: Color;
|
|
262
|
+
static Salmon: Color;
|
|
263
|
+
static DarkSalmon: Color;
|
|
264
|
+
static LightSalmon: Color;
|
|
265
|
+
static OrangeRed: Color;
|
|
266
|
+
static Tomato: Color;
|
|
267
|
+
static DarkOrange: Color;
|
|
268
|
+
static Coral: Color;
|
|
269
|
+
static Orange: Color;
|
|
270
|
+
static DarkKhaki: Color;
|
|
271
|
+
static Gold: Color;
|
|
272
|
+
static Khaki: Color;
|
|
273
|
+
static PeachPuff: Color;
|
|
274
|
+
static Yellow: Color;
|
|
275
|
+
static PaleGoldenrod: Color;
|
|
276
|
+
static Moccasin: Color;
|
|
277
|
+
static PapayaWhip: Color;
|
|
278
|
+
static LightGoldenrodYellow: Color;
|
|
279
|
+
static LemonChiffon: Color;
|
|
280
|
+
static LightYellow: Color;
|
|
281
|
+
static Maroon: Color;
|
|
282
|
+
static Brown: Color;
|
|
283
|
+
static SaddleBrown: Color;
|
|
284
|
+
static Sienna: Color;
|
|
285
|
+
static Chocolate: Color;
|
|
286
|
+
static DarkGoldenrod: Color;
|
|
287
|
+
static Peru: Color;
|
|
288
|
+
static RosyBrown: Color;
|
|
289
|
+
static Goldenrod: Color;
|
|
290
|
+
static SandyBrown: Color;
|
|
291
|
+
static Tan: Color;
|
|
292
|
+
static Burlywood: Color;
|
|
293
|
+
static Wheat: Color;
|
|
294
|
+
static NavajoWhite: Color;
|
|
295
|
+
static Bisque: Color;
|
|
296
|
+
static BlanchedAlmond: Color;
|
|
297
|
+
static Cornsilk: Color;
|
|
298
|
+
static Indigo: Color;
|
|
299
|
+
static Purple: Color;
|
|
300
|
+
static DarkMagenta: Color;
|
|
301
|
+
static DarkViolet: Color;
|
|
302
|
+
static DarkSlateBlue: Color;
|
|
303
|
+
static BlueViolet: Color;
|
|
304
|
+
static DarkOrchid: Color;
|
|
305
|
+
static Fuchsia: Color;
|
|
306
|
+
static Magenta: Color;
|
|
307
|
+
static SlateBlue: Color;
|
|
308
|
+
static MediumSlateBlue: Color;
|
|
309
|
+
static MediumOrchid: Color;
|
|
310
|
+
static MediumPurple: Color;
|
|
311
|
+
static Orchid: Color;
|
|
312
|
+
static Violet: Color;
|
|
313
|
+
static Plum: Color;
|
|
314
|
+
static Thistle: Color;
|
|
315
|
+
static Lavender: Color;
|
|
316
|
+
static MidnightBlue: Color;
|
|
317
|
+
static Navy: Color;
|
|
318
|
+
static DarkBlue: Color;
|
|
319
|
+
static MediumBlue: Color;
|
|
320
|
+
static Blue: Color;
|
|
321
|
+
static RoyalBlue: Color;
|
|
322
|
+
static SteelBlue: Color;
|
|
323
|
+
static DodgerBlue: Color;
|
|
324
|
+
static DeepSkyBlue: Color;
|
|
325
|
+
static CornflowerBlue: Color;
|
|
326
|
+
static SkyBlue: Color;
|
|
327
|
+
static LightSkyBlue: Color;
|
|
328
|
+
static LightSteelBlue: Color;
|
|
329
|
+
static LightBlue: Color;
|
|
330
|
+
static PowderBlue: Color;
|
|
331
|
+
static Teal: Color;
|
|
332
|
+
static DarkCyan: Color;
|
|
333
|
+
static LightSeaGreen: Color;
|
|
334
|
+
static CadetBlue: Color;
|
|
335
|
+
static DarkTurquoise: Color;
|
|
336
|
+
static MediumTurquoise: Color;
|
|
337
|
+
static Turquoise: Color;
|
|
338
|
+
static Aqua: Color;
|
|
339
|
+
static Cyan: Color;
|
|
340
|
+
static Aquamarine: Color;
|
|
341
|
+
static PaleTurquoise: Color;
|
|
342
|
+
static LightCyan: Color;
|
|
343
|
+
static DarkGreen: Color;
|
|
344
|
+
static Green: Color;
|
|
345
|
+
static DarkOliveGreen: Color;
|
|
346
|
+
static ForestGreen: Color;
|
|
347
|
+
static SeaGreen: Color;
|
|
348
|
+
static Olive: Color;
|
|
349
|
+
static OliveDrab: Color;
|
|
350
|
+
static MediumSeaGreen: Color;
|
|
351
|
+
static LimeGreen: Color;
|
|
352
|
+
static Lime: Color;
|
|
353
|
+
static SpringGreen: Color;
|
|
354
|
+
static MediumSpringGreen: Color;
|
|
355
|
+
static DarkSeaGreen: Color;
|
|
356
|
+
static MediumAquamarine: Color;
|
|
357
|
+
static YellowGreen: Color;
|
|
358
|
+
static LawnGreen: Color;
|
|
359
|
+
static Chartreuse: Color;
|
|
360
|
+
static LightGreen: Color;
|
|
361
|
+
static GreenYellow: Color;
|
|
362
|
+
static PaleGreen: Color;
|
|
363
|
+
static MistyRose: Color;
|
|
364
|
+
static AntiqueWhite: Color;
|
|
365
|
+
static Linen: Color;
|
|
366
|
+
static Beige: Color;
|
|
367
|
+
static WhiteSmoke: Color;
|
|
368
|
+
static LavenderBlush: Color;
|
|
369
|
+
static OldLace: Color;
|
|
370
|
+
static AliceBlue: Color;
|
|
371
|
+
static Seashell: Color;
|
|
372
|
+
static GhostWhite: Color;
|
|
373
|
+
static Honeydew: Color;
|
|
374
|
+
static FloralWhite: Color;
|
|
375
|
+
static Azure: Color;
|
|
376
|
+
static MintCream: Color;
|
|
377
|
+
static Snow: Color;
|
|
378
|
+
static Ivory: Color;
|
|
379
|
+
static White: Color;
|
|
380
|
+
static Black: Color;
|
|
381
|
+
static DarkSlateGray: Color;
|
|
382
|
+
static DimGray: Color;
|
|
383
|
+
static SlateGray: Color;
|
|
384
|
+
static Gray: Color;
|
|
385
|
+
static LightSlateGray: Color;
|
|
386
|
+
static DarkGray: Color;
|
|
387
|
+
static Silver: Color;
|
|
388
|
+
static LightGray: Color;
|
|
389
|
+
static Gainsboro: Color;
|
|
390
|
+
static CSS_COLORS: Record<string, Color>;
|
|
245
391
|
}
|