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.
Files changed (153) hide show
  1. package/changelog.md +24 -0
  2. package/dist/index.esm.js +574 -428
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.esm.min.js +1 -1
  5. package/dist/index.esm.min.js.map +1 -1
  6. package/dist/plotboilerplate.browser.min.js +1 -1
  7. package/dist/plotboilerplate.browser.min.js.map +1 -1
  8. package/dist/plotboilerplate.js +574 -428
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +1 -1
  11. package/src/cjs/BezierPath.d.ts +33 -1
  12. package/src/cjs/BezierPath.js +80 -13
  13. package/src/cjs/BezierPath.js.map +1 -1
  14. package/src/cjs/Circle.d.ts +25 -10
  15. package/src/cjs/Circle.js +38 -33
  16. package/src/cjs/Circle.js.map +1 -1
  17. package/src/cjs/CircleSector.d.ts +27 -13
  18. package/src/cjs/CircleSector.js +38 -23
  19. package/src/cjs/CircleSector.js.map +1 -1
  20. package/src/cjs/CubicBezierCurve.d.ts +17 -1
  21. package/src/cjs/CubicBezierCurve.js +78 -79
  22. package/src/cjs/CubicBezierCurve.js.map +1 -1
  23. package/src/cjs/KeyHandler.d.ts +10 -3
  24. package/src/cjs/KeyHandler.js +28 -23
  25. package/src/cjs/KeyHandler.js.map +1 -1
  26. package/src/cjs/Line.d.ts +2 -1
  27. package/src/cjs/Line.js +19 -18
  28. package/src/cjs/Line.js.map +1 -1
  29. package/src/cjs/MouseHandler.js +43 -53
  30. package/src/cjs/MouseHandler.js.map +1 -1
  31. package/src/cjs/PBImage.d.ts +16 -1
  32. package/src/cjs/PBImage.js +13 -3
  33. package/src/cjs/PBImage.js.map +1 -1
  34. package/src/cjs/PBText.d.ts +15 -1
  35. package/src/cjs/PBText.js +11 -1
  36. package/src/cjs/PBText.js.map +1 -1
  37. package/src/cjs/PlotBoilerplate.js +1 -1
  38. package/src/cjs/PlotBoilerplate.js.map +1 -1
  39. package/src/cjs/Polygon.d.ts +16 -1
  40. package/src/cjs/Polygon.js +37 -23
  41. package/src/cjs/Polygon.js.map +1 -1
  42. package/src/cjs/Triangle.d.ts +16 -1
  43. package/src/cjs/Triangle.js +50 -54
  44. package/src/cjs/Triangle.js.map +1 -1
  45. package/src/cjs/VEllipse.d.ts +16 -1
  46. package/src/cjs/VEllipse.js +25 -12
  47. package/src/cjs/VEllipse.js.map +1 -1
  48. package/src/cjs/VEllipseSector.d.ts +15 -1
  49. package/src/cjs/VEllipseSector.js +11 -1
  50. package/src/cjs/VEllipseSector.js.map +1 -1
  51. package/src/cjs/Vector.d.ts +3 -1
  52. package/src/cjs/Vector.js +32 -36
  53. package/src/cjs/Vector.js.map +1 -1
  54. package/src/cjs/VertTuple.d.ts +15 -1
  55. package/src/cjs/VertTuple.js +14 -19
  56. package/src/cjs/VertTuple.js.map +1 -1
  57. package/src/cjs/Vertex.d.ts +25 -1
  58. package/src/cjs/Vertex.js +38 -11
  59. package/src/cjs/Vertex.js.map +1 -1
  60. package/src/cjs/VertexListeners.d.ts +12 -8
  61. package/src/cjs/VertexListeners.js +18 -25
  62. package/src/cjs/VertexListeners.js.map +1 -1
  63. package/src/cjs/utils/creategui.js +1 -1
  64. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  65. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +55 -28
  66. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  67. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  68. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  69. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  70. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  71. package/src/cjs/utils/io/FileDrop.js +142 -0
  72. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  73. package/src/esm/BezierPath.d.ts +33 -1
  74. package/src/esm/BezierPath.js +80 -13
  75. package/src/esm/BezierPath.js.map +1 -1
  76. package/src/esm/Circle.d.ts +25 -10
  77. package/src/esm/Circle.js +38 -33
  78. package/src/esm/Circle.js.map +1 -1
  79. package/src/esm/CircleSector.d.ts +27 -13
  80. package/src/esm/CircleSector.js +38 -23
  81. package/src/esm/CircleSector.js.map +1 -1
  82. package/src/esm/CubicBezierCurve.d.ts +17 -1
  83. package/src/esm/CubicBezierCurve.js +78 -79
  84. package/src/esm/CubicBezierCurve.js.map +1 -1
  85. package/src/esm/KeyHandler.d.ts +10 -3
  86. package/src/esm/KeyHandler.js +28 -23
  87. package/src/esm/KeyHandler.js.map +1 -1
  88. package/src/esm/Line.d.ts +2 -1
  89. package/src/esm/Line.js +19 -18
  90. package/src/esm/Line.js.map +1 -1
  91. package/src/esm/MouseHandler.js +43 -53
  92. package/src/esm/MouseHandler.js.map +1 -1
  93. package/src/esm/PBImage.d.ts +16 -1
  94. package/src/esm/PBImage.js +13 -3
  95. package/src/esm/PBImage.js.map +1 -1
  96. package/src/esm/PBText.d.ts +15 -1
  97. package/src/esm/PBText.js +11 -1
  98. package/src/esm/PBText.js.map +1 -1
  99. package/src/esm/PlotBoilerplate.js +1 -1
  100. package/src/esm/PlotBoilerplate.js.map +1 -1
  101. package/src/esm/Polygon.d.ts +16 -1
  102. package/src/esm/Polygon.js +37 -23
  103. package/src/esm/Polygon.js.map +1 -1
  104. package/src/esm/Triangle.d.ts +16 -1
  105. package/src/esm/Triangle.js +50 -54
  106. package/src/esm/Triangle.js.map +1 -1
  107. package/src/esm/VEllipse.d.ts +16 -1
  108. package/src/esm/VEllipse.js +25 -12
  109. package/src/esm/VEllipse.js.map +1 -1
  110. package/src/esm/VEllipseSector.d.ts +15 -1
  111. package/src/esm/VEllipseSector.js +11 -1
  112. package/src/esm/VEllipseSector.js.map +1 -1
  113. package/src/esm/Vector.d.ts +3 -1
  114. package/src/esm/Vector.js +32 -36
  115. package/src/esm/Vector.js.map +1 -1
  116. package/src/esm/VertTuple.d.ts +15 -1
  117. package/src/esm/VertTuple.js +14 -19
  118. package/src/esm/VertTuple.js.map +1 -1
  119. package/src/esm/Vertex.d.ts +25 -1
  120. package/src/esm/Vertex.js +38 -11
  121. package/src/esm/Vertex.js.map +1 -1
  122. package/src/esm/VertexListeners.d.ts +12 -8
  123. package/src/esm/VertexListeners.js +18 -25
  124. package/src/esm/VertexListeners.js.map +1 -1
  125. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  126. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +54 -28
  127. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  128. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  129. package/src/esm/utils/io/DndFileHandler.js +106 -0
  130. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  131. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  132. package/src/esm/utils/io/FileDrop.js +136 -0
  133. package/src/esm/utils/io/FileDrop.js.map +1 -0
  134. package/src/ts/BezierPath.ts +96 -11
  135. package/src/ts/Circle.ts +213 -200
  136. package/src/ts/CircleSector.ts +171 -141
  137. package/src/ts/CubicBezierCurve.ts +777 -810
  138. package/src/ts/KeyHandler.ts +221 -212
  139. package/src/ts/Line.ts +77 -80
  140. package/src/ts/MouseHandler.ts +356 -368
  141. package/src/ts/PBImage.ts +81 -68
  142. package/src/ts/PBText.ts +20 -1
  143. package/src/ts/PlotBoilerplate.ts +1 -1
  144. package/src/ts/Polygon.ts +48 -22
  145. package/src/ts/Triangle.ts +484 -489
  146. package/src/ts/VEllipse.ts +36 -11
  147. package/src/ts/VEllipseSector.ts +20 -1
  148. package/src/ts/Vector.ts +164 -160
  149. package/src/ts/VertTuple.ts +333 -338
  150. package/src/ts/Vertex.ts +52 -10
  151. package/src/ts/VertexListeners.ts +248 -266
  152. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -30
  153. package/src/ts/utils/io/FileDrop.ts +178 -0
