plotboilerplate 1.15.0 → 1.16.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/changelog.md +24 -0
- package/dist/index.esm.js +574 -428
- 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 +574 -428
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/BezierPath.d.ts +33 -1
- package/src/cjs/BezierPath.js +80 -13
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Circle.d.ts +25 -10
- package/src/cjs/Circle.js +38 -33
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +27 -13
- package/src/cjs/CircleSector.js +38 -23
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +17 -1
- package/src/cjs/CubicBezierCurve.js +78 -79
- 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 -1
- package/src/cjs/Line.js +19 -18
- 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 +16 -1
- package/src/cjs/PBImage.js +13 -3
- package/src/cjs/PBImage.js.map +1 -1
- package/src/cjs/PBText.d.ts +15 -1
- package/src/cjs/PBText.js +11 -1
- package/src/cjs/PBText.js.map +1 -1
- package/src/cjs/PlotBoilerplate.js +1 -1
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +16 -1
- package/src/cjs/Polygon.js +37 -23
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +16 -1
- package/src/cjs/Triangle.js +50 -54
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +16 -1
- package/src/cjs/VEllipse.js +25 -12
- 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 -1
- package/src/cjs/Vector.js +32 -36
- 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 +25 -1
- package/src/cjs/Vertex.js +38 -11
- 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/utils/creategui.js +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +55 -28
- 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 +33 -1
- package/src/esm/BezierPath.js +80 -13
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Circle.d.ts +25 -10
- package/src/esm/Circle.js +38 -33
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +27 -13
- package/src/esm/CircleSector.js +38 -23
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +17 -1
- package/src/esm/CubicBezierCurve.js +78 -79
- 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 -1
- package/src/esm/Line.js +19 -18
- 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 +16 -1
- package/src/esm/PBImage.js +13 -3
- package/src/esm/PBImage.js.map +1 -1
- package/src/esm/PBText.d.ts +15 -1
- package/src/esm/PBText.js +11 -1
- package/src/esm/PBText.js.map +1 -1
- package/src/esm/PlotBoilerplate.js +1 -1
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +16 -1
- package/src/esm/Polygon.js +37 -23
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +16 -1
- package/src/esm/Triangle.js +50 -54
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +16 -1
- package/src/esm/VEllipse.js +25 -12
- 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 -1
- package/src/esm/Vector.js +32 -36
- 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 +25 -1
- package/src/esm/Vertex.js +38 -11
- 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/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +54 -28
- 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 +96 -11
- package/src/ts/Circle.ts +213 -200
- package/src/ts/CircleSector.ts +171 -141
- package/src/ts/CubicBezierCurve.ts +777 -810
- package/src/ts/KeyHandler.ts +221 -212
- package/src/ts/Line.ts +77 -80
- package/src/ts/MouseHandler.ts +356 -368
- package/src/ts/PBImage.ts +81 -68
- package/src/ts/PBText.ts +20 -1
- package/src/ts/PlotBoilerplate.ts +1 -1
- package/src/ts/Polygon.ts +48 -22
- package/src/ts/Triangle.ts +484 -489
- package/src/ts/VEllipse.ts +36 -11
- package/src/ts/VEllipseSector.ts +20 -1
- package/src/ts/Vector.ts +164 -160
- package/src/ts/VertTuple.ts +333 -338
- package/src/ts/Vertex.ts +52 -10
- package/src/ts/VertexListeners.ts +248 -266
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -30
- package/src/ts/utils/io/FileDrop.ts +178 -0
package/src/cjs/CircleSector.js
CHANGED
|
@@ -38,27 +38,42 @@ var CircleSector = /** @class */ (function () {
|
|
|
38
38
|
this.startAngle = startAngle;
|
|
39
39
|
this.endAngle = endAngle;
|
|
40
40
|
}
|
|
41
|
-
;
|
|
42
41
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
42
|
+
* Create an SVG representation of this circle.
|
|
43
|
+
*
|
|
44
|
+
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
45
|
+
* @method toSVGString
|
|
46
|
+
* @param {object=} options - An optional set of options, like 'className'.
|
|
47
|
+
* @return {string} A string representing the SVG code for this vertex.
|
|
48
|
+
* @instance
|
|
49
|
+
* @memberof Circle
|
|
50
|
+
*/
|
|
51
51
|
CircleSector.prototype.toSVGString = function (options) {
|
|
52
|
-
options = options || {};
|
|
53
|
-
var buffer = [];
|
|
54
|
-
buffer.push(
|
|
55
|
-
if (options.className)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
// options = options || {};
|
|
53
|
+
// var buffer: Array<string> = [];
|
|
54
|
+
// buffer.push("<path ");
|
|
55
|
+
// if (options.className) buffer.push(' class="' + options.className + '"');
|
|
56
|
+
// const data: SVGPathParams = CircleSector.circleSectorUtils.describeSVGArc(
|
|
57
|
+
// this.circle.center.x,
|
|
58
|
+
// this.circle.center.y,
|
|
59
|
+
// this.circle.radius,
|
|
60
|
+
// this.startAngle,
|
|
61
|
+
// this.endAngle
|
|
62
|
+
// );
|
|
63
|
+
// buffer.push(' d="' + data.join(" ") + '" />');
|
|
64
|
+
// return buffer.join("");
|
|
65
|
+
console.warn("[Deprecation] Warning: the CircleSector.toSVGString method is deprecated and does not return and valid SVG data any more. Please use `drawutilssvg` instead.");
|
|
66
|
+
return "";
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
70
|
+
* After calling this function the object might not hold valid data any more and
|
|
71
|
+
* should not be used.
|
|
72
|
+
*/
|
|
73
|
+
CircleSector.prototype.destroy = function () {
|
|
74
|
+
this.circle.destroy();
|
|
75
|
+
this.isDestroyed = true;
|
|
60
76
|
};
|
|
61
|
-
;
|
|
62
77
|
CircleSector.circleSectorUtils = {
|
|
63
78
|
/**
|
|
64
79
|
* Helper function to convert polar circle coordinates to cartesian coordinates.
|
|
@@ -66,11 +81,11 @@ var CircleSector = /** @class */ (function () {
|
|
|
66
81
|
* TODO: generalize for ellipses (two radii).
|
|
67
82
|
*
|
|
68
83
|
* @param {number} angle - The angle in radians.
|
|
69
|
-
|
|
84
|
+
*/
|
|
70
85
|
polarToCartesian: function (centerX, centerY, radius, angle) {
|
|
71
86
|
return {
|
|
72
|
-
x: centerX +
|
|
73
|
-
y: centerY +
|
|
87
|
+
x: centerX + radius * Math.cos(angle),
|
|
88
|
+
y: centerY + radius * Math.sin(angle)
|
|
74
89
|
};
|
|
75
90
|
},
|
|
76
91
|
/**
|
|
@@ -83,7 +98,7 @@ var CircleSector = /** @class */ (function () {
|
|
|
83
98
|
* @return [ 'A', radiusx, radiusy, rotation=0, largeArcFlag=1|0, sweepFlag=0, endx, endy ]
|
|
84
99
|
*/
|
|
85
100
|
describeSVGArc: function (x, y, radius, startAngle, endAngle, options) {
|
|
86
|
-
if (typeof options ===
|
|
101
|
+
if (typeof options === "undefined")
|
|
87
102
|
options = { moveToStart: true };
|
|
88
103
|
var end = CircleSector.circleSectorUtils.polarToCartesian(x, y, radius, endAngle);
|
|
89
104
|
var start = CircleSector.circleSectorUtils.polarToCartesian(x, y, radius, startAngle);
|
|
@@ -108,7 +123,7 @@ var CircleSector = /** @class */ (function () {
|
|
|
108
123
|
}
|
|
109
124
|
var pathData = [];
|
|
110
125
|
if (options.moveToStart) {
|
|
111
|
-
pathData.push(
|
|
126
|
+
pathData.push("M", start.x, start.y);
|
|
112
127
|
}
|
|
113
128
|
pathData.push("A", radius, radius, 0, largeArcFlag, sweepFlag, end.x, end.y);
|
|
114
129
|
return pathData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleSector.js","sourceRoot":"","sources":["../ts/CircleSector.ts"],"names":[],"mappings":";AAAA;;;;;;IAMI;;;
|
|
1
|
+
{"version":3,"file":"CircleSector.js","sourceRoot":"","sources":["../ts/CircleSector.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
* @modified 2020-07-14 Changed the moveCurvePoint(...,Vertex) to moveCurvePoint(...,XYCoords), which is more generic.
|
|
19
19
|
* @modified 2020-07-24 Added the getClosestT function and the helper function locateIntervalByDistance(...).
|
|
20
20
|
* @modified 2021-01-20 Added UID.
|
|
21
|
-
* @
|
|
21
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
22
|
+
* @modified 2022-02-02 Cleared the `toSVGPathData` function (deprecated). Use `drawutilssvg` instead.
|
|
23
|
+
* @version 2.6.0
|
|
22
24
|
*
|
|
23
25
|
* @file CubicBezierCurve
|
|
24
26
|
* @public
|
|
@@ -110,6 +112,13 @@ export declare class CubicBezierCurve {
|
|
|
110
112
|
* @instance
|
|
111
113
|
*/
|
|
112
114
|
arcLength: number;
|
|
115
|
+
/**
|
|
116
|
+
* @member isDestroyed
|
|
117
|
+
* @memberof CubicBezierCurve
|
|
118
|
+
* @type {boolean}
|
|
119
|
+
* @instance
|
|
120
|
+
*/
|
|
121
|
+
isDestroyed: boolean;
|
|
113
122
|
/**
|
|
114
123
|
* The constructor.
|
|
115
124
|
*
|
|
@@ -393,6 +402,12 @@ export declare class CubicBezierCurve {
|
|
|
393
402
|
* @return {boolean}
|
|
394
403
|
**/
|
|
395
404
|
equals(curve: CubicBezierCurve | undefined): boolean;
|
|
405
|
+
/**
|
|
406
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
407
|
+
* After calling this function the object might not hold valid data any more and
|
|
408
|
+
* should not be used.
|
|
409
|
+
*/
|
|
410
|
+
destroy(): void;
|
|
396
411
|
/**
|
|
397
412
|
* Quick check for class instance.
|
|
398
413
|
* Is there a better way?
|
|
@@ -412,6 +427,7 @@ export declare class CubicBezierCurve {
|
|
|
412
427
|
* or in other words<br>
|
|
413
428
|
* <pre>'M startoint.x startPoint.y C startControlPoint.x startControlPoint.y endControlPoint.x endControlPoint.y endPoint.x endPoint.y'</pre>
|
|
414
429
|
*
|
|
430
|
+
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
415
431
|
* @method toSVGPathData
|
|
416
432
|
* @instance
|
|
417
433
|
* @memberof CubicBezierCurve
|
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
* @modified 2020-07-14 Changed the moveCurvePoint(...,Vertex) to moveCurvePoint(...,XYCoords), which is more generic.
|
|
20
20
|
* @modified 2020-07-24 Added the getClosestT function and the helper function locateIntervalByDistance(...).
|
|
21
21
|
* @modified 2021-01-20 Added UID.
|
|
22
|
-
* @
|
|
22
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
23
|
+
* @modified 2022-02-02 Cleared the `toSVGPathData` function (deprecated). Use `drawutilssvg` instead.
|
|
24
|
+
* @version 2.6.0
|
|
23
25
|
*
|
|
24
26
|
* @file CubicBezierCurve
|
|
25
27
|
* @public
|
|
@@ -74,7 +76,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
74
76
|
this.arcLength = null;
|
|
75
77
|
this.updateArcLengths();
|
|
76
78
|
}
|
|
77
|
-
;
|
|
78
79
|
/**
|
|
79
80
|
* Move the given curve point (the start point, end point or one of the two
|
|
80
81
|
* control points).
|
|
@@ -111,7 +112,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
111
112
|
if (updateArcLengths)
|
|
112
113
|
this.updateArcLengths();
|
|
113
114
|
};
|
|
114
|
-
;
|
|
115
115
|
/**
|
|
116
116
|
* Translate the whole curve by the given {x,y} amount: moves all four points.
|
|
117
117
|
*
|
|
@@ -128,7 +128,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
128
128
|
this.endPoint.add(amount);
|
|
129
129
|
return this;
|
|
130
130
|
};
|
|
131
|
-
;
|
|
132
131
|
/**
|
|
133
132
|
* Reverse this curve, means swapping start- and end-point and swapping
|
|
134
133
|
* start-control- and end-control-point.
|
|
@@ -147,7 +146,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
147
146
|
this.endControlPoint = tmp;
|
|
148
147
|
return this;
|
|
149
148
|
};
|
|
150
|
-
;
|
|
151
149
|
/**
|
|
152
150
|
* Get the total curve length.<br>
|
|
153
151
|
* <br>
|
|
@@ -166,7 +164,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
166
164
|
CubicBezierCurve.prototype.getLength = function () {
|
|
167
165
|
return this.arcLength;
|
|
168
166
|
};
|
|
169
|
-
;
|
|
170
167
|
/**
|
|
171
168
|
* Uptate the internal arc segment buffer and their lengths.<br>
|
|
172
169
|
* <br>
|
|
@@ -204,7 +201,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
204
201
|
}
|
|
205
202
|
this.arcLength = newLength;
|
|
206
203
|
};
|
|
207
|
-
;
|
|
208
204
|
/**
|
|
209
205
|
* Get a 't' (relative position on curve) with the closest distance to point 'p'.
|
|
210
206
|
*
|
|
@@ -227,7 +223,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
227
223
|
} while (iteration < 4 && this.getPointAt(result.tPrev).distance(this.getPointAt(result.tNext)) > desiredEpsilon);
|
|
228
224
|
return result.t;
|
|
229
225
|
};
|
|
230
|
-
;
|
|
231
226
|
/**
|
|
232
227
|
* This helper function locates the 't' on a fixed step interval with the minimal distance
|
|
233
228
|
* between the curve (at 't') and the given point.
|
|
@@ -256,12 +251,12 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
256
251
|
minDist = dist;
|
|
257
252
|
}
|
|
258
253
|
}
|
|
259
|
-
return {
|
|
254
|
+
return {
|
|
255
|
+
t: tStart + tDiff * (minIndex / stepCount),
|
|
260
256
|
tPrev: tStart + tDiff * (Math.max(0, minIndex - 1) / stepCount),
|
|
261
257
|
tNext: tStart + tDiff * (Math.min(stepCount, minIndex + 1) / stepCount)
|
|
262
258
|
};
|
|
263
259
|
};
|
|
264
|
-
;
|
|
265
260
|
/**
|
|
266
261
|
* Get the bounds of this bezier curve.
|
|
267
262
|
*
|
|
@@ -283,7 +278,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
283
278
|
}
|
|
284
279
|
return new Bounds_1.Bounds(min, max);
|
|
285
280
|
};
|
|
286
|
-
;
|
|
287
281
|
/**
|
|
288
282
|
* Get the start point of the curve.<br>
|
|
289
283
|
* <br>
|
|
@@ -297,7 +291,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
297
291
|
CubicBezierCurve.prototype.getStartPoint = function () {
|
|
298
292
|
return this.startPoint;
|
|
299
293
|
};
|
|
300
|
-
;
|
|
301
294
|
/**
|
|
302
295
|
* Get the end point of the curve.<br>
|
|
303
296
|
* <br>
|
|
@@ -311,7 +304,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
311
304
|
CubicBezierCurve.prototype.getEndPoint = function () {
|
|
312
305
|
return this.endPoint;
|
|
313
306
|
};
|
|
314
|
-
;
|
|
315
307
|
/**
|
|
316
308
|
* Get the start control point of the curve.<br>
|
|
317
309
|
* <br>
|
|
@@ -325,7 +317,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
325
317
|
CubicBezierCurve.prototype.getStartControlPoint = function () {
|
|
326
318
|
return this.startControlPoint;
|
|
327
319
|
};
|
|
328
|
-
;
|
|
329
320
|
/**
|
|
330
321
|
* Get the end control point of the curve.<br>
|
|
331
322
|
* <br>
|
|
@@ -339,7 +330,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
339
330
|
CubicBezierCurve.prototype.getEndControlPoint = function () {
|
|
340
331
|
return this.endControlPoint;
|
|
341
332
|
};
|
|
342
|
-
;
|
|
343
333
|
/**
|
|
344
334
|
* Get one of the four curve points specified by the passt point ID.
|
|
345
335
|
*
|
|
@@ -360,7 +350,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
360
350
|
return this.endControlPoint;
|
|
361
351
|
throw new Error("Invalid point ID '" + id + "'.");
|
|
362
352
|
};
|
|
363
|
-
;
|
|
364
353
|
/**
|
|
365
354
|
* Get the curve point at a given position t, where t is in [0,1].<br>
|
|
366
355
|
* <br>
|
|
@@ -375,13 +364,16 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
375
364
|
**/
|
|
376
365
|
CubicBezierCurve.prototype.getPointAt = function (t) {
|
|
377
366
|
// Perform some powerful math magic
|
|
378
|
-
var x = this.startPoint.x * Math.pow(1.0 - t, 3) +
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
367
|
+
var x = this.startPoint.x * Math.pow(1.0 - t, 3) +
|
|
368
|
+
this.startControlPoint.x * 3 * t * Math.pow(1.0 - t, 2) +
|
|
369
|
+
this.endControlPoint.x * 3 * Math.pow(t, 2) * (1.0 - t) +
|
|
370
|
+
this.endPoint.x * Math.pow(t, 3);
|
|
371
|
+
var y = this.startPoint.y * Math.pow(1.0 - t, 3) +
|
|
372
|
+
this.startControlPoint.y * 3 * t * Math.pow(1.0 - t, 2) +
|
|
373
|
+
this.endControlPoint.y * 3 * Math.pow(t, 2) * (1.0 - t) +
|
|
374
|
+
this.endPoint.y * Math.pow(t, 3);
|
|
382
375
|
return new Vertex_1.Vertex(x, y);
|
|
383
376
|
};
|
|
384
|
-
;
|
|
385
377
|
/**
|
|
386
378
|
* Get the curve point at a given position u, where u is in [0,arcLength].<br>
|
|
387
379
|
* <br>
|
|
@@ -397,7 +389,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
397
389
|
CubicBezierCurve.prototype.getPoint = function (u) {
|
|
398
390
|
return this.getPointAt(u / this.arcLength);
|
|
399
391
|
};
|
|
400
|
-
;
|
|
401
392
|
/**
|
|
402
393
|
* Get the curve tangent vector at a given absolute curve position t in [0,1].<br>
|
|
403
394
|
* <br>
|
|
@@ -418,18 +409,11 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
418
409
|
var t2 = t * t;
|
|
419
410
|
// (1 - t)^2 = (1-t)*(1-t) = 1 - t - t + t^2 = 1 - 2*t + t^2
|
|
420
411
|
var nt2 = 1 - 2 * t + t2;
|
|
421
|
-
var tX = -3 * a.x * nt2 +
|
|
422
|
-
|
|
423
|
-
c.x * (6 * (t - t2) - 3 * t2) +
|
|
424
|
-
3 * d.x * t2;
|
|
425
|
-
var tY = -3 * a.y * nt2 +
|
|
426
|
-
b.y * (3 * nt2 - 6 * (t - t2)) +
|
|
427
|
-
c.y * (6 * (t - t2) - 3 * t2) +
|
|
428
|
-
3 * d.y * t2;
|
|
412
|
+
var tX = -3 * a.x * nt2 + b.x * (3 * nt2 - 6 * (t - t2)) + c.x * (6 * (t - t2) - 3 * t2) + 3 * d.x * t2;
|
|
413
|
+
var tY = -3 * a.y * nt2 + b.y * (3 * nt2 - 6 * (t - t2)) + c.y * (6 * (t - t2) - 3 * t2) + 3 * d.y * t2;
|
|
429
414
|
// Note: my implementation does NOT normalize tangent vectors!
|
|
430
415
|
return new Vertex_1.Vertex(tX, tY);
|
|
431
416
|
};
|
|
432
|
-
;
|
|
433
417
|
/**
|
|
434
418
|
* Get a sub curve at the given start end end offsets (values between 0.0 and 1.0).
|
|
435
419
|
*
|
|
@@ -455,7 +439,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
455
439
|
// pb.draw.cubicBezier( startVec.a, endVec.a, startVec.b, endVec.b, '#8800ff', 2 );
|
|
456
440
|
return new CubicBezierCurve(startVec.a, endVec.a, startVec.b, endVec.b);
|
|
457
441
|
};
|
|
458
|
-
;
|
|
459
442
|
/**
|
|
460
443
|
* Convert a relative curve position u to the absolute curve position t.
|
|
461
444
|
*
|
|
@@ -466,9 +449,8 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
466
449
|
* @return {number}
|
|
467
450
|
**/
|
|
468
451
|
CubicBezierCurve.prototype.convertU2T = function (u) {
|
|
469
|
-
return Math.max(0.0, Math.min(1.0,
|
|
452
|
+
return Math.max(0.0, Math.min(1.0, u / this.arcLength));
|
|
470
453
|
};
|
|
471
|
-
;
|
|
472
454
|
/**
|
|
473
455
|
* Get the curve tangent vector at a given relative position u in [0,arcLength].<br>
|
|
474
456
|
* <br>
|
|
@@ -483,7 +465,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
483
465
|
CubicBezierCurve.prototype.getTangent = function (u) {
|
|
484
466
|
return this.getTangentAt(this.convertU2T(u));
|
|
485
467
|
};
|
|
486
|
-
;
|
|
487
468
|
/**
|
|
488
469
|
* Get the curve perpendicular at a given relative position u in [0,arcLength] as a vector.<br>
|
|
489
470
|
* <br>
|
|
@@ -498,7 +479,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
498
479
|
CubicBezierCurve.prototype.getPerpendicular = function (u) {
|
|
499
480
|
return this.getPerpendicularAt(this.convertU2T(u));
|
|
500
481
|
};
|
|
501
|
-
;
|
|
502
482
|
/**
|
|
503
483
|
* Get the curve perpendicular at a given absolute position t in [0,1] as a vector.<br>
|
|
504
484
|
* <br>
|
|
@@ -514,7 +494,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
514
494
|
var tangentVector = this.getTangentAt(t);
|
|
515
495
|
return new Vertex_1.Vertex(tangentVector.y, -tangentVector.x);
|
|
516
496
|
};
|
|
517
|
-
;
|
|
518
497
|
/**
|
|
519
498
|
* Clone this Bézier curve (deep clone).
|
|
520
499
|
*
|
|
@@ -526,7 +505,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
526
505
|
CubicBezierCurve.prototype.clone = function () {
|
|
527
506
|
return new CubicBezierCurve(this.getStartPoint().clone(), this.getEndPoint().clone(), this.getStartControlPoint().clone(), this.getEndControlPoint().clone());
|
|
528
507
|
};
|
|
529
|
-
;
|
|
530
508
|
/**
|
|
531
509
|
* Check if this and the specified curve are equal.<br>
|
|
532
510
|
* <br>
|
|
@@ -545,17 +523,25 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
545
523
|
// Let's see if this restricted version works out.
|
|
546
524
|
if (!curve)
|
|
547
525
|
return false;
|
|
548
|
-
if (!curve.startPoint ||
|
|
549
|
-
!curve.endPoint ||
|
|
550
|
-
!curve.startControlPoint ||
|
|
551
|
-
!curve.endControlPoint)
|
|
526
|
+
if (!curve.startPoint || !curve.endPoint || !curve.startControlPoint || !curve.endControlPoint)
|
|
552
527
|
return false;
|
|
553
|
-
return this.startPoint.equals(curve.startPoint)
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
528
|
+
return (this.startPoint.equals(curve.startPoint) &&
|
|
529
|
+
this.endPoint.equals(curve.endPoint) &&
|
|
530
|
+
this.startControlPoint.equals(curve.startControlPoint) &&
|
|
531
|
+
this.endControlPoint.equals(curve.endControlPoint));
|
|
532
|
+
};
|
|
533
|
+
/**
|
|
534
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
535
|
+
* After calling this function the object might not hold valid data any more and
|
|
536
|
+
* should not be used.
|
|
537
|
+
*/
|
|
538
|
+
CubicBezierCurve.prototype.destroy = function () {
|
|
539
|
+
this.startPoint.destroy();
|
|
540
|
+
this.endPoint.destroy();
|
|
541
|
+
this.startControlPoint.destroy();
|
|
542
|
+
this.endControlPoint.destroy();
|
|
543
|
+
this.isDestroyed = true;
|
|
557
544
|
};
|
|
558
|
-
;
|
|
559
545
|
/**
|
|
560
546
|
* Quick check for class instance.
|
|
561
547
|
* Is there a better way?
|
|
@@ -581,7 +567,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
581
567
|
*/
|
|
582
568
|
return obj instanceof CubicBezierCurve;
|
|
583
569
|
};
|
|
584
|
-
;
|
|
585
570
|
/**
|
|
586
571
|
* Create an SVG path data representation of this bézier curve.
|
|
587
572
|
*
|
|
@@ -590,32 +575,34 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
590
575
|
* or in other words<br>
|
|
591
576
|
* <pre>'M startoint.x startPoint.y C startControlPoint.x startControlPoint.y endControlPoint.x endControlPoint.y endPoint.x endPoint.y'</pre>
|
|
592
577
|
*
|
|
578
|
+
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
593
579
|
* @method toSVGPathData
|
|
594
580
|
* @instance
|
|
595
581
|
* @memberof CubicBezierCurve
|
|
596
582
|
* @return {string} The SVG path data string.
|
|
597
583
|
**/
|
|
598
584
|
CubicBezierCurve.prototype.toSVGPathData = function () {
|
|
599
|
-
var buffer = [];
|
|
600
|
-
buffer.push(
|
|
601
|
-
buffer.push(this.startPoint.x.toString());
|
|
602
|
-
buffer.push(
|
|
603
|
-
buffer.push(this.startPoint.y.toString());
|
|
604
|
-
buffer.push(
|
|
605
|
-
buffer.push(this.startControlPoint.x.toString());
|
|
606
|
-
buffer.push(
|
|
607
|
-
buffer.push(this.startControlPoint.y.toString());
|
|
608
|
-
buffer.push(
|
|
609
|
-
buffer.push(this.endControlPoint.x.toString());
|
|
610
|
-
buffer.push(
|
|
611
|
-
buffer.push(this.endControlPoint.y.toString());
|
|
612
|
-
buffer.push(
|
|
613
|
-
buffer.push(this.endPoint.x.toString());
|
|
614
|
-
buffer.push(
|
|
615
|
-
buffer.push(this.endPoint.y.toString());
|
|
616
|
-
return buffer.join(
|
|
585
|
+
// var buffer: Array<string> = [];
|
|
586
|
+
// buffer.push("M ");
|
|
587
|
+
// buffer.push(this.startPoint.x.toString());
|
|
588
|
+
// buffer.push(" ");
|
|
589
|
+
// buffer.push(this.startPoint.y.toString());
|
|
590
|
+
// buffer.push(" C ");
|
|
591
|
+
// buffer.push(this.startControlPoint.x.toString());
|
|
592
|
+
// buffer.push(" ");
|
|
593
|
+
// buffer.push(this.startControlPoint.y.toString());
|
|
594
|
+
// buffer.push(" ");
|
|
595
|
+
// buffer.push(this.endControlPoint.x.toString());
|
|
596
|
+
// buffer.push(" ");
|
|
597
|
+
// buffer.push(this.endControlPoint.y.toString());
|
|
598
|
+
// buffer.push(" ");
|
|
599
|
+
// buffer.push(this.endPoint.x.toString());
|
|
600
|
+
// buffer.push(" ");
|
|
601
|
+
// buffer.push(this.endPoint.y.toString());
|
|
602
|
+
// return buffer.join("");
|
|
603
|
+
console.warn("[Deprecation] Warning: the CubicBezierCurve.toSVGPathData method is deprecated and does not return and valid SVG data any more. Please use `drawutilssvg` instead.");
|
|
604
|
+
return "";
|
|
617
605
|
};
|
|
618
|
-
;
|
|
619
606
|
/**
|
|
620
607
|
* Convert this curve to a JSON string.
|
|
621
608
|
*
|
|
@@ -628,18 +615,33 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
628
615
|
CubicBezierCurve.prototype.toJSON = function (prettyFormat) {
|
|
629
616
|
var jsonString = "{ " + // begin object
|
|
630
617
|
(prettyFormat ? "\n\t" : "") +
|
|
631
|
-
"
|
|
618
|
+
'"startPoint" : [' +
|
|
619
|
+
this.getStartPoint().x +
|
|
620
|
+
"," +
|
|
621
|
+
this.getStartPoint().y +
|
|
622
|
+
"], " +
|
|
632
623
|
(prettyFormat ? "\n\t" : "") +
|
|
633
|
-
"
|
|
624
|
+
'"endPoint" : [' +
|
|
625
|
+
this.getEndPoint().x +
|
|
626
|
+
"," +
|
|
627
|
+
this.getEndPoint().y +
|
|
628
|
+
"], " +
|
|
634
629
|
(prettyFormat ? "\n\t" : "") +
|
|
635
|
-
"
|
|
630
|
+
'"startControlPoint": [' +
|
|
631
|
+
this.getStartControlPoint().x +
|
|
632
|
+
"," +
|
|
633
|
+
this.getStartControlPoint().y +
|
|
634
|
+
"], " +
|
|
636
635
|
(prettyFormat ? "\n\t" : "") +
|
|
637
|
-
"
|
|
636
|
+
'"endControlPoint" : [' +
|
|
637
|
+
this.getEndControlPoint().x +
|
|
638
|
+
"," +
|
|
639
|
+
this.getEndControlPoint().y +
|
|
640
|
+
"]" +
|
|
638
641
|
(prettyFormat ? "\n\t" : "") +
|
|
639
642
|
" }"; // end object
|
|
640
643
|
return jsonString;
|
|
641
644
|
};
|
|
642
|
-
;
|
|
643
645
|
/**
|
|
644
646
|
* Parse a Bézier curve from the given JSON string.
|
|
645
647
|
*
|
|
@@ -654,7 +656,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
654
656
|
var obj = JSON.parse(jsonString);
|
|
655
657
|
return CubicBezierCurve.fromObject(obj);
|
|
656
658
|
};
|
|
657
|
-
;
|
|
658
659
|
/**
|
|
659
660
|
* Try to convert the passed object to a CubicBezierCurve.
|
|
660
661
|
*
|
|
@@ -669,16 +670,15 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
669
670
|
if (typeof obj !== "object")
|
|
670
671
|
throw "Can only build from object.";
|
|
671
672
|
if (!obj.startPoint)
|
|
672
|
-
throw
|
|
673
|
+
throw 'Object member "startPoint" missing.';
|
|
673
674
|
if (!obj.endPoint)
|
|
674
|
-
throw
|
|
675
|
+
throw 'Object member "endPoint" missing.';
|
|
675
676
|
if (!obj.startControlPoint)
|
|
676
|
-
throw
|
|
677
|
+
throw 'Object member "startControlPoint" missing.';
|
|
677
678
|
if (!obj.endControlPoint)
|
|
678
|
-
throw
|
|
679
|
+
throw 'Object member "endControlPoint" missing.';
|
|
679
680
|
return new CubicBezierCurve(new Vertex_1.Vertex(obj.startPoint[0], obj.startPoint[1]), new Vertex_1.Vertex(obj.endPoint[0], obj.endPoint[1]), new Vertex_1.Vertex(obj.startControlPoint[0], obj.startControlPoint[1]), new Vertex_1.Vertex(obj.endControlPoint[0], obj.endControlPoint[1]));
|
|
680
681
|
};
|
|
681
|
-
;
|
|
682
682
|
/**
|
|
683
683
|
* Convert a 4-element array of vertices to a cubic bézier curve.
|
|
684
684
|
*
|
|
@@ -695,7 +695,6 @@ var CubicBezierCurve = /** @class */ (function () {
|
|
|
695
695
|
throw "Can only build from array with four elements.";
|
|
696
696
|
return new CubicBezierCurve(arr[0], arr[1], arr[2], arr[3]);
|
|
697
697
|
};
|
|
698
|
-
;
|
|
699
698
|
/** @constant {number} */
|
|
700
699
|
CubicBezierCurve.START_POINT = 0;
|
|
701
700
|
/** @constant {number} */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"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"}
|
package/src/cjs/KeyHandler.d.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* @modified 2020-07-28 Changed the `delete` key code from 8 to 46.
|
|
6
6
|
* @modified 2020-10-04 Changed `window` to `globalThis`.
|
|
7
7
|
* @modified 2020-10-04 Added extended JSDoc.
|
|
8
|
-
* @
|
|
8
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
9
|
+
* @version 1.1.0
|
|
9
10
|
*
|
|
10
11
|
* @file KeyHandler
|
|
11
12
|
* @public
|
|
@@ -45,9 +46,9 @@ export declare class KeyHandler {
|
|
|
45
46
|
* @memberof KeyHandler
|
|
46
47
|
* @param {HTMLElement} options.element (optional) The HTML element to listen on; if null then 'window' will be used.
|
|
47
48
|
* @param {boolean} options.trackAll (optional) Set to true if you want to keep track of _all_ keys (keyStatus).
|
|
48
|
-
|
|
49
|
+
**/
|
|
49
50
|
constructor(options: {
|
|
50
|
-
element?: HTMLElement | Window |
|
|
51
|
+
element?: HTMLElement | Window | typeof globalThis;
|
|
51
52
|
trackAll?: boolean;
|
|
52
53
|
});
|
|
53
54
|
/**
|
|
@@ -161,6 +162,12 @@ export declare class KeyHandler {
|
|
|
161
162
|
* @param {string|number} key - Any key identifier, key code or one from the KEY_CODES list.
|
|
162
163
|
*/
|
|
163
164
|
isDown(key: string | number): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
167
|
+
* After calling this function the object might not hold valid data any more and
|
|
168
|
+
* should not be used any more.
|
|
169
|
+
*/
|
|
170
|
+
destroy(): void;
|
|
164
171
|
}
|
|
165
172
|
export interface XKeyListener {
|
|
166
173
|
key: string;
|