plotboilerplate 1.14.0 → 1.17.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 (232) hide show
  1. package/README.md +2 -0
  2. package/changelog.md +57 -0
  3. package/dist/index.esm.js +856 -694
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.esm.min.js +1 -1
  6. package/dist/index.esm.min.js.map +1 -1
  7. package/dist/plotboilerplate.browser.min.js +1 -1
  8. package/dist/plotboilerplate.browser.min.js.map +1 -1
  9. package/dist/plotboilerplate.js +858 -598
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +32 -14
  13. package/src/cjs/BezierPath.js +65 -24
  14. package/src/cjs/BezierPath.js.map +1 -1
  15. package/src/cjs/Bounds.d.ts +22 -1
  16. package/src/cjs/Bounds.js +24 -1
  17. package/src/cjs/Bounds.js.map +1 -1
  18. package/src/cjs/Circle.d.ts +15 -13
  19. package/src/cjs/Circle.js +16 -34
  20. package/src/cjs/Circle.js.map +1 -1
  21. package/src/cjs/CircleSector.d.ts +17 -16
  22. package/src/cjs/CircleSector.js +12 -24
  23. package/src/cjs/CircleSector.js.map +1 -1
  24. package/src/cjs/CubicBezierCurve.d.ts +16 -15
  25. package/src/cjs/CubicBezierCurve.js +57 -94
  26. package/src/cjs/CubicBezierCurve.js.map +1 -1
  27. package/src/cjs/KeyHandler.d.ts +10 -3
  28. package/src/cjs/KeyHandler.js +28 -23
  29. package/src/cjs/KeyHandler.js.map +1 -1
  30. package/src/cjs/Line.d.ts +2 -15
  31. package/src/cjs/Line.js +6 -31
  32. package/src/cjs/Line.js.map +1 -1
  33. package/src/cjs/MouseHandler.js +43 -53
  34. package/src/cjs/MouseHandler.js.map +1 -1
  35. package/src/cjs/PBImage.d.ts +15 -13
  36. package/src/cjs/PBImage.js +11 -15
  37. package/src/cjs/PBImage.js.map +1 -1
  38. package/src/cjs/PBText.d.ts +13 -12
  39. package/src/cjs/PBText.js +8 -12
  40. package/src/cjs/PBText.js.map +1 -1
  41. package/src/cjs/PlotBoilerplate.js +3 -2
  42. package/src/cjs/PlotBoilerplate.js.map +1 -1
  43. package/src/cjs/Polygon.d.ts +44 -14
  44. package/src/cjs/Polygon.js +116 -66
  45. package/src/cjs/Polygon.js.map +1 -1
  46. package/src/cjs/Triangle.d.ts +15 -13
  47. package/src/cjs/Triangle.js +23 -64
  48. package/src/cjs/Triangle.js.map +1 -1
  49. package/src/cjs/VEllipse.d.ts +14 -9
  50. package/src/cjs/VEllipse.js +10 -18
  51. package/src/cjs/VEllipse.js.map +1 -1
  52. package/src/cjs/VEllipseSector.d.ts +15 -1
  53. package/src/cjs/VEllipseSector.js +11 -1
  54. package/src/cjs/VEllipseSector.js.map +1 -1
  55. package/src/cjs/Vector.d.ts +3 -15
  56. package/src/cjs/Vector.js +9 -49
  57. package/src/cjs/Vector.js.map +1 -1
  58. package/src/cjs/VertTuple.d.ts +15 -1
  59. package/src/cjs/VertTuple.js +14 -19
  60. package/src/cjs/VertTuple.js.map +1 -1
  61. package/src/cjs/Vertex.d.ts +47 -13
  62. package/src/cjs/Vertex.js +62 -22
  63. package/src/cjs/Vertex.js.map +1 -1
  64. package/src/cjs/VertexListeners.d.ts +12 -8
  65. package/src/cjs/VertexListeners.js +18 -25
  66. package/src/cjs/VertexListeners.js.map +1 -1
  67. package/src/cjs/draw.d.ts +41 -2
  68. package/src/cjs/draw.js +140 -3
  69. package/src/cjs/draw.js.map +1 -1
  70. package/src/cjs/drawgl.d.ts +38 -2
  71. package/src/cjs/drawgl.js +41 -2
  72. package/src/cjs/drawgl.js.map +1 -1
  73. package/src/cjs/drawutilssvg.d.ts +66 -3
  74. package/src/cjs/drawutilssvg.js +140 -15
  75. package/src/cjs/drawutilssvg.js.map +1 -1
  76. package/src/cjs/index.d.ts +0 -1
  77. package/src/cjs/index.js +0 -1
  78. package/src/cjs/index.js.map +1 -1
  79. package/src/cjs/interfaces/DrawLib.d.ts +61 -26
  80. package/src/cjs/interfaces/DrawLib.js +2 -0
  81. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  82. package/src/cjs/interfaces/core.d.ts +0 -12
  83. package/src/cjs/module.d.ts +1 -3
  84. package/src/cjs/module.js +2 -5
  85. package/src/cjs/module.js.map +1 -1
  86. package/src/cjs/utils/creategui.js +16 -2
  87. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  88. package/src/cjs/utils/datastructures/Girih.js +18 -14
  89. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  90. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  91. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  92. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  93. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  94. package/src/cjs/utils/findInVertexArray.d.ts +19 -0
  95. package/src/cjs/utils/findInVertexArray.js +29 -0
  96. package/src/cjs/utils/findInVertexArray.js.map +1 -0
  97. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  98. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
  99. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  100. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  101. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  102. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  103. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  104. package/src/cjs/utils/io/FileDrop.js +142 -0
  105. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  106. package/src/esm/BezierPath.d.ts +32 -14
  107. package/src/esm/BezierPath.js +65 -24
  108. package/src/esm/BezierPath.js.map +1 -1
  109. package/src/esm/Bounds.d.ts +22 -1
  110. package/src/esm/Bounds.js +24 -1
  111. package/src/esm/Bounds.js.map +1 -1
  112. package/src/esm/Circle.d.ts +15 -13
  113. package/src/esm/Circle.js +16 -34
  114. package/src/esm/Circle.js.map +1 -1
  115. package/src/esm/CircleSector.d.ts +17 -16
  116. package/src/esm/CircleSector.js +12 -24
  117. package/src/esm/CircleSector.js.map +1 -1
  118. package/src/esm/CubicBezierCurve.d.ts +16 -15
  119. package/src/esm/CubicBezierCurve.js +57 -94
  120. package/src/esm/CubicBezierCurve.js.map +1 -1
  121. package/src/esm/KeyHandler.d.ts +10 -3
  122. package/src/esm/KeyHandler.js +28 -23
  123. package/src/esm/KeyHandler.js.map +1 -1
  124. package/src/esm/Line.d.ts +2 -15
  125. package/src/esm/Line.js +6 -31
  126. package/src/esm/Line.js.map +1 -1
  127. package/src/esm/MouseHandler.js +43 -53
  128. package/src/esm/MouseHandler.js.map +1 -1
  129. package/src/esm/PBImage.d.ts +15 -13
  130. package/src/esm/PBImage.js +11 -15
  131. package/src/esm/PBImage.js.map +1 -1
  132. package/src/esm/PBText.d.ts +13 -12
  133. package/src/esm/PBText.js +8 -12
  134. package/src/esm/PBText.js.map +1 -1
  135. package/src/esm/PlotBoilerplate.js +3 -2
  136. package/src/esm/PlotBoilerplate.js.map +1 -1
  137. package/src/esm/Polygon.d.ts +44 -14
  138. package/src/esm/Polygon.js +116 -66
  139. package/src/esm/Polygon.js.map +1 -1
  140. package/src/esm/Triangle.d.ts +15 -13
  141. package/src/esm/Triangle.js +23 -64
  142. package/src/esm/Triangle.js.map +1 -1
  143. package/src/esm/VEllipse.d.ts +14 -9
  144. package/src/esm/VEllipse.js +10 -18
  145. package/src/esm/VEllipse.js.map +1 -1
  146. package/src/esm/VEllipseSector.d.ts +15 -1
  147. package/src/esm/VEllipseSector.js +11 -1
  148. package/src/esm/VEllipseSector.js.map +1 -1
  149. package/src/esm/Vector.d.ts +3 -15
  150. package/src/esm/Vector.js +9 -49
  151. package/src/esm/Vector.js.map +1 -1
  152. package/src/esm/VertTuple.d.ts +15 -1
  153. package/src/esm/VertTuple.js +14 -19
  154. package/src/esm/VertTuple.js.map +1 -1
  155. package/src/esm/Vertex.d.ts +47 -13
  156. package/src/esm/Vertex.js +62 -22
  157. package/src/esm/Vertex.js.map +1 -1
  158. package/src/esm/VertexListeners.d.ts +12 -8
  159. package/src/esm/VertexListeners.js +18 -25
  160. package/src/esm/VertexListeners.js.map +1 -1
  161. package/src/esm/draw.d.ts +41 -2
  162. package/src/esm/draw.js +139 -3
  163. package/src/esm/draw.js.map +1 -1
  164. package/src/esm/drawgl.d.ts +38 -2
  165. package/src/esm/drawgl.js +41 -2
  166. package/src/esm/drawgl.js.map +1 -1
  167. package/src/esm/drawutilssvg.d.ts +66 -3
  168. package/src/esm/drawutilssvg.js +140 -15
  169. package/src/esm/drawutilssvg.js.map +1 -1
  170. package/src/esm/index.d.ts +0 -1
  171. package/src/esm/index.js +0 -1
  172. package/src/esm/index.js.map +1 -1
  173. package/src/esm/interfaces/DrawLib.d.ts +61 -26
  174. package/src/esm/interfaces/DrawLib.js +2 -0
  175. package/src/esm/interfaces/DrawLib.js.map +1 -1
  176. package/src/esm/interfaces/core.d.ts +0 -12
  177. package/src/esm/module.d.ts +1 -3
  178. package/src/esm/module.js +5 -4
  179. package/src/esm/module.js.map +1 -1
  180. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  181. package/src/esm/utils/datastructures/Girih.js +18 -14
  182. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  183. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  184. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  185. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  186. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  187. package/src/esm/utils/findInVertexArray.d.ts +19 -0
  188. package/src/esm/utils/findInVertexArray.js +25 -0
  189. package/src/esm/utils/findInVertexArray.js.map +1 -0
  190. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  191. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
  192. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  193. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  194. package/src/esm/utils/io/DndFileHandler.js +106 -0
  195. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  196. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  197. package/src/esm/utils/io/FileDrop.js +136 -0
  198. package/src/esm/utils/io/FileDrop.js.map +1 -0
  199. package/src/ts/BezierPath.ts +78 -22
  200. package/src/ts/Bounds.ts +25 -1
  201. package/src/ts/Circle.ts +187 -200
  202. package/src/ts/CircleSector.ts +141 -141
  203. package/src/ts/CubicBezierCurve.ts +738 -810
  204. package/src/ts/KeyHandler.ts +221 -212
  205. package/src/ts/Line.ts +48 -80
  206. package/src/ts/MouseHandler.ts +356 -368
  207. package/src/ts/PBImage.ts +67 -69
  208. package/src/ts/PBText.ts +16 -14
  209. package/src/ts/PlotBoilerplate.ts +4 -2
  210. package/src/ts/Polygon.ts +493 -451
  211. package/src/ts/Triangle.ts +444 -489
  212. package/src/ts/VEllipse.ts +18 -17
  213. package/src/ts/VEllipseSector.ts +20 -1
  214. package/src/ts/Vector.ts +124 -160
  215. package/src/ts/VertTuple.ts +333 -338
  216. package/src/ts/Vertex.ts +75 -21
  217. package/src/ts/VertexListeners.ts +248 -266
  218. package/src/ts/draw.ts +192 -3
  219. package/src/ts/drawgl.ts +44 -2
  220. package/src/ts/drawutilssvg.ts +181 -15
  221. package/src/ts/index.ts +0 -1
  222. package/src/ts/interfaces/DrawLib.ts +69 -26
  223. package/src/ts/interfaces/core.ts +0 -11
  224. package/src/ts/module.ts +2 -4
  225. package/src/ts/utils/datastructures/Girih.ts +204 -209
  226. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  227. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  228. package/src/ts/utils/findInVertexArray.ts +28 -0
  229. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +56 -34
  230. package/src/ts/utils/io/FileDrop.ts +178 -0
  231. package/src/ts/SVGBuilder.ts +0 -109
  232. package/src/ts/utils/algorithms/sh-tmp.ts~ +0 -59
