plotboilerplate 1.15.0 → 1.17.1
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 +1 -0
- package/changelog.md +65 -0
- package/dist/index.esm.js +760 -667
- 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 +765 -571
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/BezierPath.d.ts +32 -14
- package/src/cjs/BezierPath.js +65 -24
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +33 -1
- package/src/cjs/Bounds.js +38 -1
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +15 -13
- package/src/cjs/Circle.js +16 -34
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +17 -16
- package/src/cjs/CircleSector.js +12 -24
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +16 -15
- package/src/cjs/CubicBezierCurve.js +57 -94
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/KeyHandler.d.ts +10 -3
- package/src/cjs/KeyHandler.js +28 -23
- package/src/cjs/KeyHandler.js.map +1 -1
- package/src/cjs/Line.d.ts +2 -15
- package/src/cjs/Line.js +6 -31
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/MouseHandler.js +43 -53
- package/src/cjs/MouseHandler.js.map +1 -1
- package/src/cjs/PBImage.d.ts +15 -13
- package/src/cjs/PBImage.js +11 -15
- package/src/cjs/PBImage.js.map +1 -1
- package/src/cjs/PBText.d.ts +13 -12
- package/src/cjs/PBText.js +8 -12
- package/src/cjs/PBText.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +3 -1
- package/src/cjs/PlotBoilerplate.js +9 -2
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +23 -14
- package/src/cjs/Polygon.js +22 -35
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +15 -13
- package/src/cjs/Triangle.js +23 -64
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +14 -9
- package/src/cjs/VEllipse.js +10 -18
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/VEllipseSector.d.ts +15 -1
- package/src/cjs/VEllipseSector.js +11 -1
- package/src/cjs/VEllipseSector.js.map +1 -1
- package/src/cjs/Vector.d.ts +3 -15
- package/src/cjs/Vector.js +9 -49
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +15 -1
- package/src/cjs/VertTuple.js +14 -19
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +23 -13
- package/src/cjs/Vertex.js +24 -22
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/VertexListeners.d.ts +12 -8
- package/src/cjs/VertexListeners.js +18 -25
- package/src/cjs/VertexListeners.js.map +1 -1
- package/src/cjs/draw.d.ts +45 -3
- package/src/cjs/draw.js +149 -6
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +41 -3
- package/src/cjs/drawgl.js +45 -3
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +69 -4
- package/src/cjs/drawutilssvg.js +147 -16
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/index.d.ts +0 -1
- package/src/cjs/index.js +0 -1
- package/src/cjs/index.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +64 -27
- package/src/cjs/interfaces/DrawLib.js +3 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +2 -12
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- package/src/cjs/module.d.ts +1 -3
- package/src/cjs/module.js +2 -5
- package/src/cjs/module.js.map +1 -1
- package/src/cjs/utils/creategui.js +16 -2
- package/src/cjs/utils/datastructures/Color.d.ts +3 -1
- package/src/cjs/utils/datastructures/Color.js +17 -6
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
- package/src/cjs/utils/datastructures/Girih.js +18 -14
- package/src/cjs/utils/datastructures/Girih.js.map +1 -1
- package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
- package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
- package/src/cjs/utils/datastructures/GirihTile.js +2 -13
- package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
- package/src/cjs/utils/io/DndFileHandler.js +112 -0
- package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
- package/src/cjs/utils/io/FileDrop.d.ts +98 -0
- package/src/cjs/utils/io/FileDrop.js +142 -0
- package/src/cjs/utils/io/FileDrop.js.map +1 -0
- package/src/esm/BezierPath.d.ts +32 -14
- package/src/esm/BezierPath.js +65 -24
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +33 -1
- package/src/esm/Bounds.js +38 -1
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +15 -13
- package/src/esm/Circle.js +16 -34
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +17 -16
- package/src/esm/CircleSector.js +12 -24
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +16 -15
- package/src/esm/CubicBezierCurve.js +57 -94
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/KeyHandler.d.ts +10 -3
- package/src/esm/KeyHandler.js +28 -23
- package/src/esm/KeyHandler.js.map +1 -1
- package/src/esm/Line.d.ts +2 -15
- package/src/esm/Line.js +6 -31
- package/src/esm/Line.js.map +1 -1
- package/src/esm/MouseHandler.js +43 -53
- package/src/esm/MouseHandler.js.map +1 -1
- package/src/esm/PBImage.d.ts +15 -13
- package/src/esm/PBImage.js +11 -15
- package/src/esm/PBImage.js.map +1 -1
- package/src/esm/PBText.d.ts +13 -12
- package/src/esm/PBText.js +8 -12
- package/src/esm/PBText.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +3 -1
- package/src/esm/PlotBoilerplate.js +9 -2
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +23 -14
- package/src/esm/Polygon.js +22 -35
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +15 -13
- package/src/esm/Triangle.js +23 -64
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +14 -9
- package/src/esm/VEllipse.js +10 -18
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/VEllipseSector.d.ts +15 -1
- package/src/esm/VEllipseSector.js +11 -1
- package/src/esm/VEllipseSector.js.map +1 -1
- package/src/esm/Vector.d.ts +3 -15
- package/src/esm/Vector.js +9 -49
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/VertTuple.d.ts +15 -1
- package/src/esm/VertTuple.js +14 -19
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +23 -13
- package/src/esm/Vertex.js +24 -22
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/VertexListeners.d.ts +12 -8
- package/src/esm/VertexListeners.js +18 -25
- package/src/esm/VertexListeners.js.map +1 -1
- package/src/esm/draw.d.ts +45 -3
- package/src/esm/draw.js +147 -6
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +41 -3
- package/src/esm/drawgl.js +44 -3
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +69 -4
- package/src/esm/drawutilssvg.js +146 -16
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/index.d.ts +0 -1
- package/src/esm/index.js +0 -1
- package/src/esm/index.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +64 -27
- package/src/esm/interfaces/DrawLib.js +3 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +2 -12
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- package/src/esm/module.d.ts +1 -3
- package/src/esm/module.js +5 -4
- package/src/esm/module.js.map +1 -1
- package/src/esm/utils/datastructures/Color.d.ts +3 -1
- package/src/esm/utils/datastructures/Color.js +17 -6
- package/src/esm/utils/datastructures/Color.js.map +1 -1
- package/src/esm/utils/datastructures/Girih.d.ts +5 -0
- package/src/esm/utils/datastructures/Girih.js +18 -14
- package/src/esm/utils/datastructures/Girih.js.map +1 -1
- package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
- package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
- package/src/esm/utils/datastructures/GirihTile.js +2 -13
- package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
- package/src/esm/utils/io/DndFileHandler.js +106 -0
- package/src/esm/utils/io/DndFileHandler.js.map +1 -0
- package/src/esm/utils/io/FileDrop.d.ts +98 -0
- package/src/esm/utils/io/FileDrop.js +136 -0
- package/src/esm/utils/io/FileDrop.js.map +1 -0
- package/src/ts/BezierPath.ts +78 -22
- package/src/ts/Bounds.ts +40 -1
- package/src/ts/Circle.ts +187 -200
- package/src/ts/CircleSector.ts +141 -141
- package/src/ts/CubicBezierCurve.ts +738 -810
- package/src/ts/KeyHandler.ts +221 -212
- package/src/ts/Line.ts +48 -80
- package/src/ts/MouseHandler.ts +356 -368
- package/src/ts/PBImage.ts +67 -69
- package/src/ts/PBText.ts +16 -14
- package/src/ts/PlotBoilerplate.ts +9 -2
- package/src/ts/Polygon.ts +34 -34
- package/src/ts/Triangle.ts +444 -489
- package/src/ts/VEllipse.ts +18 -17
- package/src/ts/VEllipseSector.ts +20 -1
- package/src/ts/Vector.ts +124 -160
- package/src/ts/VertTuple.ts +333 -338
- package/src/ts/Vertex.ts +35 -21
- package/src/ts/VertexListeners.ts +248 -266
- package/src/ts/draw.ts +201 -6
- package/src/ts/drawgl.ts +47 -3
- package/src/ts/drawutilssvg.ts +187 -16
- package/src/ts/index.ts +0 -1
- package/src/ts/interfaces/DrawLib.ts +72 -27
- package/src/ts/interfaces/core.ts +3 -13
- package/src/ts/module.ts +2 -4
- package/src/ts/utils/datastructures/Color.ts +17 -6
- package/src/ts/utils/datastructures/Girih.ts +204 -209
- package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
- package/src/ts/utils/datastructures/GirihTile.ts +394 -419
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +56 -34
- package/src/ts/utils/io/FileDrop.ts +178 -0
- package/src/ts/SVGBuilder.ts +0 -109
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @author Ikaros Kappler
|
|
6
6
|
* @date 2021-02-26
|
|
7
|
-
* @
|
|
7
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
8
|
+
* @version 1.1.0
|
|
8
9
|
*/
|
|
9
10
|
import { CubicBezierCurve } from "./CubicBezierCurve";
|
|
10
11
|
import { SVGPathParams, UID } from "./interfaces";
|
|
@@ -52,6 +53,13 @@ export declare class VEllipseSector {
|
|
|
52
53
|
* @instance
|
|
53
54
|
*/
|
|
54
55
|
endAngle: number;
|
|
56
|
+
/**
|
|
57
|
+
* @member isDestroyed
|
|
58
|
+
* @memberof VEllipseSector
|
|
59
|
+
* @type {boolean}
|
|
60
|
+
* @instance
|
|
61
|
+
*/
|
|
62
|
+
isDestroyed: boolean;
|
|
55
63
|
/**
|
|
56
64
|
* Create a new elliptic sector from the given ellipse and two angles.
|
|
57
65
|
*
|
|
@@ -74,6 +82,12 @@ export declare class VEllipseSector {
|
|
|
74
82
|
* @return {Array<CubicBezierCurve>} An array of cubic Bézier curves representing the elliptic sector.
|
|
75
83
|
*/
|
|
76
84
|
toCubicBezier(quarterSegmentCount?: number, threshold?: number): Array<CubicBezierCurve>;
|
|
85
|
+
/**
|
|
86
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
87
|
+
* After calling this function the object might not hold valid data any more and
|
|
88
|
+
* should not be used.
|
|
89
|
+
*/
|
|
90
|
+
destroy(): void;
|
|
77
91
|
static ellipseSectorUtils: {
|
|
78
92
|
/**
|
|
79
93
|
* Helper function to convert an elliptic section to SVG arc params (for the `d` attribute).
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @author Ikaros Kappler
|
|
7
7
|
* @date 2021-02-26
|
|
8
|
-
* @
|
|
8
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
9
|
+
* @version 1.1.0
|
|
9
10
|
*/
|
|
10
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
12
|
exports.VEllipseSector = void 0;
|
|
@@ -99,6 +100,15 @@ var VEllipseSector = /** @class */ (function () {
|
|
|
99
100
|
}
|
|
100
101
|
return curves;
|
|
101
102
|
};
|
|
103
|
+
/**
|
|
104
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
105
|
+
* After calling this function the object might not hold valid data any more and
|
|
106
|
+
* should not be used.
|
|
107
|
+
*/
|
|
108
|
+
VEllipseSector.prototype.destroy = function () {
|
|
109
|
+
this.ellipse.destroy();
|
|
110
|
+
this.isDestroyed = true;
|
|
111
|
+
};
|
|
102
112
|
VEllipseSector.ellipseSectorUtils = {
|
|
103
113
|
/**
|
|
104
114
|
* Helper function to convert an elliptic section to SVG arc params (for the `d` attribute).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VEllipseSector.js","sourceRoot":"","sources":["../ts/VEllipseSector.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"VEllipseSector.js","sourceRoot":"","sources":["../ts/VEllipseSector.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/Vector.d.ts
CHANGED
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
* @modified 2019-12-04 Added the Vector.inv() function.
|
|
10
10
|
* @modified 2020-03-23 Ported to Typescript from JS.
|
|
11
11
|
* @modified 2021-01-20 Added UID.
|
|
12
|
-
* @
|
|
12
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
13
|
+
* @modified 2022-02-02 Cleared the `Vector.toSVGString` function (deprecated). Use `drawutilssvg` instead.
|
|
14
|
+
* @version 1.4.0
|
|
13
15
|
*
|
|
14
16
|
* @file Vector
|
|
15
17
|
* @public
|
|
@@ -72,20 +74,6 @@ export declare class Vector extends VertTuple<Vector> implements SVGSerializable
|
|
|
72
74
|
* @memberof Line
|
|
73
75
|
**/
|
|
74
76
|
intersection(line: Vector): Vertex | null;
|
|
75
|
-
/**
|
|
76
|
-
* Create an SVG representation of this line.
|
|
77
|
-
*
|
|
78
|
-
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
79
|
-
* @method toSVGString
|
|
80
|
-
* @override
|
|
81
|
-
* @param {object=} options - A set of options, like 'className'.
|
|
82
|
-
* @return {string} The SVG string representation.
|
|
83
|
-
* @instance
|
|
84
|
-
* @memberof Vector
|
|
85
|
-
**/
|
|
86
|
-
toSVGString(options: {
|
|
87
|
-
className?: string;
|
|
88
|
-
}): string;
|
|
89
77
|
static utils: {
|
|
90
78
|
/**
|
|
91
79
|
* Generate a four-point arrow head, starting at the vector end minus the
|
package/src/cjs/Vector.js
CHANGED
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
* @modified 2019-12-04 Added the Vector.inv() function.
|
|
11
11
|
* @modified 2020-03-23 Ported to Typescript from JS.
|
|
12
12
|
* @modified 2021-01-20 Added UID.
|
|
13
|
-
* @
|
|
13
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
14
|
+
* @modified 2022-02-02 Cleared the `Vector.toSVGString` function (deprecated). Use `drawutilssvg` instead.
|
|
15
|
+
* @version 1.4.0
|
|
14
16
|
*
|
|
15
17
|
* @file Vector
|
|
16
18
|
* @public
|
|
@@ -60,7 +62,6 @@ var Vector = /** @class */ (function (_super) {
|
|
|
60
62
|
_this.className = "Vector";
|
|
61
63
|
return _this;
|
|
62
64
|
}
|
|
63
|
-
;
|
|
64
65
|
/**
|
|
65
66
|
* Get the perpendicular of this vector which is located at a.
|
|
66
67
|
*
|
|
@@ -75,7 +76,6 @@ var Vector = /** @class */ (function (_super) {
|
|
|
75
76
|
v.b.add(this.a);
|
|
76
77
|
return v;
|
|
77
78
|
};
|
|
78
|
-
;
|
|
79
79
|
/**
|
|
80
80
|
* The inverse of a vector is a vector witht the same magnitude but oppose direction.
|
|
81
81
|
*
|
|
@@ -89,7 +89,6 @@ var Vector = /** @class */ (function (_super) {
|
|
|
89
89
|
this.b = tmp;
|
|
90
90
|
return this;
|
|
91
91
|
};
|
|
92
|
-
;
|
|
93
92
|
/**
|
|
94
93
|
* This function computes the inverse of the vector, which means 'a' stays untouched.
|
|
95
94
|
*
|
|
@@ -100,7 +99,6 @@ var Vector = /** @class */ (function (_super) {
|
|
|
100
99
|
this.b.y = this.a.y - (this.b.y - this.a.y);
|
|
101
100
|
return this;
|
|
102
101
|
};
|
|
103
|
-
;
|
|
104
102
|
/**
|
|
105
103
|
* Get the intersection if this vector and the specified vector.
|
|
106
104
|
*
|
|
@@ -116,53 +114,15 @@ var Vector = /** @class */ (function (_super) {
|
|
|
116
114
|
return null;
|
|
117
115
|
var a = this.a.y - line.a.y;
|
|
118
116
|
var b = this.a.x - line.a.x;
|
|
119
|
-
var numerator1 = (
|
|
120
|
-
var numerator2 = (
|
|
117
|
+
var numerator1 = (line.b.x - line.a.x) * a - (line.b.y - line.a.y) * b;
|
|
118
|
+
var numerator2 = (this.b.x - this.a.x) * a - (this.b.y - this.a.y) * b;
|
|
121
119
|
a = numerator1 / denominator; // NaN if parallel lines
|
|
122
120
|
b = numerator2 / denominator;
|
|
123
121
|
// TODO:
|
|
124
122
|
// FOR A VECTOR THE LINE-INTERSECTION MUST BE ON BOTH VECTORS
|
|
125
123
|
// if we cast these lines infinitely in both directions, they intersect here:
|
|
126
|
-
return new Vertex_1.Vertex(this.a.x +
|
|
124
|
+
return new Vertex_1.Vertex(this.a.x + a * (this.b.x - this.a.x), this.a.y + a * (this.b.y - this.a.y));
|
|
127
125
|
};
|
|
128
|
-
;
|
|
129
|
-
/**
|
|
130
|
-
* Create an SVG representation of this line.
|
|
131
|
-
*
|
|
132
|
-
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
133
|
-
* @method toSVGString
|
|
134
|
-
* @override
|
|
135
|
-
* @param {object=} options - A set of options, like 'className'.
|
|
136
|
-
* @return {string} The SVG string representation.
|
|
137
|
-
* @instance
|
|
138
|
-
* @memberof Vector
|
|
139
|
-
**/
|
|
140
|
-
Vector.prototype.toSVGString = function (options) {
|
|
141
|
-
options = options || {};
|
|
142
|
-
var buffer = [];
|
|
143
|
-
var vertices = Vector.utils.buildArrowHead(this.a, this.b, 8, 1.0, 1.0);
|
|
144
|
-
buffer.push('<g');
|
|
145
|
-
if (options.className)
|
|
146
|
-
buffer.push(' class="' + options.className + '"');
|
|
147
|
-
buffer.push('>');
|
|
148
|
-
buffer.push(' <line');
|
|
149
|
-
buffer.push(' x1="' + this.a.x + '"');
|
|
150
|
-
buffer.push(' y1="' + this.a.y + '"');
|
|
151
|
-
buffer.push(' x2="' + vertices[0].x + '"');
|
|
152
|
-
buffer.push(' y2="' + vertices[0].y + '"');
|
|
153
|
-
buffer.push(' />');
|
|
154
|
-
// Add arrow head
|
|
155
|
-
buffer.push(' <polygon points="');
|
|
156
|
-
for (var i = 0; i < vertices.length; i++) {
|
|
157
|
-
if (i > 0)
|
|
158
|
-
buffer.push(' ');
|
|
159
|
-
buffer.push('' + vertices[i].x + ',' + vertices[i].y);
|
|
160
|
-
}
|
|
161
|
-
buffer.push('"/>');
|
|
162
|
-
buffer.push('</g>');
|
|
163
|
-
return buffer.join('');
|
|
164
|
-
};
|
|
165
|
-
;
|
|
166
126
|
Vector.utils = {
|
|
167
127
|
/**
|
|
168
128
|
* Generate a four-point arrow head, starting at the vector end minus the
|
|
@@ -192,10 +152,10 @@ var Vector = /** @class */ (function (_super) {
|
|
|
192
152
|
buildArrowHead: function (zA, zB, headlen, scaleX, scaleY) {
|
|
193
153
|
var angle = Math.atan2((zB.y - zA.y) * scaleY, (zB.x - zA.x) * scaleX);
|
|
194
154
|
var vertices = [];
|
|
195
|
-
vertices.push(new Vertex_1.Vertex(zB.x * scaleX -
|
|
196
|
-
vertices.push(new Vertex_1.Vertex(zB.x * scaleX -
|
|
155
|
+
vertices.push(new Vertex_1.Vertex(zB.x * scaleX - headlen * Math.cos(angle), zB.y * scaleY - headlen * Math.sin(angle)));
|
|
156
|
+
vertices.push(new Vertex_1.Vertex(zB.x * scaleX - headlen * 1.35 * Math.cos(angle - Math.PI / 8), zB.y * scaleY - headlen * 1.35 * Math.sin(angle - Math.PI / 8)));
|
|
197
157
|
vertices.push(new Vertex_1.Vertex(zB.x * scaleX, zB.y * scaleY));
|
|
198
|
-
vertices.push(new Vertex_1.Vertex(zB.x * scaleX -
|
|
158
|
+
vertices.push(new Vertex_1.Vertex(zB.x * scaleX - headlen * 1.35 * Math.cos(angle + Math.PI / 8), zB.y * scaleY - headlen * 1.35 * Math.sin(angle + Math.PI / 8)));
|
|
199
159
|
return vertices;
|
|
200
160
|
}
|
|
201
161
|
};
|
package/src/cjs/Vector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector.js","sourceRoot":"","sources":["../ts/Vector.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"Vector.js","sourceRoot":"","sources":["../ts/Vector.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/VertTuple.d.ts
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* @modified 2020-12-04 Changed `getClosestT` param from `Vertex` to `XYCoords` (generalized).
|
|
9
9
|
* @modified 2020-12-04 Added the `hasPoint(XYCoords)` function.
|
|
10
10
|
* @modified 2021-01-20 Added UID.
|
|
11
|
-
* @
|
|
11
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
12
|
+
* @version 1.2.0
|
|
12
13
|
*/
|
|
13
14
|
import { Vertex } from "./Vertex";
|
|
14
15
|
import { XYCoords, UID } from "./interfaces";
|
|
@@ -41,6 +42,13 @@ export declare class VertTuple<T extends VertTuple<T>> {
|
|
|
41
42
|
* @instance
|
|
42
43
|
*/
|
|
43
44
|
b: Vertex;
|
|
45
|
+
/**
|
|
46
|
+
* @member isDestroyed
|
|
47
|
+
* @memberof VertTuple
|
|
48
|
+
* @type {boolean}
|
|
49
|
+
* @instance
|
|
50
|
+
*/
|
|
51
|
+
isDestroyed: boolean;
|
|
44
52
|
/**
|
|
45
53
|
* The factory is used by the `clone` method.
|
|
46
54
|
*/
|
|
@@ -231,6 +239,12 @@ export declare class VertTuple<T extends VertTuple<T>> {
|
|
|
231
239
|
* @memberof VertTuple
|
|
232
240
|
**/
|
|
233
241
|
toString(): string;
|
|
242
|
+
/**
|
|
243
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
244
|
+
* After calling this function the object might not hold valid data any more and
|
|
245
|
+
* should not be used.
|
|
246
|
+
*/
|
|
247
|
+
destroy(): void;
|
|
234
248
|
/**
|
|
235
249
|
* @private
|
|
236
250
|
**/
|
package/src/cjs/VertTuple.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* @modified 2020-12-04 Changed `getClosestT` param from `Vertex` to `XYCoords` (generalized).
|
|
10
10
|
* @modified 2020-12-04 Added the `hasPoint(XYCoords)` function.
|
|
11
11
|
* @modified 2021-01-20 Added UID.
|
|
12
|
-
* @
|
|
12
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
13
|
+
* @version 1.2.0
|
|
13
14
|
*/
|
|
14
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
16
|
exports.VertTuple = void 0;
|
|
@@ -47,7 +48,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
47
48
|
VertTuple.prototype.length = function () {
|
|
48
49
|
return Math.sqrt(Math.pow(this.b.x - this.a.x, 2) + Math.pow(this.b.y - this.a.y, 2));
|
|
49
50
|
};
|
|
50
|
-
;
|
|
51
51
|
/**
|
|
52
52
|
* Set the length of this vector to the given amount. This only works if this
|
|
53
53
|
* vector is not a null vector.
|
|
@@ -60,7 +60,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
60
60
|
VertTuple.prototype.setLength = function (length) {
|
|
61
61
|
return this.scale(length / this.length());
|
|
62
62
|
};
|
|
63
|
-
;
|
|
64
63
|
/**
|
|
65
64
|
* Substract the given vertex from this line's end points.
|
|
66
65
|
*
|
|
@@ -75,7 +74,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
75
74
|
this.b.sub(amount);
|
|
76
75
|
return this;
|
|
77
76
|
};
|
|
78
|
-
;
|
|
79
77
|
/**
|
|
80
78
|
* Add the given vertex to this line's end points.
|
|
81
79
|
*
|
|
@@ -90,7 +88,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
90
88
|
this.b.add(amount);
|
|
91
89
|
return this;
|
|
92
90
|
};
|
|
93
|
-
;
|
|
94
91
|
/**
|
|
95
92
|
* Normalize this line (set to length 1).
|
|
96
93
|
*
|
|
@@ -103,7 +100,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
103
100
|
this.b.set(this.a.x + (this.b.x - this.a.x) / this.length(), this.a.y + (this.b.y - this.a.y) / this.length());
|
|
104
101
|
return this;
|
|
105
102
|
};
|
|
106
|
-
;
|
|
107
103
|
/**
|
|
108
104
|
* Scale this line by the given factor.
|
|
109
105
|
*
|
|
@@ -117,7 +113,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
117
113
|
this.b.set(this.a.x + (this.b.x - this.a.x) * factor, this.a.y + (this.b.y - this.a.y) * factor);
|
|
118
114
|
return this;
|
|
119
115
|
};
|
|
120
|
-
;
|
|
121
116
|
/**
|
|
122
117
|
* Move this line to a new location.
|
|
123
118
|
*
|
|
@@ -133,7 +128,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
133
128
|
this.b.add(diff);
|
|
134
129
|
return this;
|
|
135
130
|
};
|
|
136
|
-
;
|
|
137
131
|
/**
|
|
138
132
|
* Get the angle between this and the passed line (in radians).
|
|
139
133
|
*
|
|
@@ -144,7 +138,7 @@ var VertTuple = /** @class */ (function () {
|
|
|
144
138
|
* @memberof VertTuple
|
|
145
139
|
**/
|
|
146
140
|
VertTuple.prototype.angle = function (line) {
|
|
147
|
-
if (line == null || typeof line ==
|
|
141
|
+
if (line == null || typeof line == "undefined") {
|
|
148
142
|
line = this.factory(new Vertex_1.Vertex(0, 0), new Vertex_1.Vertex(100, 0));
|
|
149
143
|
}
|
|
150
144
|
// Compute the angle from x axis and the return the difference :)
|
|
@@ -154,7 +148,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
154
148
|
// The result might be negative, but isn't it usually nicer to determine angles in positive values only?
|
|
155
149
|
return Math.atan2(v1.x, v1.y) - Math.atan2(v0.x, v0.y);
|
|
156
150
|
};
|
|
157
|
-
;
|
|
158
151
|
/**
|
|
159
152
|
* Get line point at position t in [0 ... 1]:<br>
|
|
160
153
|
* <pre>[P(0)]=[A]--------------------[P(t)]------[B]=[P(1)]</pre><br>
|
|
@@ -170,7 +163,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
170
163
|
VertTuple.prototype.vertAt = function (t) {
|
|
171
164
|
return new Vertex_1.Vertex(this.a.x + (this.b.x - this.a.x) * t, this.a.y + (this.b.y - this.a.y) * t);
|
|
172
165
|
};
|
|
173
|
-
;
|
|
174
166
|
/**
|
|
175
167
|
* Get the denominator of this and the given line.
|
|
176
168
|
*
|
|
@@ -184,9 +176,8 @@ var VertTuple = /** @class */ (function () {
|
|
|
184
176
|
**/
|
|
185
177
|
VertTuple.prototype.denominator = function (line) {
|
|
186
178
|
// http://jsfiddle.net/justin_c_rounds/Gd2S2/
|
|
187
|
-
return (
|
|
179
|
+
return (line.b.y - line.a.y) * (this.b.x - this.a.x) - (line.b.x - line.a.x) * (this.b.y - this.a.y);
|
|
188
180
|
};
|
|
189
|
-
;
|
|
190
181
|
/**
|
|
191
182
|
* Checks if this and the given line are co-linear.
|
|
192
183
|
*
|
|
@@ -201,7 +192,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
201
192
|
VertTuple.prototype.colinear = function (line) {
|
|
202
193
|
return Math.abs(this.denominator(line)) < Vertex_1.Vertex.EPSILON;
|
|
203
194
|
};
|
|
204
|
-
;
|
|
205
195
|
/**
|
|
206
196
|
* Get the closest position T from this line to the specified point.
|
|
207
197
|
*
|
|
@@ -224,7 +214,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
224
214
|
// t = Math.max(0, Math.min(1, t));
|
|
225
215
|
return t;
|
|
226
216
|
};
|
|
227
|
-
;
|
|
228
217
|
/**
|
|
229
218
|
* Check if the given point is located on this line. Optionally also check if
|
|
230
219
|
* that point is located between point `a` and `b`.
|
|
@@ -260,7 +249,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
260
249
|
var t = this.getClosestT(p);
|
|
261
250
|
return this.vertAt(t);
|
|
262
251
|
};
|
|
263
|
-
;
|
|
264
252
|
/**
|
|
265
253
|
* The the minimal distance between this line and the specified point.
|
|
266
254
|
*
|
|
@@ -275,7 +263,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
275
263
|
// https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment
|
|
276
264
|
return Math.sqrt(VertTuple.vtutils.dist2(p, this.vertAt(this.getClosestT(p))));
|
|
277
265
|
};
|
|
278
|
-
;
|
|
279
266
|
/**
|
|
280
267
|
* Create a deep clone of this instance.
|
|
281
268
|
*
|
|
@@ -287,7 +274,6 @@ var VertTuple = /** @class */ (function () {
|
|
|
287
274
|
VertTuple.prototype.clone = function () {
|
|
288
275
|
return this.factory(this.a.clone(), this.b.clone());
|
|
289
276
|
};
|
|
290
|
-
;
|
|
291
277
|
/**
|
|
292
278
|
* Create a string representation of this line.
|
|
293
279
|
*
|
|
@@ -299,7 +285,16 @@ var VertTuple = /** @class */ (function () {
|
|
|
299
285
|
VertTuple.prototype.toString = function () {
|
|
300
286
|
return "{ a : " + this.a.toString() + ", b : " + this.b.toString() + " }";
|
|
301
287
|
};
|
|
302
|
-
|
|
288
|
+
/**
|
|
289
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
290
|
+
* After calling this function the object might not hold valid data any more and
|
|
291
|
+
* should not be used.
|
|
292
|
+
*/
|
|
293
|
+
VertTuple.prototype.destroy = function () {
|
|
294
|
+
this.a.destroy();
|
|
295
|
+
this.b.destroy();
|
|
296
|
+
this.isDestroyed = true;
|
|
297
|
+
};
|
|
303
298
|
/**
|
|
304
299
|
* @private
|
|
305
300
|
**/
|
package/src/cjs/VertTuple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VertTuple.js","sourceRoot":"","sources":["../ts/VertTuple.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"VertTuple.js","sourceRoot":"","sources":["../ts/VertTuple.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,mCAAkC;AAClC,+CAA8C;AAG9C;;;;;;GAMG;AACH;IAsCE;;;;;;;QAOI;IACJ,mBAAY,CAAS,EAAE,CAAS,EAAE,OAAoC;QACpE,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;QAMI;IACJ,0BAAM,GAAN;QACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;;QAQI;IACJ,6BAAS,GAAT,UAAU,MAAc;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;QAQI;IACJ,uBAAG,GAAH,UAAI,MAAgB;QAClB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,uBAAG,GAAH,UAAI,MAAgB;QAClB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;QAOI;IACJ,6BAAS,GAAT;QACE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/G,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,yBAAK,GAAL,UAAM,MAAc;QAClB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,0BAAM,GAAN,UAAO,IAAY;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,yBAAK,GAAL,UAAM,IAAqB;QACzB,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,WAAW,EAAE;YAC9C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,eAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SAC3D;QACD,iEAAiE;QACjE,IAAM,EAAE,GAAW,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,EAAE,GAAW,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,2FAA2F;QAC3F,wGAAwG;QACxG,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,0BAAM,GAAN,UAAO,CAAS;QACd,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;;;;QAUI;IACJ,+BAAW,GAAX,UAAY,IAAkB;QAC5B,6CAA6C;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IAED;;;;;;;;;;OAUG;IACH,4BAAQ,GAAR,UAAS,IAAkB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,eAAM,CAAC,OAAO,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,+BAAW,GAAX,UAAY,CAAW;QACrB,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACnG,6BAA6B;QAC7B,sCAAsC;QACtC,mCAAmC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;OAUG;IACH,4BAAQ,GAAR,UAAS,KAAe,EAAE,gBAA0B;QAClD,IAAM,CAAC,GAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1C,4BAA4B;QAC5B,IAAI,OAAO,gBAAgB,KAAK,WAAW,IAAI,gBAAgB,EAAE;YAC/D,IAAM,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,OAAO,QAAQ,GAAG,eAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtD;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;IAED;;;;;;;;QAQI;IACJ,mCAAe,GAAf,UAAgB,CAAS;QACvB,IAAI,CAAC,GAAW,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;QAQI;IACJ,iCAAa,GAAb,UAAc,CAAS;QACrB,cAAc;QACd,kGAAkG;QAClG,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;QAOI;IACJ,yBAAK,GAAL;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;QAOI;IACJ,4BAAQ,GAAR;QACE,OAAO,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,2BAAO,GAAP;QACE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;QAEI;IACG,iBAAO,GAAG;QACf,KAAK,EAAE,UAAC,CAAW,EAAE,CAAW;YAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;IACJ,gBAAC;CAAA,AA9UD,IA8UC;AA9UY,8BAAS"}
|
package/src/cjs/Vertex.d.ts
CHANGED
|
@@ -25,7 +25,10 @@
|
|
|
25
25
|
* @modified 2021-12-01 Changed the type of param of `scale` to XYCoords.
|
|
26
26
|
* @modified 2021-12-01 Added function `scaleXY` for non uniform scaling.
|
|
27
27
|
* @modified 2021-12-17 Added the functions `lerp` and `lerpAbs` for linear interpolations.
|
|
28
|
-
* @
|
|
28
|
+
* @modified 2022-01-31 Added `Vertex.utils.arrayToJSON`.
|
|
29
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
30
|
+
* @modified 2022-02-02 Cleared the `Vertex.toSVGString` function (deprecated). Use `drawutilssvg` instead.
|
|
31
|
+
* @version 2.7.0
|
|
29
32
|
*
|
|
30
33
|
* @file Vertex
|
|
31
34
|
* @public
|
|
@@ -93,6 +96,13 @@ export declare class Vertex implements XYCoords, SVGSerializable {
|
|
|
93
96
|
* @instance
|
|
94
97
|
**/
|
|
95
98
|
listeners: VertexListeners;
|
|
99
|
+
/**
|
|
100
|
+
* @member isDestroyed
|
|
101
|
+
* @memberof Vertex
|
|
102
|
+
* @type {boolean}
|
|
103
|
+
* @instance
|
|
104
|
+
*/
|
|
105
|
+
isDestroyed: boolean;
|
|
96
106
|
/**
|
|
97
107
|
* The constructor for the vertex class.
|
|
98
108
|
*
|
|
@@ -363,18 +373,11 @@ export declare class Vertex implements XYCoords, SVGSerializable {
|
|
|
363
373
|
**/
|
|
364
374
|
toString(): string;
|
|
365
375
|
/**
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
*
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
* @return {string} A string representing the SVG code for this vertex.
|
|
372
|
-
* @instance
|
|
373
|
-
* @memberof Vertex
|
|
374
|
-
**/
|
|
375
|
-
toSVGString(options: {
|
|
376
|
-
className?: string;
|
|
377
|
-
}): string;
|
|
376
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
377
|
+
* After calling this function the object might not hold valid data any more and
|
|
378
|
+
* should not be used.
|
|
379
|
+
*/
|
|
380
|
+
destroy(): void;
|
|
378
381
|
/**
|
|
379
382
|
* Create a new random vertex inside the given viewport.
|
|
380
383
|
*
|
|
@@ -412,5 +415,12 @@ export declare class Vertex implements XYCoords, SVGSerializable {
|
|
|
412
415
|
* @param {number} scaleY - the vertical scaling during draw.
|
|
413
416
|
**/
|
|
414
417
|
buildArrowHead: (zA: Vertex, zB: Vertex, headlen: number, scaleX: number, scaleY: number) => Array<Vertex>;
|
|
418
|
+
/**
|
|
419
|
+
* Convert the given vertices (array) to a JSON string.
|
|
420
|
+
*
|
|
421
|
+
* @param {number?} precision - (optional) The numeric precision to be used (number of precision digits).
|
|
422
|
+
* @returns {string}
|
|
423
|
+
*/
|
|
424
|
+
arrayToJSON(vertices: Array<XYCoords>, precision?: number): string;
|
|
415
425
|
};
|
|
416
426
|
}
|
package/src/cjs/Vertex.js
CHANGED
|
@@ -26,7 +26,10 @@
|
|
|
26
26
|
* @modified 2021-12-01 Changed the type of param of `scale` to XYCoords.
|
|
27
27
|
* @modified 2021-12-01 Added function `scaleXY` for non uniform scaling.
|
|
28
28
|
* @modified 2021-12-17 Added the functions `lerp` and `lerpAbs` for linear interpolations.
|
|
29
|
-
* @
|
|
29
|
+
* @modified 2022-01-31 Added `Vertex.utils.arrayToJSON`.
|
|
30
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
31
|
+
* @modified 2022-02-02 Cleared the `Vertex.toSVGString` function (deprecated). Use `drawutilssvg` instead.
|
|
32
|
+
* @version 2.7.0
|
|
30
33
|
*
|
|
31
34
|
* @file Vertex
|
|
32
35
|
* @public
|
|
@@ -518,28 +521,14 @@ var Vertex = /** @class */ (function () {
|
|
|
518
521
|
return "(" + this.x + "," + this.y + ")";
|
|
519
522
|
};
|
|
520
523
|
/**
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
*
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
* @memberof Vertex
|
|
529
|
-
**/
|
|
530
|
-
Vertex.prototype.toSVGString = function (options) {
|
|
531
|
-
options = options || {};
|
|
532
|
-
var buffer = [];
|
|
533
|
-
buffer.push("<circle");
|
|
534
|
-
if (options.className)
|
|
535
|
-
buffer.push(' class="' + options.className + '"');
|
|
536
|
-
buffer.push(' cx="' + this.x + '"');
|
|
537
|
-
buffer.push(' cy="' + this.y + '"');
|
|
538
|
-
buffer.push(' r="2"');
|
|
539
|
-
buffer.push(" />");
|
|
540
|
-
return buffer.join("");
|
|
524
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
525
|
+
* After calling this function the object might not hold valid data any more and
|
|
526
|
+
* should not be used.
|
|
527
|
+
*/
|
|
528
|
+
Vertex.prototype.destroy = function () {
|
|
529
|
+
this.listeners.removeAllListeners();
|
|
530
|
+
this.isDestroyed = true;
|
|
541
531
|
};
|
|
542
|
-
// END Vertex
|
|
543
532
|
/**
|
|
544
533
|
* Create a new random vertex inside the given viewport.
|
|
545
534
|
*
|
|
@@ -593,6 +582,19 @@ var Vertex = /** @class */ (function () {
|
|
|
593
582
|
vertices.push(new Vertex(zB.x * scaleX, zB.y * scaleY));
|
|
594
583
|
vertices.push(new Vertex(zB.x * scaleX - headlen * 1.35 * Math.cos(angle + Math.PI / 8), zB.y * scaleY - headlen * 1.35 * Math.sin(angle + Math.PI / 8)));
|
|
595
584
|
return vertices;
|
|
585
|
+
},
|
|
586
|
+
/**
|
|
587
|
+
* Convert the given vertices (array) to a JSON string.
|
|
588
|
+
*
|
|
589
|
+
* @param {number?} precision - (optional) The numeric precision to be used (number of precision digits).
|
|
590
|
+
* @returns {string}
|
|
591
|
+
*/
|
|
592
|
+
arrayToJSON: function (vertices, precision) {
|
|
593
|
+
return JSON.stringify(vertices.map(function (vert) {
|
|
594
|
+
return typeof precision === undefined
|
|
595
|
+
? { x: vert.x, y: vert.y }
|
|
596
|
+
: { x: Number(vert.x.toFixed(precision)), y: Number(vert.y.toFixed(precision)) };
|
|
597
|
+
}));
|
|
596
598
|
}
|
|
597
599
|
};
|
|
598
600
|
return Vertex;
|