plotboilerplate 1.24.0 → 1.26.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 +14 -1
- package/dist/index.esm.js +433 -162
- 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 +12312 -12041
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +9 -5
- package/src/cjs/Bounds.d.ts +79 -25
- package/src/cjs/Bounds.js +102 -29
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +3 -0
- package/src/cjs/CircleSector.js +28 -1
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +37 -6
- package/src/cjs/PlotBoilerplate.js +222 -116
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +26 -7
- package/src/cjs/Polygon.js +56 -10
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.js +2 -2
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/Vertex.d.ts +15 -3
- package/src/cjs/Vertex.js +18 -1
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +2 -1
- package/src/cjs/drawutilssvg.js +9 -3
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +28 -0
- package/src/cjs/interfaces/core.js +2 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/utils/LissajousFigure.d.ts +34 -0
- package/src/cjs/utils/LissajousFigure.js +100 -0
- package/src/cjs/utils/LissajousFigure.js.map +1 -0
- package/src/cjs/utils/PerlinNoise.d.ts +19 -0
- package/src/cjs/utils/PerlinNoise.js +352 -0
- package/src/cjs/utils/PerlinNoise.js.map +1 -0
- package/src/cjs/utils/SVGPathUtils.d.ts +22 -0
- package/src/cjs/utils/SVGPathUtils.js +45 -0
- package/src/cjs/utils/SVGPathUtils.js.map +1 -0
- package/src/cjs/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
- package/src/cjs/utils/algorithms/pixelCornersToRoundPaths.js +270 -0
- package/src/cjs/utils/algorithms/pixelCornersToRoundPaths.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/datastructures/DataGrid2d.d.ts +6 -0
- package/src/cjs/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
- package/src/cjs/utils/datastructures/DataGrid2dArrayMatrix.js +155 -0
- package/src/cjs/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
- package/src/cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +1 -7
- package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js +3 -3
- package/src/cjs/utils/datastructures/DataGrid2dListAdapter.js.map +1 -1
- package/src/cjs/utils/datastructures/GeometryMesh.d.ts +49 -0
- package/src/cjs/utils/datastructures/GeometryMesh.js +58 -0
- package/src/cjs/utils/datastructures/GeometryMesh.js.map +1 -0
- package/src/cjs/utils/detectDarkMode.js +16 -7
- package/src/cjs/utils/detectDarkMode.js.map +1 -1
- package/src/cjs/utils/dom/components/ColorGradientPicker.d.ts +246 -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 +118 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js +327 -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 +9 -3
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +20 -13
- 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 +2 -2
- package/src/cjs/utils/helpers/CircleSectorHelper.js +1 -0
- 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 +6 -4
- package/src/cjs/utils/helpers/VEllipseHelper.js +4 -2
- package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -1
- package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +3 -2
- package/src/cjs/utils/helpers/VEllipseSectorHelper.js +1 -0
- 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/cjs/utils/parsers/svg/types.d.ts +8 -8
- package/src/createDemoDrawables.js +1 -0
- package/src/esm/Bounds.d.ts +79 -25
- package/src/esm/Bounds.js +102 -29
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/CircleSector.d.ts +3 -0
- package/src/esm/CircleSector.js +28 -1
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +37 -6
- package/src/esm/PlotBoilerplate.js +222 -116
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +26 -7
- package/src/esm/Polygon.js +53 -10
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.js +2 -2
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/Vertex.d.ts +15 -3
- package/src/esm/Vertex.js +18 -1
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +2 -1
- package/src/esm/drawutilssvg.js +9 -3
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +28 -0
- package/src/esm/interfaces/core.js +2 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/utils/LissajousFigure.d.ts +34 -0
- package/src/esm/utils/LissajousFigure.js +95 -0
- package/src/esm/utils/LissajousFigure.js.map +1 -0
- package/src/esm/utils/PerlinNoise.d.ts +19 -0
- package/src/esm/utils/PerlinNoise.js +346 -0
- package/src/esm/utils/PerlinNoise.js.map +1 -0
- package/src/esm/utils/SVGPathUtils.d.ts +22 -0
- package/src/esm/utils/SVGPathUtils.js +42 -0
- package/src/esm/utils/SVGPathUtils.js.map +1 -0
- package/src/esm/utils/algorithms/pixelCornersToRoundPaths.d.ts +23 -0
- package/src/esm/utils/algorithms/pixelCornersToRoundPaths.js +266 -0
- package/src/esm/utils/algorithms/pixelCornersToRoundPaths.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/datastructures/DataGrid2d.d.ts +6 -0
- package/src/esm/utils/datastructures/DataGrid2dArrayMatrix.d.ts +88 -0
- package/src/esm/utils/datastructures/DataGrid2dArrayMatrix.js +150 -0
- package/src/esm/utils/datastructures/DataGrid2dArrayMatrix.js.map +1 -0
- package/src/esm/utils/datastructures/DataGrid2dListAdapter.d.ts +1 -7
- package/src/esm/utils/datastructures/DataGrid2dListAdapter.js +3 -3
- package/src/esm/utils/datastructures/DataGrid2dListAdapter.js.map +1 -1
- package/src/esm/utils/datastructures/GeometryMesh.d.ts +49 -0
- package/src/esm/utils/datastructures/GeometryMesh.js +53 -0
- package/src/esm/utils/datastructures/GeometryMesh.js.map +1 -0
- package/src/esm/utils/detectDarkMode.js +16 -7
- package/src/esm/utils/detectDarkMode.js.map +1 -1
- package/src/esm/utils/dom/components/ColorGradientPicker.d.ts +246 -0
- package/src/esm/utils/dom/components/ColorGradientPicker.js +743 -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 +118 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js +339 -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 +9 -3
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +20 -13
- 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 +2 -2
- package/src/esm/utils/helpers/CircleSectorHelper.js +1 -0
- 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 +6 -4
- package/src/esm/utils/helpers/VEllipseHelper.js +4 -2
- package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -1
- package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +3 -2
- package/src/esm/utils/helpers/VEllipseSectorHelper.js +1 -0
- 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/esm/utils/parsers/svg/types.d.ts +8 -8
- package/src/external.d.ts +9 -0
- package/src/ts/Bounds.ts +107 -22
- package/src/ts/CircleSector.ts +39 -6
- package/src/ts/PlotBoilerplate.ts +233 -105
- package/src/ts/Polygon.ts +68 -14
- package/src/ts/Triangle.ts +2 -2
- package/src/ts/Vertex.ts +21 -3
- package/src/ts/drawutilssvg.ts +8 -3
- package/src/ts/interfaces/core.ts +31 -0
- package/src/ts/utils/LissajousFigure.ts +110 -0
- package/src/ts/utils/PerlinNoise.ts +368 -0
- package/src/ts/utils/SVGPathUtils.ts +55 -0
- package/src/ts/utils/algorithms/pixelCornersToRoundPaths.ts +379 -0
- package/src/ts/utils/datastructures/Color.ts +423 -44
- package/src/ts/utils/datastructures/ColorGradient.ts +196 -0
- package/src/ts/utils/datastructures/DataGrid2d.ts +7 -0
- package/src/ts/utils/datastructures/DataGrid2dArrayMatrix.ts +182 -0
- package/src/ts/utils/datastructures/DataGrid2dListAdapter.ts +4 -11
- package/src/ts/utils/datastructures/GeometryMesh.ts +79 -0
- package/src/ts/utils/detectDarkMode.ts +17 -8
- package/src/ts/utils/dom/components/ColorGradientPicker.tsx +889 -0
- package/src/ts/utils/dom/components/ColorGradientSelector.tsx +452 -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 +25 -15
- package/src/ts/utils/helpers/CircleHelper.ts +17 -3
- package/src/ts/utils/helpers/CircleSectorHelper.ts +4 -2
- package/src/ts/utils/helpers/TriangleHelper.ts +102 -0
- package/src/ts/utils/helpers/VEllipseHelper.ts +6 -4
- package/src/ts/utils/helpers/VEllipseSectorHelper.ts +3 -2
- package/src/ts/utils/parsers/LinearColorGradientParser.ts +297 -0
- package/src/ts/utils/parsers/svg/types.ts +8 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plotboilerplate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"description": "A simple javascript plotting boilerplate for 2d stuff.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "src/cjs/index.js",
|
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
"src"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "npm run build-module && npm run build-browser",
|
|
14
|
+
"build": "npm run build-module && npm run build-browser && npm run post-build-cleanup",
|
|
15
15
|
"build-browser": "npm run compile-typescript-browser && npm run webpack-browser && cp dist/plotboilerplate.browser.min.js dist/plotboilerplate.min.js",
|
|
16
16
|
"build-module": "npm run compile-typescript-module && npm run rollup-module",
|
|
17
|
-
"compile-typescript-browser": "tsc
|
|
18
|
-
"compile-typescript-module": "tsc
|
|
17
|
+
"compile-typescript-browser": "tsc --p tsconfig.browser.json",
|
|
18
|
+
"compile-typescript-module": "tsc --p tsconfig.json",
|
|
19
19
|
"compile-typescript-demo": "cd bin && ./run-compile-demo-ts.sh",
|
|
20
|
+
"post-build-cleanup": "rm ./dist/*.d.ts && rm -rf ./dist/interfaces && rm -rf ./dist/utils",
|
|
20
21
|
"mkdocs": "cd bin && ./run-mk-typedocs.sh",
|
|
21
22
|
"mk-release": "cd bin && ./run-mk-zippackage.sh",
|
|
22
23
|
"server": "npx http-server",
|
|
@@ -26,7 +27,8 @@
|
|
|
26
27
|
"rollup-module": "npx rollup -c",
|
|
27
28
|
"tslint": "npx eslint ./src/ts/",
|
|
28
29
|
"start-python-server": "python3 -m http.server 8000",
|
|
29
|
-
"serve": "npm run start-python-server"
|
|
30
|
+
"serve": "npm run start-python-server",
|
|
31
|
+
"reinstall": "npm install-clean"
|
|
30
32
|
},
|
|
31
33
|
"repository": {
|
|
32
34
|
"type": "git",
|
|
@@ -67,6 +69,7 @@
|
|
|
67
69
|
"homepage": "https://plotboilerplate.io",
|
|
68
70
|
"devDependencies": {
|
|
69
71
|
"@babel/core": "^7.9.0",
|
|
72
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
70
73
|
"@types/dat.gui": "^0.7.7",
|
|
71
74
|
"@typescript-eslint/eslint-plugin": "^4.7.0",
|
|
72
75
|
"@typescript-eslint/parser": "^4.7.0",
|
|
@@ -96,6 +99,7 @@
|
|
|
96
99
|
"alloyfinger-typescript": "^0.1.19",
|
|
97
100
|
"greiner-hormann-typescript": "^1.4.1",
|
|
98
101
|
"lil-gui": "^0.19.2",
|
|
102
|
+
"noreact": "github:IkarosKappler/noreact",
|
|
99
103
|
"path2d-polyfill": "^1.1.0"
|
|
100
104
|
}
|
|
101
105
|
}
|
package/src/cjs/Bounds.d.ts
CHANGED
|
@@ -13,7 +13,11 @@
|
|
|
13
13
|
* @modified 2025-04-18 Change parameter type in `Bounds.computeFromVertices` from `Vertex` to more general `XYCoords`.
|
|
14
14
|
* @modified 2025-04-19 Added methods to `Bounds` class: `getNorthPoint`, `getSouthPoint`, `getEastPoint` and `getWestPoint`.
|
|
15
15
|
* @modified 2025-04-26 Added static method `Bounds.computeFromBoundsSet` to calculate containing bounds for a set of bounding boxes.
|
|
16
|
-
* @
|
|
16
|
+
* @modified 2025-10-17 Added the methods `Bounds.getSouthWestPoint`, `getNorthWestPoint`, `getNorthEastPoint` and `getSouthEastPoint`.
|
|
17
|
+
* @modified 2025-10-18 Added method `Bounds.containsVert(XYCoords)`.
|
|
18
|
+
* @modified 2025-10-28 Added the `Bounds.getWidth()` and `Bounds.getHeight()`.
|
|
19
|
+
* @modified 2025-11-12 Added the `Bounds.getMoved()` method.
|
|
20
|
+
* @version 1.11.0
|
|
17
21
|
**/
|
|
18
22
|
import { Polygon } from "./Polygon";
|
|
19
23
|
import { XYCoords, IBounds, XYDimension } from "./interfaces";
|
|
@@ -63,6 +67,20 @@ export declare class Bounds implements IBounds, XYDimension {
|
|
|
63
67
|
* @param {XYCoords} max - The max values (x,y) as a XYCoords tuple.
|
|
64
68
|
**/
|
|
65
69
|
constructor(min: XYCoords, max: XYCoords);
|
|
70
|
+
/**
|
|
71
|
+
* Check if the given vertex is inside this bounds.
|
|
72
|
+
*
|
|
73
|
+
* @method containsVert
|
|
74
|
+
* @param {XYCoords} vert - The vertex to check.
|
|
75
|
+
* @return {boolean} True if the passed vertex is inside this bounds.
|
|
76
|
+
* @instance
|
|
77
|
+
* @memberof Bounds
|
|
78
|
+
**/
|
|
79
|
+
containsVert(vert: XYCoords): boolean;
|
|
80
|
+
getWidth(): number;
|
|
81
|
+
getHeight(): number;
|
|
82
|
+
getScaled(scaleFactor: number): Bounds;
|
|
83
|
+
getMoved(moveAmount: XYCoords): Bounds;
|
|
66
84
|
/**
|
|
67
85
|
* Get the center point of the north bound.
|
|
68
86
|
*
|
|
@@ -82,23 +100,59 @@ export declare class Bounds implements IBounds, XYDimension {
|
|
|
82
100
|
*/
|
|
83
101
|
getSouthPoint(): Vertex;
|
|
84
102
|
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
103
|
+
* Get the center point of the west bound.
|
|
104
|
+
*
|
|
105
|
+
* @method getWestPoint
|
|
106
|
+
* @instance
|
|
107
|
+
* @memberof Bounds
|
|
108
|
+
* @return {Vertex} The "westhmost" centered point of this bounding box.
|
|
109
|
+
*/
|
|
92
110
|
getWestPoint(): Vertex;
|
|
93
111
|
/**
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
112
|
+
* Get the center point of the east bound.
|
|
113
|
+
*
|
|
114
|
+
* @method getEastPoint
|
|
115
|
+
* @instance
|
|
116
|
+
* @memberof Bounds
|
|
117
|
+
* @return {Vertex} The "easthmost" centered point of this bounding box.
|
|
118
|
+
*/
|
|
101
119
|
getEastPoint(): Vertex;
|
|
120
|
+
/**
|
|
121
|
+
* Get the upper left corner point these bounds box.
|
|
122
|
+
*
|
|
123
|
+
* @method getNorthWestPoint
|
|
124
|
+
* @instance
|
|
125
|
+
* @memberof Bounds
|
|
126
|
+
* @return {Vertex} The "northwestmost" point of this bounding box.
|
|
127
|
+
*/
|
|
128
|
+
getNorthWestPoint(): Vertex;
|
|
129
|
+
/**
|
|
130
|
+
* Get the upper right corner point these bounds box.
|
|
131
|
+
*
|
|
132
|
+
* @method getNorthEastPoint
|
|
133
|
+
* @instance
|
|
134
|
+
* @memberof Bounds
|
|
135
|
+
* @return {Vertex} The "northeastmost" point of this bounding box.
|
|
136
|
+
*/
|
|
137
|
+
getNorthEastPoint(): Vertex;
|
|
138
|
+
/**
|
|
139
|
+
* Get the lower right corner point these bounds box.
|
|
140
|
+
*
|
|
141
|
+
* @method getSouthEastPoint
|
|
142
|
+
* @instance
|
|
143
|
+
* @memberof Bounds
|
|
144
|
+
* @return {Vertex} The "southeastmost" point of this bounding box.
|
|
145
|
+
*/
|
|
146
|
+
getSouthEastPoint(): Vertex;
|
|
147
|
+
/**
|
|
148
|
+
* Get the lower left corner point these bounds box.
|
|
149
|
+
*
|
|
150
|
+
* @method getSouthWestPoint
|
|
151
|
+
* @instance
|
|
152
|
+
* @memberof Bounds
|
|
153
|
+
* @return {Vertex} The "southwestmost" point of this bounding box.
|
|
154
|
+
*/
|
|
155
|
+
getSouthWestPoint(): Vertex;
|
|
102
156
|
/**
|
|
103
157
|
* Convert this rectangular bounding box to a polygon with four vertices.
|
|
104
158
|
*
|
|
@@ -175,16 +229,16 @@ export declare class Bounds implements IBounds, XYDimension {
|
|
|
175
229
|
**/
|
|
176
230
|
static computeFromVertices(vertices: Array<XYCoords>): Bounds;
|
|
177
231
|
/**
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
232
|
+
* Compute the minimal bounding box for a given set of existing bounding boxes.
|
|
233
|
+
*
|
|
234
|
+
* An empty vertex array will return an empty bounding box located at (0,0).
|
|
235
|
+
*
|
|
236
|
+
* @static
|
|
237
|
+
* @method computeFromBoundsSet
|
|
238
|
+
* @memberof Bounds
|
|
239
|
+
* @param {Array<IBounds>} boundingBoxes - The set of existing bounding boxes to get the containing bounding box for.
|
|
240
|
+
* @return The minimal Bounds for the given bounds instances.
|
|
241
|
+
**/
|
|
188
242
|
static computeFromBoundsSet(boundingBoxes: Array<IBounds>): Bounds;
|
|
189
243
|
/**
|
|
190
244
|
* Create a new `Bounds` instance just from `width` and `height`, located at (0,0) or the optionally given origin.
|
package/src/cjs/Bounds.js
CHANGED
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
* @modified 2025-04-18 Change parameter type in `Bounds.computeFromVertices` from `Vertex` to more general `XYCoords`.
|
|
15
15
|
* @modified 2025-04-19 Added methods to `Bounds` class: `getNorthPoint`, `getSouthPoint`, `getEastPoint` and `getWestPoint`.
|
|
16
16
|
* @modified 2025-04-26 Added static method `Bounds.computeFromBoundsSet` to calculate containing bounds for a set of bounding boxes.
|
|
17
|
-
* @
|
|
17
|
+
* @modified 2025-10-17 Added the methods `Bounds.getSouthWestPoint`, `getNorthWestPoint`, `getNorthEastPoint` and `getSouthEastPoint`.
|
|
18
|
+
* @modified 2025-10-18 Added method `Bounds.containsVert(XYCoords)`.
|
|
19
|
+
* @modified 2025-10-28 Added the `Bounds.getWidth()` and `Bounds.getHeight()`.
|
|
20
|
+
* @modified 2025-11-12 Added the `Bounds.getMoved()` method.
|
|
21
|
+
* @version 1.11.0
|
|
18
22
|
**/
|
|
19
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
24
|
exports.Bounds = void 0;
|
|
@@ -42,6 +46,35 @@ var Bounds = /** @class */ (function () {
|
|
|
42
46
|
this.width = max.x - min.x;
|
|
43
47
|
this.height = max.y - min.y;
|
|
44
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if the given vertex is inside this bounds.
|
|
51
|
+
*
|
|
52
|
+
* @method containsVert
|
|
53
|
+
* @param {XYCoords} vert - The vertex to check.
|
|
54
|
+
* @return {boolean} True if the passed vertex is inside this bounds.
|
|
55
|
+
* @instance
|
|
56
|
+
* @memberof Bounds
|
|
57
|
+
**/
|
|
58
|
+
Bounds.prototype.containsVert = function (vert) {
|
|
59
|
+
return this.min.x <= vert.x && vert.x < this.max.x && this.min.y <= vert.y && vert.y < this.max.y;
|
|
60
|
+
};
|
|
61
|
+
Bounds.prototype.getWidth = function () {
|
|
62
|
+
return this.max.x - this.min.x;
|
|
63
|
+
};
|
|
64
|
+
Bounds.prototype.getHeight = function () {
|
|
65
|
+
return this.max.y - this.min.y;
|
|
66
|
+
};
|
|
67
|
+
Bounds.prototype.getScaled = function (scaleFactor) {
|
|
68
|
+
var center = this.getCenter();
|
|
69
|
+
var newMin = new Vertex_1.Vertex(this.min).scale(scaleFactor, center);
|
|
70
|
+
var newMax = new Vertex_1.Vertex(this.max).scale(scaleFactor, center);
|
|
71
|
+
return new Bounds(newMin, newMax);
|
|
72
|
+
};
|
|
73
|
+
Bounds.prototype.getMoved = function (moveAmount) {
|
|
74
|
+
var newMin = new Vertex_1.Vertex(this.min).move(moveAmount);
|
|
75
|
+
var newMax = new Vertex_1.Vertex(this.max).move(moveAmount);
|
|
76
|
+
return new Bounds(newMin, newMax);
|
|
77
|
+
};
|
|
45
78
|
/**
|
|
46
79
|
* Get the center point of the north bound.
|
|
47
80
|
*
|
|
@@ -53,7 +86,6 @@ var Bounds = /** @class */ (function () {
|
|
|
53
86
|
Bounds.prototype.getNorthPoint = function () {
|
|
54
87
|
return new Vertex_1.Vertex(this.min.x + this.width / 2.0, this.min.y);
|
|
55
88
|
};
|
|
56
|
-
;
|
|
57
89
|
/**
|
|
58
90
|
* Get the center point of the south bound.
|
|
59
91
|
*
|
|
@@ -65,31 +97,72 @@ var Bounds = /** @class */ (function () {
|
|
|
65
97
|
Bounds.prototype.getSouthPoint = function () {
|
|
66
98
|
return new Vertex_1.Vertex(this.min.x + this.width / 2.0, this.max.y);
|
|
67
99
|
};
|
|
68
|
-
;
|
|
69
100
|
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
101
|
+
* Get the center point of the west bound.
|
|
102
|
+
*
|
|
103
|
+
* @method getWestPoint
|
|
104
|
+
* @instance
|
|
105
|
+
* @memberof Bounds
|
|
106
|
+
* @return {Vertex} The "westhmost" centered point of this bounding box.
|
|
107
|
+
*/
|
|
77
108
|
Bounds.prototype.getWestPoint = function () {
|
|
78
109
|
return new Vertex_1.Vertex(this.min.x, this.min.y + this.height / 2.0);
|
|
79
110
|
};
|
|
80
|
-
;
|
|
81
111
|
/**
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
112
|
+
* Get the center point of the east bound.
|
|
113
|
+
*
|
|
114
|
+
* @method getEastPoint
|
|
115
|
+
* @instance
|
|
116
|
+
* @memberof Bounds
|
|
117
|
+
* @return {Vertex} The "easthmost" centered point of this bounding box.
|
|
118
|
+
*/
|
|
89
119
|
Bounds.prototype.getEastPoint = function () {
|
|
90
120
|
return new Vertex_1.Vertex(this.max.x, this.min.y + this.height / 2.0);
|
|
91
121
|
};
|
|
92
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Get the upper left corner point these bounds box.
|
|
124
|
+
*
|
|
125
|
+
* @method getNorthWestPoint
|
|
126
|
+
* @instance
|
|
127
|
+
* @memberof Bounds
|
|
128
|
+
* @return {Vertex} The "northwestmost" point of this bounding box.
|
|
129
|
+
*/
|
|
130
|
+
Bounds.prototype.getNorthWestPoint = function () {
|
|
131
|
+
return new Vertex_1.Vertex(this.min.x, this.min.y);
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Get the upper right corner point these bounds box.
|
|
135
|
+
*
|
|
136
|
+
* @method getNorthEastPoint
|
|
137
|
+
* @instance
|
|
138
|
+
* @memberof Bounds
|
|
139
|
+
* @return {Vertex} The "northeastmost" point of this bounding box.
|
|
140
|
+
*/
|
|
141
|
+
Bounds.prototype.getNorthEastPoint = function () {
|
|
142
|
+
return new Vertex_1.Vertex(this.max.x, this.min.y);
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Get the lower right corner point these bounds box.
|
|
146
|
+
*
|
|
147
|
+
* @method getSouthEastPoint
|
|
148
|
+
* @instance
|
|
149
|
+
* @memberof Bounds
|
|
150
|
+
* @return {Vertex} The "southeastmost" point of this bounding box.
|
|
151
|
+
*/
|
|
152
|
+
Bounds.prototype.getSouthEastPoint = function () {
|
|
153
|
+
return new Vertex_1.Vertex(this.max.x, this.max.y);
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Get the lower left corner point these bounds box.
|
|
157
|
+
*
|
|
158
|
+
* @method getSouthWestPoint
|
|
159
|
+
* @instance
|
|
160
|
+
* @memberof Bounds
|
|
161
|
+
* @return {Vertex} The "southwestmost" point of this bounding box.
|
|
162
|
+
*/
|
|
163
|
+
Bounds.prototype.getSouthWestPoint = function () {
|
|
164
|
+
return new Vertex_1.Vertex(this.min.x, this.max.y);
|
|
165
|
+
};
|
|
93
166
|
/**
|
|
94
167
|
* Convert this rectangular bounding box to a polygon with four vertices.
|
|
95
168
|
*
|
|
@@ -202,16 +275,16 @@ var Bounds = /** @class */ (function () {
|
|
|
202
275
|
return new Bounds(new Vertex_1.Vertex(xMin, yMin), new Vertex_1.Vertex(xMax, yMax));
|
|
203
276
|
};
|
|
204
277
|
/**
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
278
|
+
* Compute the minimal bounding box for a given set of existing bounding boxes.
|
|
279
|
+
*
|
|
280
|
+
* An empty vertex array will return an empty bounding box located at (0,0).
|
|
281
|
+
*
|
|
282
|
+
* @static
|
|
283
|
+
* @method computeFromBoundsSet
|
|
284
|
+
* @memberof Bounds
|
|
285
|
+
* @param {Array<IBounds>} boundingBoxes - The set of existing bounding boxes to get the containing bounding box for.
|
|
286
|
+
* @return The minimal Bounds for the given bounds instances.
|
|
287
|
+
**/
|
|
215
288
|
Bounds.computeFromBoundsSet = function (boundingBoxes) {
|
|
216
289
|
if (boundingBoxes.length == 0) {
|
|
217
290
|
return new Bounds(new Vertex_1.Vertex(0, 0), new Vertex_1.Vertex(0, 0));
|
package/src/cjs/Bounds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bounds.js","sourceRoot":"","sources":["../ts/Bounds.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Bounds.js","sourceRoot":"","sources":["../ts/Bounds.ts"],"names":[],"mappings":"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"}
|
|
@@ -172,6 +172,9 @@ export declare class CircleSector implements IBounded, Intersectable, SVGSeriali
|
|
|
172
172
|
* @returns
|
|
173
173
|
*/
|
|
174
174
|
lineIntersectionTangents(line: VertTuple<any>, inVectorBoundsOnly?: boolean): Array<Vector>;
|
|
175
|
+
describeSVGPath(options?: {
|
|
176
|
+
moveToStart: boolean;
|
|
177
|
+
}): SVGPathParams;
|
|
175
178
|
/**
|
|
176
179
|
* This function should invalidate any installed listeners and invalidate this object.
|
|
177
180
|
* After calling this function the object might not hold valid data any more and
|
package/src/cjs/CircleSector.js
CHANGED
|
@@ -262,6 +262,32 @@ var CircleSector = /** @class */ (function () {
|
|
|
262
262
|
});
|
|
263
263
|
};
|
|
264
264
|
//--- END --- Implement interface `Intersectable`
|
|
265
|
+
CircleSector.prototype.describeSVGPath = function (options) {
|
|
266
|
+
// const buffer: SVGPathParams = [];
|
|
267
|
+
// const start = this.getStartPoint();
|
|
268
|
+
// const end = this.getEndPoint();
|
|
269
|
+
// // describeSVGArc
|
|
270
|
+
// // x: number,
|
|
271
|
+
// // y: number,
|
|
272
|
+
// // radius: number,
|
|
273
|
+
// // startAngle: number,
|
|
274
|
+
// // endAngle: number,
|
|
275
|
+
// // options?: { moveToStart: boolean }
|
|
276
|
+
// // ): SVGPathParams => {
|
|
277
|
+
// var arcRotation = 0.0;
|
|
278
|
+
// var largeArcFlag = 1;
|
|
279
|
+
// var sweepFlag = 0;
|
|
280
|
+
// if (options && options.moveToStart) {
|
|
281
|
+
// buffer.push("M", start.x, start.y);
|
|
282
|
+
// }
|
|
283
|
+
// buffer.push("A", cSector.circle.radius, cSector.circle.radius, arcRotation, largeArcFlag, sweepFlag, end.x, end.y);
|
|
284
|
+
// return buffer;
|
|
285
|
+
var arc = CircleSector.circleSectorUtils.describeSVGArc(this.circle.center.x, // end.x,
|
|
286
|
+
this.circle.center.y, // end.y,
|
|
287
|
+
this.circle.radius, this.startAngle, this.endAngle, options // options?: { moveToStart: boolean }
|
|
288
|
+
);
|
|
289
|
+
return arc;
|
|
290
|
+
};
|
|
265
291
|
/**
|
|
266
292
|
* This function should invalidate any installed listeners and invalidate this object.
|
|
267
293
|
* After calling this function the object might not hold valid data any more and
|
|
@@ -300,8 +326,9 @@ var CircleSector = /** @class */ (function () {
|
|
|
300
326
|
* @return [ 'A', radiusx, radiusy, rotation=0, largeArcFlag=1|0, sweepFlag=0, endx, endy ]
|
|
301
327
|
*/
|
|
302
328
|
describeSVGArc: function (x, y, radius, startAngle, endAngle, options) {
|
|
303
|
-
if (typeof options === "undefined")
|
|
329
|
+
if (typeof options === "undefined") {
|
|
304
330
|
options = { moveToStart: true };
|
|
331
|
+
}
|
|
305
332
|
var end = CircleSector.circleSectorUtils.polarToCartesian(x, y, radius, endAngle);
|
|
306
333
|
var start = CircleSector.circleSectorUtils.polarToCartesian(x, y, radius, startAngle);
|
|
307
334
|
// Split full circles into two halves.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleSector.js","sourceRoot":"","sources":["../ts/CircleSector.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;IAeI;;;AAEJ,mCAAkC;AAClC,mCAAkC;AAClC,+BAA8B;AAC9B,+CAA8C;AAG9C,mCAAkC;AAClC,yCAAwC;AAGxC;;;;;;;;IAQI;AACJ;IA6CE;;;;;;;;OAQG;IACH,sBAAY,MAAc,EAAE,UAAkB,EAAE,QAAgB;QArDhE;;YAEI;QACK,cAAS,GAAW,cAAc,CAAC;QAmD1C,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,8CAA8C;IAC9C;;;;;;;;;;QAUI;IACJ,gCAAS,GAAT;QACE,IAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"CircleSector.js","sourceRoot":"","sources":["../ts/CircleSector.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,8 +86,13 @@
|
|
|
86
86
|
* @modified 2024-07-08 Adding `PlotBoilerplate.getGUI()` to retrieve the GUI instance.
|
|
87
87
|
* @modified 2024-08-25 Extending main class `PlotBoilerplate` optional param `isBackdropFiltersEnabled`.
|
|
88
88
|
* @modified 2024-12-02 Adding the `triggerRedraw` to the `removeAll` method.
|
|
89
|
+
* @modified 2025-05-07 Changing the return type of `removeVertex` from `void` to `boolean`.
|
|
90
|
+
* @modified 2025-05-07 Handling content changes now with `contentChangeListeners`.
|
|
91
|
+
* @modified 2025-05-07 Added `PlogBoilerplate.addContentChangeListener` and `.removeContentChangeListener`.
|
|
92
|
+
* @modified 2025-05-07 Moving full vectors now by default when vector point a is moved.
|
|
93
|
+
* @modified 2025-05-20 Applying `lineWith` parameter in the draw routine for vectors (had been missing).
|
|
89
94
|
*
|
|
90
|
-
* @version 1.
|
|
95
|
+
* @version 1.21.1
|
|
91
96
|
*
|
|
92
97
|
* @file PlotBoilerplate
|
|
93
98
|
* @fileoverview The main class.
|
|
@@ -100,7 +105,7 @@ import { Grid } from "./Grid";
|
|
|
100
105
|
import { Polygon } from "./Polygon";
|
|
101
106
|
import { Vertex } from "./Vertex";
|
|
102
107
|
import { IDraggable, Config, DrawLib, Drawable, DrawConfig, IHooks, PBParams, XYCoords, XYDimension, DatGuiProps, // DEPRECATED. Please do not use any more.
|
|
103
|
-
LilGuiProps } from "./interfaces";
|
|
108
|
+
LilGuiProps, PBContentChangeListener } from "./interfaces";
|
|
104
109
|
/**
|
|
105
110
|
* @classdesc The main class of the PlotBoilerplate.
|
|
106
111
|
*
|
|
@@ -252,6 +257,10 @@ export declare class PlotBoilerplate {
|
|
|
252
257
|
* @instance
|
|
253
258
|
*/
|
|
254
259
|
hooks: IHooks;
|
|
260
|
+
/**
|
|
261
|
+
* A list of content change listeners.
|
|
262
|
+
*/
|
|
263
|
+
contentChangeListeners: Array<PBContentChangeListener>;
|
|
255
264
|
/**
|
|
256
265
|
* @member {KeyHandler|undefined}
|
|
257
266
|
* @memberof PlotBoilerplate
|
|
@@ -389,6 +398,27 @@ export declare class PlotBoilerplate {
|
|
|
389
398
|
* @private
|
|
390
399
|
**/
|
|
391
400
|
private updateCSSscale;
|
|
401
|
+
/**
|
|
402
|
+
* Adds a new content change listener to this instance. Adding duplicates is not possible.
|
|
403
|
+
*
|
|
404
|
+
* @param {PBContentChangeListener} listener - The listenre to add.
|
|
405
|
+
* @method addContentChangeListener
|
|
406
|
+
* @instance
|
|
407
|
+
* @memberof PlotBoilerplate
|
|
408
|
+
* @returns {void}
|
|
409
|
+
*/
|
|
410
|
+
addContentChangeListener(listener: PBContentChangeListener): void;
|
|
411
|
+
/**
|
|
412
|
+
* Removes an existing content change listener from this instance.
|
|
413
|
+
*
|
|
414
|
+
* @param {PBContentChangeListener} listener - The listenre to add.
|
|
415
|
+
* @method removeContentChangeListener
|
|
416
|
+
* @instance
|
|
417
|
+
* @memberof PlotBoilerplate
|
|
418
|
+
* @returns {void}
|
|
419
|
+
*/
|
|
420
|
+
removeContentChangeListener(listener: PBContentChangeListener): void;
|
|
421
|
+
private _fireContentChanged;
|
|
392
422
|
/**
|
|
393
423
|
* Add a drawable object.<br>
|
|
394
424
|
* <br>
|
|
@@ -413,7 +443,7 @@ export declare class PlotBoilerplate {
|
|
|
413
443
|
* @memberof PlotBoilerplate
|
|
414
444
|
* @return {void}
|
|
415
445
|
**/
|
|
416
|
-
add(drawable: Drawable | Array<Drawable>, redraw?: boolean): void;
|
|
446
|
+
add(drawable: Drawable | Array<Drawable>, redraw?: boolean, doNotFireEvent?: boolean): void;
|
|
417
447
|
/**
|
|
418
448
|
* Remove a drawable object.<br>
|
|
419
449
|
* <br>
|
|
@@ -432,12 +462,13 @@ export declare class PlotBoilerplate {
|
|
|
432
462
|
*
|
|
433
463
|
* @param {Drawable|Array<Drawable>} drawable - The drawable (of one of the allowed class instance) to remove.
|
|
434
464
|
* @param {boolean} [redraw=false]
|
|
465
|
+
* @param {removeWidth}
|
|
435
466
|
* @method remove
|
|
436
467
|
* @instance
|
|
437
468
|
* @memberof PlotBoilerplate
|
|
438
469
|
* @return {void}
|
|
439
470
|
**/
|
|
440
|
-
remove(drawable: Drawable | Array<Drawable>, redraw?: boolean, removeWithVertices?: boolean):
|
|
471
|
+
remove(drawable: Drawable | Array<Drawable>, redraw?: boolean, removeWithVertices?: boolean, doNotFireEvent?: boolean): boolean;
|
|
441
472
|
/**
|
|
442
473
|
* Remove a vertex from the vertex list.<br>
|
|
443
474
|
*
|
|
@@ -446,9 +477,9 @@ export declare class PlotBoilerplate {
|
|
|
446
477
|
* @method removeVertex
|
|
447
478
|
* @instance
|
|
448
479
|
* @memberof PlotBoilerplate
|
|
449
|
-
* @return {
|
|
480
|
+
* @return {boolean}
|
|
450
481
|
**/
|
|
451
|
-
removeVertex(vert: Vertex, redraw?: boolean):
|
|
482
|
+
removeVertex(vert: Vertex, redraw?: boolean, doNotFireEvent?: boolean): boolean;
|
|
452
483
|
/**
|
|
453
484
|
* Remove all elements.
|
|
454
485
|
*
|