@@ -38,27 +38,15 @@ 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
- */
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('');
42
+ * This function should invalidate any installed listeners and invalidate this object.
43
+ * After calling this function the object might not hold valid data any more and
44
+ * should not be used.
45
+ */
46
+ CircleSector.prototype.destroy = function () {
47
+ this.circle.destroy();
48
+ this.isDestroyed = true;
60
49
  };
61
- ;
62
50
  CircleSector.circleSectorUtils = {
63
51
  /**
64
52
  * Helper function to convert polar circle coordinates to cartesian coordinates.
@@ -66,11 +54,11 @@ var CircleSector = /** @class */ (function () {
66
54
  * TODO: generalize for ellipses (two radii).
67
55
  *
68
56
  * @param {number} angle - The angle in radians.
69
- */
57
+ */
70
58
  polarToCartesian: function (centerX, centerY, radius, angle) {
71
59
  return {
72
- x: centerX + (radius * Math.cos(angle)),
73
- y: centerY + (radius * Math.sin(angle))
60
+ x: centerX + radius * Math.cos(angle),
61
+ y: centerY + radius * Math.sin(angle)
74
62
  };
75
63
  },
76
64
  /**
@@ -83,7 +71,7 @@ var CircleSector = /** @class */ (function () {
83
71
  * @return [ 'A', radiusx, radiusy, rotation=0, largeArcFlag=1|0, sweepFlag=0, endx, endy ]
84
72
  */
85
73
  describeSVGArc: function (x, y, radius, startAngle, endAngle, options) {
86
- if (typeof options === 'undefined')
74
+ if (typeof options === "undefined")
87
75
  options = { moveToStart: true };
88
76
  var end = CircleSector.circleSectorUtils.polarToCartesian(x, y, radius, endAngle);
89
77
  var start = CircleSector.circleSectorUtils.polarToCartesian(x, y, radius, startAngle);
@@ -108,7 +96,7 @@ var CircleSector = /** @class */ (function () {
108
96
  }
109
97
  var pathData = [];
110
98
  if (options.moveToStart) {
111
- pathData.push('M', start.x, start.y);
99
+ pathData.push("M", start.x, start.y);
112
100
  }
113
101
  pathData.push("A", radius, radius, 0, largeArcFlag, sweepFlag, end.x, end.y);
114
102
  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?
@@ -404,20 +419,6 @@ export declare class CubicBezierCurve {
404
419
  * @return {boolean}
405
420
  **/
406
421
  static isInstance(obj: any): boolean;
407
- /**
408
- * Create an SVG path data representation of this bézier curve.
409
- *
410
- * Path data string format is:<br>
411
- * <pre>'M x0 y1 C dx0 dy1 dx1 dy1 x1 x2'</pre><br>
412
- * or in other words<br>
413
- * <pre>'M startoint.x startPoint.y C startControlPoint.x startControlPoint.y endControlPoint.x endControlPoint.y endPoint.x endPoint.y'</pre>
414
- *
415
- * @method toSVGPathData
416
- * @instance
417
- * @memberof CubicBezierCurve
418
- * @return {string} The SVG path data string.
419
- **/
420
- toSVGPathData(): string;
421
422
  /**
422
423
  * Convert this curve to a JSON string.
423
424
  *
@@ -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,41 +567,6 @@ var CubicBezierCurve = /** @class */ (function () {
581
567
  */
582
568
  return obj instanceof CubicBezierCurve;
583
569
  };
584
- ;
585
- /**
586
- * Create an SVG path data representation of this bézier curve.
587
- *
588
- * Path data string format is:<br>
589
- * <pre>'M x0 y1 C dx0 dy1 dx1 dy1 x1 x2'</pre><br>
590
- * or in other words<br>
591
- * <pre>'M startoint.x startPoint.y C startControlPoint.x startControlPoint.y endControlPoint.x endControlPoint.y endPoint.x endPoint.y'</pre>
592
- *
593
- * @method toSVGPathData
594
- * @instance
595
- * @memberof CubicBezierCurve
596
- * @return {string} The SVG path data string.
597
- **/
598
- 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('');
617
- };
618
- ;
619
570
  /**
620
571
  * Convert this curve to a JSON string.
621
572
  *
@@ -628,18 +579,33 @@ var CubicBezierCurve = /** @class */ (function () {
628
579
  CubicBezierCurve.prototype.toJSON = function (prettyFormat) {
629
580
  var jsonString = "{ " + // begin object
630
581
  (prettyFormat ? "\n\t" : "") +
631
- "\"startPoint\" : [" + this.getStartPoint().x + "," + this.getStartPoint().y + "], " +
582
+ '"startPoint" : [' +
583
+ this.getStartPoint().x +
584
+ "," +
585
+ this.getStartPoint().y +
586
+ "], " +
632
587
  (prettyFormat ? "\n\t" : "") +
633
- "\"endPoint\" : [" + this.getEndPoint().x + "," + this.getEndPoint().y + "], " +
588
+ '"endPoint" : [' +
589
+ this.getEndPoint().x +
590
+ "," +
591
+ this.getEndPoint().y +
592
+ "], " +
634
593
  (prettyFormat ? "\n\t" : "") +
635
- "\"startControlPoint\": [" + this.getStartControlPoint().x + "," + this.getStartControlPoint().y + "], " +
594
+ '"startControlPoint": [' +
595
+ this.getStartControlPoint().x +
596
+ "," +
597
+ this.getStartControlPoint().y +
598
+ "], " +
636
599
  (prettyFormat ? "\n\t" : "") +
637
- "\"endControlPoint\" : [" + this.getEndControlPoint().x + "," + this.getEndControlPoint().y + "]" +
600
+ '"endControlPoint" : [' +
601
+ this.getEndControlPoint().x +
602
+ "," +
603
+ this.getEndControlPoint().y +
604
+ "]" +
638
605
  (prettyFormat ? "\n\t" : "") +
639
606
  " }"; // end object
640
607
  return jsonString;
641
608
  };
642
- ;
643
609
  /**
644
610
  * Parse a Bézier curve from the given JSON string.
645
611
  *
@@ -654,7 +620,6 @@ var CubicBezierCurve = /** @class */ (function () {
654
620
  var obj = JSON.parse(jsonString);
655
621
  return CubicBezierCurve.fromObject(obj);
656
622
  };
657
- ;
658
623
  /**
659
624
  * Try to convert the passed object to a CubicBezierCurve.
660
625
  *
@@ -669,16 +634,15 @@ var CubicBezierCurve = /** @class */ (function () {
669
634
  if (typeof obj !== "object")
670
635
  throw "Can only build from object.";
671
636
  if (!obj.startPoint)
672
- throw "Object member \"startPoint\" missing.";
637
+ throw 'Object member "startPoint" missing.';
673
638
  if (!obj.endPoint)
674
- throw "Object member \"endPoint\" missing.";
639
+ throw 'Object member "endPoint" missing.';
675
640
  if (!obj.startControlPoint)
676
- throw "Object member \"startControlPoint\" missing.";
641
+ throw 'Object member "startControlPoint" missing.';
677
642
  if (!obj.endControlPoint)
678
- throw "Object member \"endControlPoint\" missing.";
643
+ throw 'Object member "endControlPoint" missing.';
679
644
  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
645
  };
681
- ;
682
646
  /**
683
647
  * Convert a 4-element array of vertices to a cubic bézier curve.
684
648
  *
@@ -695,7 +659,6 @@ var CubicBezierCurve = /** @class */ (function () {
695
659
  throw "Can only build from array with four elements.";
696
660
  return new CubicBezierCurve(arr[0], arr[1], arr[2], arr[3]);
697
661
  };
698
- ;
699
662
  /** @constant {number} */
700
663
  CubicBezierCurve.START_POINT = 0;
701
664
  /** @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;