@@ -38,27 +38,42 @@ var CircleSector = /** @class */ (function () {
38
38
  this.startAngle = startAngle;
39
39
  this.endAngle = endAngle;
40
40
  }
41
- ;
42
41
  /**
43
- * Create an SVG representation of this circle.
44
- *
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
- */
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('<path ');
55
- if (options.className)
56
- buffer.push(' class="' + options.className + '"');
57
- var data = CircleSector.circleSectorUtils.describeSVGArc(this.circle.center.x, this.circle.center.y, this.circle.radius, this.startAngle, this.endAngle);
58
- buffer.push(' d="' + data.join(" ") + '" />');
59
- return buffer.join('');
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 + (radius * Math.cos(angle)),
73
- y: centerY + (radius * Math.sin(angle))
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 === 'undefined')
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('M', start.x, start.y);
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":"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"}
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
- * @version 2.5.0
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
- * @version 2.5.0
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 { t: tStart + tDiff * (minIndex / stepCount),
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) + this.startControlPoint.x * 3 * t * Math.pow(1.0 - t, 2)
379
- + this.endControlPoint.x * 3 * Math.pow(t, 2) * (1.0 - t) + this.endPoint.x * Math.pow(t, 3);
380
- var y = this.startPoint.y * Math.pow(1.0 - t, 3) + this.startControlPoint.y * 3 * t * Math.pow(1.0 - t, 2)
381
- + this.endControlPoint.y * 3 * Math.pow(t, 2) * (1.0 - t) + this.endPoint.y * Math.pow(t, 3);
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
- b.x * (3 * nt2 - 6 * (t - t2)) +
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, (u / this.arcLength)));
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
- && this.endPoint.equals(curve.endPoint)
555
- && this.startControlPoint.equals(curve.startControlPoint)
556
- && this.endControlPoint.equals(curve.endControlPoint);
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('M ');
601
- buffer.push(this.startPoint.x.toString());
602
- buffer.push(' ');
603
- buffer.push(this.startPoint.y.toString());
604
- buffer.push(' C ');
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
- "\"startPoint\" : [" + this.getStartPoint().x + "," + this.getStartPoint().y + "], " +
618
+ '"startPoint" : [' +
619
+ this.getStartPoint().x +
620
+ "," +
621
+ this.getStartPoint().y +
622
+ "], " +
632
623
  (prettyFormat ? "\n\t" : "") +
