plotboilerplate 1.25.0 → 1.27.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 +3 -0
- package/dist/index.esm.js +171 -43
- 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 +171 -43
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +6 -2
- 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 +4 -3
- package/src/cjs/PlotBoilerplate.js +2 -1
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/draw.d.ts +4 -2
- package/src/cjs/draw.js +9 -4
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +3 -2
- package/src/cjs/drawgl.js +2 -1
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +10 -4
- package/src/cjs/drawutilssvg.js +28 -7
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +2 -0
- package/src/cjs/interfaces/DrawLib.js +1 -0
- package/src/cjs/interfaces/DrawLib.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/WebColors.d.ts +2 -1
- package/src/cjs/utils/WebColors.js +14 -25
- package/src/cjs/utils/WebColors.js.map +1 -1
- package/src/cjs/utils/algorithms/PolygonTesselationOutlines.d.ts +145 -0
- package/src/cjs/utils/algorithms/PolygonTesselationOutlines.js +269 -0
- package/src/cjs/utils/algorithms/PolygonTesselationOutlines.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.js +0 -19
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/cjs/utils/datastructures/ColorGradient.d.ts +2 -0
- package/src/cjs/utils/datastructures/ColorGradient.js +5 -0
- package/src/cjs/utils/datastructures/ColorGradient.js.map +1 -1
- 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/datastructures/Girih.d.ts +38 -1
- package/src/cjs/utils/datastructures/Girih.js +71 -1
- package/src/cjs/utils/datastructures/Girih.js.map +1 -1
- 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 +4 -3
- package/src/cjs/utils/dom/components/ColorGradientPicker.js +8 -8
- package/src/cjs/utils/dom/components/ColorGradientPicker.js.map +1 -1
- package/src/cjs/utils/dom/components/ColorGradientSelector.d.ts +1 -0
- package/src/cjs/utils/dom/components/ColorGradientSelector.js +4 -2
- package/src/cjs/utils/dom/components/ColorGradientSelector.js.map +1 -1
- package/src/cjs/utils/io/FileDrop.d.ts +2 -0
- package/src/cjs/utils/io/FileDrop.js +4 -0
- package/src/cjs/utils/io/FileDrop.js.map +1 -1
- package/src/cjs/utils/parsers/svg/types.d.ts +8 -8
- 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 +4 -3
- package/src/esm/PlotBoilerplate.js +2 -1
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/draw.d.ts +4 -2
- package/src/esm/draw.js +9 -4
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +3 -2
- package/src/esm/drawgl.js +2 -1
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +10 -4
- package/src/esm/drawutilssvg.js +28 -7
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +2 -0
- package/src/esm/interfaces/DrawLib.js +1 -0
- package/src/esm/interfaces/DrawLib.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/WebColors.d.ts +2 -1
- package/src/esm/utils/WebColors.js +14 -25
- package/src/esm/utils/WebColors.js.map +1 -1
- package/src/esm/utils/algorithms/PolygonTesselationOutlines.d.ts +145 -0
- package/src/esm/utils/algorithms/PolygonTesselationOutlines.js +262 -0
- package/src/esm/utils/algorithms/PolygonTesselationOutlines.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.js +0 -19
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/esm/utils/datastructures/ColorGradient.d.ts +2 -0
- package/src/esm/utils/datastructures/ColorGradient.js +5 -0
- package/src/esm/utils/datastructures/ColorGradient.js.map +1 -1
- 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/datastructures/Girih.d.ts +38 -1
- package/src/esm/utils/datastructures/Girih.js +71 -1
- package/src/esm/utils/datastructures/Girih.js.map +1 -1
- 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 +4 -3
- package/src/esm/utils/dom/components/ColorGradientPicker.js +18 -7
- package/src/esm/utils/dom/components/ColorGradientPicker.js.map +1 -1
- package/src/esm/utils/dom/components/ColorGradientSelector.d.ts +1 -0
- package/src/esm/utils/dom/components/ColorGradientSelector.js +9 -2
- package/src/esm/utils/dom/components/ColorGradientSelector.js.map +1 -1
- package/src/esm/utils/io/FileDrop.d.ts +2 -0
- package/src/esm/utils/io/FileDrop.js +4 -0
- package/src/esm/utils/io/FileDrop.js.map +1 -1
- package/src/esm/utils/parsers/svg/types.d.ts +8 -8
- package/src/ts/Bounds.ts +107 -22
- package/src/ts/CircleSector.ts +39 -6
- package/src/ts/PlotBoilerplate.ts +4 -3
- package/src/ts/draw.ts +8 -3
- package/src/ts/drawgl.ts +3 -2
- package/src/ts/drawutilssvg.ts +34 -7
- package/src/ts/interfaces/DrawLib.ts +3 -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/WebColors.ts +20 -33
- package/src/ts/utils/algorithms/PolygonTesselationOutlines.ts +296 -0
- package/src/ts/utils/algorithms/pixelCornersToRoundPaths.ts +379 -0
- package/src/ts/utils/datastructures/Color.ts +0 -19
- package/src/ts/utils/datastructures/ColorGradient.ts +6 -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/datastructures/Girih.ts +78 -1
- package/src/ts/utils/datastructures/interfaces.ts +4 -4
- package/src/ts/utils/detectDarkMode.ts +17 -8
- package/src/ts/utils/dom/components/ColorGradientPicker.tsx +18 -6
- package/src/ts/utils/dom/components/ColorGradientSelector.tsx +9 -2
- package/src/ts/utils/io/FileDrop.ts +5 -0
- package/src/ts/utils/parsers/svg/types.ts +8 -8
package/package.json
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plotboilerplate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "A simple javascript plotting boilerplate for 2d stuff.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "src/cjs/index.js",
|
|
7
7
|
"module": "src/esm/index.js",
|
|
8
8
|
"types": "src/cjs/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
"require": "./src/cjs/index.js",
|
|
11
|
+
"import": "./src/esm/index.js",
|
|
12
|
+
"default": "./src/cjs/index.js"
|
|
13
|
+
},
|
|
9
14
|
"files": [
|
|
10
15
|
"dist",
|
|
11
16
|
"src"
|
|
@@ -19,7 +24,6 @@
|
|
|
19
24
|
"compile-typescript-demo": "cd bin && ./run-compile-demo-ts.sh",
|
|
20
25
|
"post-build-cleanup": "rm ./dist/*.d.ts && rm -rf ./dist/interfaces && rm -rf ./dist/utils",
|
|
21
26
|
"mkdocs": "cd bin && ./run-mk-typedocs.sh",
|
|
22
|
-
"mk-release": "cd bin && ./run-mk-zippackage.sh",
|
|
23
27
|
"server": "npx http-server",
|
|
24
28
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
25
29
|
"webpack-browser": "npx webpack --mode production --config ./webpack5.browser.config.js",
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;IAoBI;;;AAEJ,qCAAoC;AAEpC,mCAAkC;AAElC;;;;;;IAMI;AACJ;IAiCE;;;;;;;QAOI;IACJ,gBAAY,GAAa,EAAE,GAAa;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;QAQI;IACJ,6BAAY,GAAZ,UAAa,IAAc;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,yBAAQ,GAAR;QACE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,0BAAS,GAAT;QACE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,0BAAS,GAAT,UAAU,WAAmB;QAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,yBAAQ,GAAR,UAAS,UAAoB;QAC3B,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,8BAAa,GAAb;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACH,8BAAa,GAAb;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACH,6BAAY,GAAZ;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,6BAAY,GAAZ;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,kCAAiB,GAAjB;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,kCAAiB,GAAjB;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,kCAAiB,GAAjB;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,kCAAiB,GAAjB;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,0BAAS,GAAT;QACE,OAAO,IAAI,iBAAO,CAChB,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACpH,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,0BAAS,GAAT;QACE,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED;;;;OAIG;IACH,gCAAe,GAAf;QACE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,gCAAe,GAAf;QACE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;OAUG;IACH,4BAAW,GAAX,UAAY,kBAA8B,EAAE,gBAA4B;QAA5D,mCAAA,EAAA,sBAA8B;QAAE,iCAAA,EAAA,oBAA4B;QACtE,+CAA+C;QAC/C,IAAM,qBAAqB,GACzB,kBAAkB,GAAG,CAAC,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC1G,IAAM,mBAAmB,GAAG,gBAAgB,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC7H,OAAO,IAAI,eAAM,CACf,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,qBAAqB,CAAC,EAC7F,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAC3F,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,yBAAQ,GAAR;QACE,OAAO,iBAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAY,IAAI,CAAC,KAAK,wBAAc,IAAI,CAAC,MAAM,OAAI,CAAC;IACxH,CAAC;IAED;;;;;;;OAOG;IACH,sBAAK,GAAL;QACE,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;;;QAUI;IACG,0BAAmB,GAA1B,UAA2B,QAAyB;QAClD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,MAAM,CAAC,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,IAAc,CAAC;QACnB,KAAK,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,IAAI,eAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,eAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;QAUI;IACG,2BAAoB,GAA3B,UAA4B,aAA6B;QACvD,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,MAAM,CAAC,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAElC,IAAI,MAAe,CAAC;QACpB,KAAK,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;YAC5B,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,IAAI,eAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,eAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACI,oBAAa,GAApB,UAAqB,KAAa,EAAE,MAAc,EAAE,MAAiB;QACnE,OAAO,IAAI,MAAM,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3H,CAAC;IACH,aAAC;AAAD,CAAC,AA3VD,IA2VC,CAAC,mBAAmB;AA3VR,wBAAM"}
|
|
@@ -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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"}
|
|
@@ -91,8 +91,9 @@
|
|
|
91
91
|
* @modified 2025-05-07 Added `PlogBoilerplate.addContentChangeListener` and `.removeContentChangeListener`.
|
|
92
92
|
* @modified 2025-05-07 Moving full vectors now by default when vector point a is moved.
|
|
93
93
|
* @modified 2025-05-20 Applying `lineWith` parameter in the draw routine for vectors (had been missing).
|
|
94
|
+
* @modified 2026-03-13 Changed visibility of `setZoom` and `setOffset` to public. There was no good reason to have the private.
|
|
94
95
|
*
|
|
95
|
-
* @version 1.21.
|
|
96
|
+
* @version 1.21.2
|
|
96
97
|
*
|
|
97
98
|
* @file PlotBoilerplate
|
|
98
99
|
* @fileoverview The main class.
|
|
@@ -804,7 +805,7 @@ export declare class PlotBoilerplate {
|
|
|
804
805
|
*
|
|
805
806
|
* @param {Vertex} newOffset - The new draw offset to use.
|
|
806
807
|
**/
|
|
807
|
-
|
|
808
|
+
setOffset(newOffset: XYCoords): void;
|
|
808
809
|
/**
|
|
809
810
|
* Set a new zoom value (and re-adjust the draw offset).
|
|
810
811
|
*
|
|
@@ -814,7 +815,7 @@ export declare class PlotBoilerplate {
|
|
|
814
815
|
* @param {number} zoomFactorY - The new vertical zoom value.
|
|
815
816
|
* @param {Vertex} interactionPos - The position of mouse/touch interaction.
|
|
816
817
|
**/
|
|
817
|
-
|
|
818
|
+
setZoom(zoomFactorX: number, zoomFactorY: number, interactionPos: Vertex): void;
|
|
818
819
|
private installInputListeners;
|
|
819
820
|
/**
|
|
820
821
|
* Creates a control GUI (a dat.gui instance) for this
|
|
@@ -92,8 +92,9 @@
|
|
|
92
92
|
* @modified 2025-05-07 Added `PlogBoilerplate.addContentChangeListener` and `.removeContentChangeListener`.
|
|
93
93
|
* @modified 2025-05-07 Moving full vectors now by default when vector point a is moved.
|
|
94
94
|
* @modified 2025-05-20 Applying `lineWith` parameter in the draw routine for vectors (had been missing).
|
|
95
|
+
* @modified 2026-03-13 Changed visibility of `setZoom` and `setOffset` to public. There was no good reason to have the private.
|
|
95
96
|
*
|
|
96
|
-
* @version 1.21.
|
|
97
|
+
* @version 1.21.2
|
|
97
98
|
*
|
|
98
99
|
* @file PlotBoilerplate
|
|
99
100
|
* @fileoverview The main class.
|