plotboilerplate 1.23.3 → 1.24.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 +6 -0
- package/dist/index.esm.js +1390 -265
- 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 +1264 -99
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- 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.js +2 -9
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +48 -4
- package/src/cjs/Polygon.js +91 -16
- 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 +17 -2
- package/src/cjs/Vertex.js +18 -1
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +39 -0
- package/src/cjs/interfaces/core.js +2 -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/helpers/BezierPathInteractionHelper.d.ts +9 -7
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +37 -23
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +10 -1
- package/src/cjs/utils/helpers/CircleSectorHelper.js +19 -20
- package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/cjs/utils/helpers/VEllipseHelper.d.ts +30 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js +86 -0
- package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js +107 -25
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- package/src/createDemoDrawables.js +3 -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.js +2 -9
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +48 -4
- package/src/esm/Polygon.js +89 -16
- 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 +17 -2
- package/src/esm/Vertex.js +18 -1
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +39 -0
- package/src/esm/interfaces/core.js +2 -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/helpers/BezierPathInteractionHelper.d.ts +9 -7
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +35 -22
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/helpers/CircleSectorHelper.d.ts +10 -1
- package/src/esm/utils/helpers/CircleSectorHelper.js +19 -20
- package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
- package/src/esm/utils/helpers/VEllipseHelper.d.ts +30 -0
- package/src/esm/utils/helpers/VEllipseHelper.js +81 -0
- package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -0
- package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
- package/src/esm/utils/helpers/VEllipseSectorHelper.js +106 -24
- package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
- 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 +3 -9
- package/src/ts/Polygon.ts +103 -22
- 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 +20 -2
- package/src/ts/interfaces/core.ts +42 -0
- package/src/ts/utils/algorithms/convexPolygonIncircle.ts +82 -78
- package/src/ts/utils/createRandomizedPolygon.ts +31 -0
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +45 -29
- package/src/ts/utils/helpers/CircleSectorHelper.ts +115 -125
- package/src/ts/utils/helpers/VEllipseHelper.ts +113 -0
- package/src/ts/utils/helpers/VEllipseSectorHelper.ts +142 -25
|
@@ -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"}
|
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
* @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
|
|
23
23
|
* @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
|
|
24
24
|
* @modified 2024-03-10 Fixing some types for Typescript 5 compatibility.
|
|
25
|
-
* @
|
|
25
|
+
* @modified 2025-04-14 Added the `BezierPathInteractionHelper.drawHandleLines` method.
|
|
26
|
+
* @modified 2025-04-14 Fixing correct event types for touch events in `BezierPathInteractionHelper`.
|
|
27
|
+
* @modified 2025-04-14 BezierPathInteractionHelper: Changed default value of `HelperOptions.autoAdjustPaths` from `true` to `false`.
|
|
28
|
+
* @version 1.2.0
|
|
26
29
|
*
|
|
27
30
|
* @file BezierPathInteractionHelper
|
|
28
31
|
* @public
|
|
@@ -164,6 +167,11 @@ export declare class BezierPathInteractionHelper {
|
|
|
164
167
|
* @return {void}
|
|
165
168
|
**/
|
|
166
169
|
update(): void;
|
|
170
|
+
/**
|
|
171
|
+
* Draw grey handle lines.
|
|
172
|
+
*
|
|
173
|
+
*/
|
|
174
|
+
drawHandleLines(): void;
|
|
167
175
|
/**
|
|
168
176
|
* This function should invalidate any installed listeners and invalidate this object.
|
|
169
177
|
* After calling this function the object might not hold valid data any more and
|
|
@@ -188,12 +196,6 @@ export declare class BezierPathInteractionHelper {
|
|
|
188
196
|
private _removeDefaultPathListeners;
|
|
189
197
|
private _updateMinDistance;
|
|
190
198
|
static setPathAutoAdjust(path: BezierPath): void;
|
|
191
|
-
/**
|
|
192
|
-
* A helper function to add drag-start-listener to given vertices.
|
|
193
|
-
*/
|
|
194
|
-
/**
|
|
195
|
-
* A helper function to remove drag-start-listener to given vertices.
|
|
196
|
-
*/
|
|
197
199
|
/**
|
|
198
200
|
* A helper function to add drag-start listeners to all vertices of the given path.
|
|
199
201
|
*
|
|
@@ -22,15 +22,17 @@
|
|
|
22
22
|
* @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
|
|
23
23
|
* @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
|
|
24
24
|
* @modified 2024-03-10 Fixing some types for Typescript 5 compatibility.
|
|
25
|
-
* @
|
|
25
|
+
* @modified 2025-04-14 Added the `BezierPathInteractionHelper.drawHandleLines` method.
|
|
26
|
+
* @modified 2025-04-14 Fixing correct event types for touch events in `BezierPathInteractionHelper`.
|
|
27
|
+
* @modified 2025-04-14 BezierPathInteractionHelper: Changed default value of `HelperOptions.autoAdjustPaths` from `true` to `false`.
|
|
28
|
+
* @version 1.2.0
|
|
26
29
|
*
|
|
27
30
|
* @file BezierPathInteractionHelper
|
|
28
31
|
* @public
|
|
29
32
|
**/
|
|
30
|
-
// import { AlloyFinger } from "alloyfinger"; // node_modules
|
|
31
33
|
// I would like to use AlloyFinger from the node_modules, but it seems
|
|
32
34
|
// AlloyTeam has forgotten to publish their d.ts file.
|
|
33
|
-
import
|
|
35
|
+
import AlloyFinger from "alloyfinger-typescript";
|
|
34
36
|
import { BezierPath } from "../../BezierPath";
|
|
35
37
|
import { KeyHandler } from "../../KeyHandler";
|
|
36
38
|
import { MouseHandler } from "../../MouseHandler";
|
|
@@ -75,7 +77,9 @@ export class BezierPathInteractionHelper {
|
|
|
75
77
|
this.pb = pb;
|
|
76
78
|
this.paths = [];
|
|
77
79
|
this.onPointerMoved =
|
|
78
|
-
typeof options.onPointerMoved === "function"
|
|
80
|
+
typeof options.onPointerMoved === "function"
|
|
81
|
+
? options.onPointerMoved
|
|
82
|
+
: (i, a, b, t) => { };
|
|
79
83
|
this.onVertexInserted =
|
|
80
84
|
typeof options.onVertexInserted === "function"
|
|
81
85
|
? options.onVertexInserted
|
|
@@ -85,7 +89,7 @@ export class BezierPathInteractionHelper {
|
|
|
85
89
|
? options.onVerticesDeleted
|
|
86
90
|
: (i, r, n, o) => { };
|
|
87
91
|
this.onPathRemoved = typeof options.onPathRemoved === "function" ? options.onPathRemoved : (i, o) => { };
|
|
88
|
-
this.autoAdjustPaths = typeof options.autoAdjustPaths === "boolean" ? options.autoAdjustPaths : true;
|
|
92
|
+
this.autoAdjustPaths = typeof options.autoAdjustPaths === "boolean" ? options.autoAdjustPaths : false; // true;
|
|
89
93
|
this.allowPathRemoval = typeof options.allowPathRemoval === "boolean" ? options.allowPathRemoval : true;
|
|
90
94
|
this.maxDetectDistance = typeof options.maxDetectDistance === "number" ? options.maxDetectDistance : Number.MAX_VALUE;
|
|
91
95
|
this.mouseIsOver = false;
|
|
@@ -109,8 +113,9 @@ export class BezierPathInteractionHelper {
|
|
|
109
113
|
this._touchHandler = this._installTouchListener();
|
|
110
114
|
this._keyHandler = this._installKeyListener();
|
|
111
115
|
// Paths might have changed by auto-adjustment.
|
|
112
|
-
if (this.autoAdjustPaths)
|
|
116
|
+
if (this.autoAdjustPaths) {
|
|
113
117
|
pb.redraw();
|
|
118
|
+
}
|
|
114
119
|
}
|
|
115
120
|
/**
|
|
116
121
|
* Manually add a path to this helper.
|
|
@@ -179,6 +184,24 @@ export class BezierPathInteractionHelper {
|
|
|
179
184
|
// Just re-run the calculation with the recent mouse/touch position
|
|
180
185
|
this._handleMoveEvent(this.currentB.x, this.currentB.y);
|
|
181
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Draw grey handle lines.
|
|
189
|
+
*
|
|
190
|
+
*/
|
|
191
|
+
drawHandleLines() {
|
|
192
|
+
this.paths.forEach((path) => {
|
|
193
|
+
path.bezierCurves.forEach((curve) => {
|
|
194
|
+
this.pb.draw.line(curve.startPoint, curve.startControlPoint, "rgba(64,192,128,0.333)", 1.0, {
|
|
195
|
+
dashOffset: 0.0,
|
|
196
|
+
dashArray: [4, 2]
|
|
197
|
+
});
|
|
198
|
+
this.pb.draw.line(curve.endPoint, curve.endControlPoint, "rgba(64,192,128,0.333)", 1.0, {
|
|
199
|
+
dashOffset: 0.0,
|
|
200
|
+
dashArray: [4, 2]
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
}
|
|
182
205
|
/**
|
|
183
206
|
* This function should invalidate any installed listeners and invalidate this object.
|
|
184
207
|
* After calling this function the object might not hold valid data any more and
|
|
@@ -347,16 +370,22 @@ export class BezierPathInteractionHelper {
|
|
|
347
370
|
var _self = this;
|
|
348
371
|
const afProps = {
|
|
349
372
|
// Todo: which event types does AlloyFinger use?
|
|
373
|
+
// touchStart: function (_event: TouchEvent) {
|
|
374
|
+
// _self.mouseIsOver = true;
|
|
375
|
+
// },
|
|
376
|
+
// /* TouchMoveEvent , AFTouchEvent<"touchStart"> */
|
|
350
377
|
touchStart: function (_event) {
|
|
351
378
|
_self.mouseIsOver = true;
|
|
352
379
|
},
|
|
353
380
|
touchMove: function (event) {
|
|
381
|
+
// TouchEvent) {
|
|
354
382
|
if (_self.pb.getDraggedElementCount() == 0 && event.touches.length > 0) {
|
|
355
383
|
// console.log('touchmove');
|
|
356
384
|
_self._handleMoveEvent(event.touches[0].clientX, event.touches[0].clientY);
|
|
357
385
|
}
|
|
358
386
|
},
|
|
359
387
|
touchEnd: function (_event) {
|
|
388
|
+
// TouchEvent) {
|
|
360
389
|
_self.mouseIsOver = false;
|
|
361
390
|
_self._clearMoveEvent();
|
|
362
391
|
}
|
|
@@ -482,22 +511,6 @@ export class BezierPathInteractionHelper {
|
|
|
482
511
|
}
|
|
483
512
|
path.updateArcLengths();
|
|
484
513
|
}
|
|
485
|
-
/**
|
|
486
|
-
* A helper function to add drag-start-listener to given vertices.
|
|
487
|
-
*/
|
|
488
|
-
/* private static _addVertsDragStartListener( verts:Array<Vertex>, dragStartListener:VertListener ) : void {
|
|
489
|
-
for( var i in verts ) {
|
|
490
|
-
verts[i].addDragStartListener( dragStartListener );
|
|
491
|
-
}
|
|
492
|
-
}; */
|
|
493
|
-
/**
|
|
494
|
-
* A helper function to remove drag-start-listener to given vertices.
|
|
495
|
-
*/
|
|
496
|
-
/* private static _removeVertsDragStartListener( verts:Array<Vertex>, dragEndListener:VertListener ) : void {
|
|
497
|
-
for( var i in verts ) {
|
|
498
|
-
verts[i].removeDragStartListener( dragStartListener );
|
|
499
|
-
}
|
|
500
|
-
}; */
|
|
501
514
|
/**
|
|
502
515
|
* A helper function to add drag-start listeners to all vertices of the given path.
|
|
503
516
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BezierPathInteractionHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/BezierPathInteractionHelper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BezierPathInteractionHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/BezierPathInteractionHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,13 @@
|
|
|
13
13
|
* @date 2021-01-22
|
|
14
14
|
* @modified 2021-01-26 Moving control points with center points
|
|
15
15
|
* @modified 2024-03-10 Adding the `destory` method for properly removing installed listeners.
|
|
16
|
-
* @
|
|
16
|
+
* @modified 2025-04-02 Adding `CircleSectorHelper.drawHandleLines()`,
|
|
17
|
+
* @version 1.2.0
|
|
17
18
|
**/
|
|
18
19
|
import { CircleSector } from "../../CircleSector";
|
|
19
20
|
import { PlotBoilerplate } from "../../PlotBoilerplate";
|
|
20
21
|
import { Vertex } from "../../Vertex";
|
|
22
|
+
import { DrawLib } from "../../interfaces";
|
|
21
23
|
/**
|
|
22
24
|
* @classdesc A helper for handling circles with an additional radius-control-point.
|
|
23
25
|
*/
|
|
@@ -69,6 +71,13 @@ export declare class CircleSectorHelper {
|
|
|
69
71
|
* @returns A new event handler.
|
|
70
72
|
*/
|
|
71
73
|
private _handleDragEndControlPoint;
|
|
74
|
+
/**
|
|
75
|
+
* Draw grey handle lines.
|
|
76
|
+
*
|
|
77
|
+
* @param {DrawLib<any>} draw - The draw library instance to use.
|
|
78
|
+
* @param {DrawLib<any>} fill - The fill library instance to use.
|
|
79
|
+
*/
|
|
80
|
+
drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>): void;
|
|
72
81
|
/**
|
|
73
82
|
* Destroy this circle helper.
|
|
74
83
|
* The listeners will be removed from the circle sector's points.
|
|
@@ -21,23 +21,9 @@ export class CircleSectorHelper {
|
|
|
21
21
|
this.circleSector = circleSector;
|
|
22
22
|
this.controlPointStart = controlPointStart;
|
|
23
23
|
this.controlPointEnd = controlPointEnd;
|
|
24
|
-
this.circleSector.circle.center.listeners.addDragListener(this.centerListener = this._handleDragCenter());
|
|
25
|
-
this.controlPointStart.listeners.addDragListener(this.radiusStartListener = this._handleDragStartControlPoint());
|
|
26
|
-
this.controlPointEnd.listeners.addDragListener(this.radiusEndListener = this._handleDragEndControlPoint());
|
|
27
|
-
// circleSector.circle.center.listeners.addDragListener( (e:VertEvent) => {
|
|
28
|
-
// controlPointStart.add( e.params.dragAmount );
|
|
29
|
-
// controlPointEnd.add( e.params.dragAmount );
|
|
30
|
-
// } );
|
|
31
|
-
// controlPointStart.listeners.addDragListener( (e:VertEvent) => {
|
|
32
|
-
// circleSector.circle.radius = circleSector.circle.center.distance(controlPointStart);
|
|
33
|
-
// controlPointEnd.set( circleSector.circle.vertAt(circleSector.endAngle) );
|
|
34
|
-
// circleSector.startAngle = circleSector.circle.center.angle( controlPointStart );
|
|
35
|
-
// } );
|
|
36
|
-
// controlPointEnd.listeners.addDragListener( (e:VertEvent) => {
|
|
37
|
-
// circleSector.circle.radius = circleSector.circle.center.distance(controlPointEnd);
|
|
38
|
-
// controlPointStart.set( circleSector.circle.vertAt(circleSector.startAngle) );
|
|
39
|
-
// circleSector.endAngle = circleSector.circle.center.angle( controlPointEnd );
|
|
40
|
-
// } );
|
|
24
|
+
this.circleSector.circle.center.listeners.addDragListener((this.centerListener = this._handleDragCenter()));
|
|
25
|
+
this.controlPointStart.listeners.addDragListener((this.radiusStartListener = this._handleDragStartControlPoint()));
|
|
26
|
+
this.controlPointEnd.listeners.addDragListener((this.radiusEndListener = this._handleDragEndControlPoint()));
|
|
41
27
|
}
|
|
42
28
|
/**
|
|
43
29
|
* Creates a new drag handler for the circle sector's center point.
|
|
@@ -72,7 +58,6 @@ export class CircleSectorHelper {
|
|
|
72
58
|
_self.circleSector.startAngle = _self.circleSector.circle.center.angle(_self.controlPointStart);
|
|
73
59
|
};
|
|
74
60
|
}
|
|
75
|
-
;
|
|
76
61
|
/**
|
|
77
62
|
* Creates a new drag handler for the circle sector's end control point.
|
|
78
63
|
*
|
|
@@ -90,7 +75,22 @@ export class CircleSectorHelper {
|
|
|
90
75
|
_self.circleSector.endAngle = _self.circleSector.circle.center.angle(_self.controlPointEnd);
|
|
91
76
|
};
|
|
92
77
|
}
|
|
93
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Draw grey handle lines.
|
|
80
|
+
*
|
|
81
|
+
* @param {DrawLib<any>} draw - The draw library instance to use.
|
|
82
|
+
* @param {DrawLib<any>} fill - The fill library instance to use.
|
|
83
|
+
*/
|
|
84
|
+
drawHandleLines(draw, fill) {
|
|
85
|
+
draw.line(this.circleSector.circle.center, this.controlPointStart, "rgba(64,192,128,0.333)", 1.0, {
|
|
86
|
+
dashOffset: 0.0,
|
|
87
|
+
dashArray: [4, 2]
|
|
88
|
+
});
|
|
89
|
+
draw.line(this.circleSector.circle.center, this.controlPointEnd, "rgba(64,192,128,0.333)", 1.0, {
|
|
90
|
+
dashOffset: 0.0,
|
|
91
|
+
dashArray: [4, 2]
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
94
|
/**
|
|
95
95
|
* Destroy this circle helper.
|
|
96
96
|
* The listeners will be removed from the circle sector's points.
|
|
@@ -105,5 +105,4 @@ export class CircleSectorHelper {
|
|
|
105
105
|
this.controlPointEnd.listeners.removeDragListener(this.radiusEndListener);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
;
|
|
109
108
|
//# sourceMappingURL=CircleSectorHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleSectorHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/CircleSectorHelper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH;;GAEG;AACH,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"CircleSectorHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/CircleSectorHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper for VEllipses.
|
|
3
|
+
*
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2025-03-31
|
|
6
|
+
* @modified 2025-04-02 Adding `VEllipseHelper.drawHandleLines()`.
|
|
7
|
+
* @modified 2025-04-09 Adding `VEllipseHelper.destroy()`.
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
import { VEllipse } from "../../VEllipse";
|
|
11
|
+
import { Vertex } from "../../Vertex";
|
|
12
|
+
import { DrawLib } from "../../interfaces";
|
|
13
|
+
export declare class VEllipseHelper {
|
|
14
|
+
private readonly ellipse;
|
|
15
|
+
private readonly rotationControlPoint;
|
|
16
|
+
private _rotationControlLine;
|
|
17
|
+
private _centerPointHandler;
|
|
18
|
+
private _rotationPointHandler;
|
|
19
|
+
constructor(ellipse: VEllipse, rotationControlPoint: Vertex);
|
|
20
|
+
private _handleDragCenterPoint;
|
|
21
|
+
private _handleRotationCenterPoint;
|
|
22
|
+
/**
|
|
23
|
+
* Draw grey handle lines.
|
|
24
|
+
*
|
|
25
|
+
* @param {DrawLib<any>} draw - The draw library instance to use.
|
|
26
|
+
* @param {DrawLib<any>} fill - The fill library instance to use.
|
|
27
|
+
*/
|
|
28
|
+
drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>): void;
|
|
29
|
+
detroy(): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper for VEllipses.
|
|
3
|
+
*
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2025-03-31
|
|
6
|
+
* @modified 2025-04-02 Adding `VEllipseHelper.drawHandleLines()`.
|
|
7
|
+
* @modified 2025-04-09 Adding `VEllipseHelper.destroy()`.
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
import { Line } from "../../Line";
|
|
11
|
+
export class VEllipseHelper {
|
|
12
|
+
constructor(ellipse, rotationControlPoint) {
|
|
13
|
+
this.ellipse = ellipse;
|
|
14
|
+
this.rotationControlPoint = rotationControlPoint;
|
|
15
|
+
// const rotationControlLine: Line = new Line(ellipse.center, rotationControlPoint);
|
|
16
|
+
this._rotationControlLine = new Line(ellipse.center, rotationControlPoint);
|
|
17
|
+
// +---------------------------------------------------------------------
|
|
18
|
+
// | Listen for the center to be moved.
|
|
19
|
+
// +-------------------------------------------
|
|
20
|
+
// ellipse.center.listeners.addDragListener((event: VertEvent) => {
|
|
21
|
+
// rotationControlPoint.add(event.params.dragAmount);
|
|
22
|
+
// });
|
|
23
|
+
ellipse.center.listeners.addDragListener((this._centerPointHandler = this._handleDragCenterPoint()));
|
|
24
|
+
// +---------------------------------------------------------------------
|
|
25
|
+
// | Listen for rotation changes.
|
|
26
|
+
// +-------------------------------------------
|
|
27
|
+
// rotationControlPoint.listeners.addDragListener((_event: VertEvent) => {
|
|
28
|
+
// var newRotation = rotationControlLine.angle();
|
|
29
|
+
// var rDiff = newRotation - ellipse.rotation;
|
|
30
|
+
// ellipse.rotation = newRotation;
|
|
31
|
+
// ellipse.axis.rotate(rDiff, ellipse.center);
|
|
32
|
+
// });
|
|
33
|
+
rotationControlPoint.listeners.addDragListener((this._rotationPointHandler = this._handleRotationCenterPoint()));
|
|
34
|
+
}
|
|
35
|
+
_handleDragCenterPoint() {
|
|
36
|
+
const _self = this;
|
|
37
|
+
return (event) => {
|
|
38
|
+
_self.rotationControlPoint.add(event.params.dragAmount);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
_handleRotationCenterPoint() {
|
|
42
|
+
const _self = this;
|
|
43
|
+
return (_event) => {
|
|
44
|
+
var newRotation = _self._rotationControlLine.angle();
|
|
45
|
+
var rDiff = newRotation - _self.ellipse.rotation;
|
|
46
|
+
_self.ellipse.rotation = newRotation;
|
|
47
|
+
_self.ellipse.axis.rotate(rDiff, _self.ellipse.center);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Draw grey handle lines.
|
|
52
|
+
*
|
|
53
|
+
* @param {DrawLib<any>} draw - The draw library instance to use.
|
|
54
|
+
* @param {DrawLib<any>} fill - The fill library instance to use.
|
|
55
|
+
*/
|
|
56
|
+
drawHandleLines(draw, fill) {
|
|
57
|
+
// Draw rotation handle line
|
|
58
|
+
draw.line(this.ellipse.center, this.rotationControlPoint, "rgba(192,64,128,0.333)", 1.0, {
|
|
59
|
+
dashOffset: 0.0,
|
|
60
|
+
dashArray: [4, 2]
|
|
61
|
+
});
|
|
62
|
+
// Draw helper box
|
|
63
|
+
draw.setCurrentId(`${this.ellipse.uid}_e0`);
|
|
64
|
+
draw.setCurrentClassName(`${this.ellipse.className}-v-line`);
|
|
65
|
+
draw.line(this.ellipse.center.clone().add(0, this.ellipse.signedRadiusV()).rotate(this.ellipse.rotation, this.ellipse.center), this.ellipse.axis, "rgba(64,128,192,0.333)", 1.0, {
|
|
66
|
+
dashOffset: 0.0,
|
|
67
|
+
dashArray: [4, 2]
|
|
68
|
+
});
|
|
69
|
+
draw.setCurrentId(`${this.ellipse.uid}_e1`);
|
|
70
|
+
draw.setCurrentClassName(`${this.ellipse.className}-h-line`);
|
|
71
|
+
draw.line(this.ellipse.center.clone().add(this.ellipse.signedRadiusH(), 0).rotate(this.ellipse.rotation, this.ellipse.center), this.ellipse.axis, "rgba(64,128,192,0.333)", 1.0, {
|
|
72
|
+
dashOffset: 0.0,
|
|
73
|
+
dashArray: [4, 2]
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
detroy() {
|
|
77
|
+
this.ellipse.center.listeners.removeDragListener(this._centerPointHandler);
|
|
78
|
+
this.rotationControlPoint.listeners.removeDragListener(this._rotationPointHandler);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=VEllipseHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VEllipseHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/VEllipseHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A helper for VEllipseSectors.
|
|
3
3
|
*
|
|
4
|
-
* @author
|
|
5
|
-
* @date
|
|
6
|
-
* @
|
|
4
|
+
* @author Ikaros Kappler
|
|
5
|
+
* @date 2021-03-24
|
|
6
|
+
* @modified 2025-04-02 Adding `VEllipseSectorHelper.drawHandleLines`.
|
|
7
|
+
* @modified 2025-04-07 Modifying the calculation of `startAngle` and `endAngle` from the rotation control point: wrapping result into [0,TWO_PI).
|
|
8
|
+
* @modified 2025-04-09 Adding the `VEllipseSectorHelper.destroy` method.
|
|
9
|
+
* @version 1.1.0
|
|
7
10
|
*/
|
|
8
11
|
import { VEllipseSector } from "../../VEllipseSector";
|
|
9
12
|
import { Vertex } from "../../Vertex";
|
|
13
|
+
import { DrawLib } from "../../interfaces";
|
|
10
14
|
export declare class VEllipseSectorHelper {
|
|
15
|
+
private sector;
|
|
16
|
+
private startAngleControlPoint;
|
|
17
|
+
private endAngleControlPoint;
|
|
18
|
+
private rotationControlPoint;
|
|
19
|
+
private _rotationControlLine;
|
|
20
|
+
private _startAngleControlLine;
|
|
21
|
+
private _endAngleControlLine;
|
|
22
|
+
private _centerHandler;
|
|
23
|
+
private _rotationHandler;
|
|
24
|
+
private _startAngleHandler;
|
|
25
|
+
private _endAngleHandler;
|
|
11
26
|
constructor(sector: VEllipseSector, startAngleControlPoint: Vertex, endAngleControlPoint: Vertex, rotationControlPoint: Vertex);
|
|
27
|
+
/**
|
|
28
|
+
* Creates a new drag handler for the circle sector's start control point.
|
|
29
|
+
*
|
|
30
|
+
* @private
|
|
31
|
+
* @method _handleDragStartControlPoint
|
|
32
|
+
* @instance
|
|
33
|
+
* @memberof CircleSectorHelper
|
|
34
|
+
* @returns A new event handler.
|
|
35
|
+
*/
|
|
36
|
+
private _handleDragCenterPoint;
|
|
37
|
+
private _handleDragRotationControlPoint;
|
|
38
|
+
private _handleDragStartAngleControlPoint;
|
|
39
|
+
private _handleDragEndAngleControlPoint;
|
|
40
|
+
/**
|
|
41
|
+
* Draw grey handle lines.
|
|
42
|
+
*
|
|
43
|
+
* @param {DrawLib<any>} draw - The draw library instance to use.
|
|
44
|
+
* @param {DrawLib<any>} fill - The fill library instance to use.
|
|
45
|
+
*/
|
|
46
|
+
drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>): void;
|
|
47
|
+
/**
|
|
48
|
+
* Destroy this VEllipseHandler which means: all listeners are being removed.
|
|
49
|
+
*/
|
|
50
|
+
destroy(): void;
|
|
12
51
|
}
|