633
- "\"endPoint\" : [" + this.getEndPoint().x + "," + this.getEndPoint().y + "], " +
624
+ '"endPoint" : [' +
625
+ this.getEndPoint().x +
626
+ "," +
627
+ this.getEndPoint().y +
628
+ "], " +
634
629
  (prettyFormat ? "\n\t" : "") +
635
- "\"startControlPoint\": [" + this.getStartControlPoint().x + "," + this.getStartControlPoint().y + "], " +
630
+ '"startControlPoint": [' +
631
+ this.getStartControlPoint().x +
632
+ "," +
633
+ this.getStartControlPoint().y +
634
+ "], " +
636
635
  (prettyFormat ? "\n\t" : "") +
637
- "\"endControlPoint\" : [" + this.getEndControlPoint().x + "," + this.getEndControlPoint().y + "]" +
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 "Object member \"startPoint\" missing.";
673
+ throw 'Object member "startPoint" missing.';
673
674
  if (!obj.endPoint)
674
- throw "Object member \"endPoint\" missing.";
675
+ throw 'Object member "endPoint" missing.';
675
676
  if (!obj.startControlPoint)
676
- throw "Object member \"startControlPoint\" missing.";
677
+ throw 'Object member "startControlPoint" missing.';
677
678
  if (!obj.endControlPoint)
678
- throw "Object member \"endControlPoint\" missing.";
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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"}
@@ -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
- * @version 1.0.4
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 | (typeof globalThis);
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;