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
@@ -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
  *
@@ -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
@@ -71,7 +73,6 @@ export class CubicBezierCurve {
71
73
  this.arcLength = null;
72
74
  this.updateArcLengths();
73
75
  }
74
- ;
75
76
  /**
76
77
  * Move the given curve point (the start point, end point or one of the two
77
78
  * control points).
@@ -108,7 +109,6 @@ export class CubicBezierCurve {
108
109
  if (updateArcLengths)
109
110
  this.updateArcLengths();
110
111
  }
111
- ;
112
112
  /**
113
113
  * Translate the whole curve by the given {x,y} amount: moves all four points.
114
114
  *
@@ -125,7 +125,6 @@ export class CubicBezierCurve {
125
125
  this.endPoint.add(amount);
126
126
  return this;
127
127
  }
128
- ;
129
128
  /**
130
129
  * Reverse this curve, means swapping start- and end-point and swapping
131
130
  * start-control- and end-control-point.
@@ -144,7 +143,6 @@ export class CubicBezierCurve {
144
143
  this.endControlPoint = tmp;
145
144
  return this;
146
145
  }
147
- ;
148
146
  /**
149
147
  * Get the total curve length.<br>
150
148
  * <br>
@@ -163,7 +161,6 @@ export class CubicBezierCurve {
163
161
  getLength() {
164
162
  return this.arcLength;
165
163
  }
166
- ;
167
164
  /**
168
165
  * Uptate the internal arc segment buffer and their lengths.<br>
169
166
  * <br>
@@ -201,7 +198,6 @@ export class CubicBezierCurve {
201
198
  }
202
199
  this.arcLength = newLength;
203
200
  }
204
- ;
205
201
  /**
206
202
  * Get a 't' (relative position on curve) with the closest distance to point 'p'.
207
203
  *
@@ -224,7 +220,6 @@ export class CubicBezierCurve {
224
220
  } while (iteration < 4 && this.getPointAt(result.tPrev).distance(this.getPointAt(result.tNext)) > desiredEpsilon);
225
221
  return result.t;
226
222
  }
227
- ;
228
223
  /**
229
224
  * This helper function locates the 't' on a fixed step interval with the minimal distance
230
225
  * between the curve (at 't') and the given point.
@@ -253,12 +248,12 @@ export class CubicBezierCurve {
253
248
  minDist = dist;
254
249
  }
255
250
  }
256
- return { t: tStart + tDiff * (minIndex / stepCount),
251
+ return {
252
+ t: tStart + tDiff * (minIndex / stepCount),
257
253
  tPrev: tStart + tDiff * (Math.max(0, minIndex - 1) / stepCount),
258
254
  tNext: tStart + tDiff * (Math.min(stepCount, minIndex + 1) / stepCount)
259
255
  };
260
256
  }
261
- ;
262
257
  /**
263
258
  * Get the bounds of this bezier curve.
264
259
  *
@@ -280,7 +275,6 @@ export class CubicBezierCurve {
280
275
  }
281
276
  return new Bounds(min, max);
282
277
  }
283
- ;
284
278
  /**
285
279
  * Get the start point of the curve.<br>
286
280
  * <br>
@@ -294,7 +288,6 @@ export class CubicBezierCurve {
294
288
  getStartPoint() {
295
289
  return this.startPoint;
296
290
  }
297
- ;
298
291
  /**
299
292
  * Get the end point of the curve.<br>
300
293
  * <br>
@@ -308,7 +301,6 @@ export class CubicBezierCurve {
308
301
  getEndPoint() {
309
302
  return this.endPoint;
310
303
  }
311
- ;
312
304
  /**
313
305
  * Get the start control point of the curve.<br>
314
306
  * <br>
@@ -322,7 +314,6 @@ export class CubicBezierCurve {
322
314
  getStartControlPoint() {
323
315
  return this.startControlPoint;
324
316
  }
325
- ;
326
317
  /**
327
318
  * Get the end control point of the curve.<br>
328
319
  * <br>
@@ -336,7 +327,6 @@ export class CubicBezierCurve {
336
327
  getEndControlPoint() {
337
328
  return this.endControlPoint;
338
329
  }
339
- ;
340
330
  /**
341
331
  * Get one of the four curve points specified by the passt point ID.
342
332
  *
@@ -357,7 +347,6 @@ export class CubicBezierCurve {
357
347
  return this.endControlPoint;
358
348
  throw new Error(`Invalid point ID '${id}'.`);
359
349
  }
360
- ;
361
350
  /**
362
351
  * Get the curve point at a given position t, where t is in [0,1].<br>
363
352
  * <br>
@@ -372,13 +361,16 @@ export class CubicBezierCurve {
372
361
  **/
373
362
  getPointAt(t) {
374
363
  // Perform some powerful math magic
375
- const x = this.startPoint.x * Math.pow(1.0 - t, 3) + this.startControlPoint.x * 3 * t * Math.pow(1.0 - t, 2)
376
- + this.endControlPoint.x * 3 * Math.pow(t, 2) * (1.0 - t) + this.endPoint.x * Math.pow(t, 3);
377
- const y = this.startPoint.y * Math.pow(1.0 - t, 3) + this.startControlPoint.y * 3 * t * Math.pow(1.0 - t, 2)
378
- + this.endControlPoint.y * 3 * Math.pow(t, 2) * (1.0 - t) + this.endPoint.y * Math.pow(t, 3);
364
+ const x = this.startPoint.x * Math.pow(1.0 - t, 3) +
365
+ this.startControlPoint.x * 3 * t * Math.pow(1.0 - t, 2) +
366
+ this.endControlPoint.x * 3 * Math.pow(t, 2) * (1.0 - t) +
367
+ this.endPoint.x * Math.pow(t, 3);
368
+ const y = this.startPoint.y * Math.pow(1.0 - t, 3) +
369
+ this.startControlPoint.y * 3 * t * Math.pow(1.0 - t, 2) +
370
+ this.endControlPoint.y * 3 * Math.pow(t, 2) * (1.0 - t) +
371
+ this.endPoint.y * Math.pow(t, 3);
379
372
  return new Vertex(x, y);
380
373
  }
381
- ;
382
374
  /**
383
375
  * Get the curve point at a given position u, where u is in [0,arcLength].<br>
384
376
  * <br>
@@ -394,7 +386,6 @@ export class CubicBezierCurve {
394
386
  getPoint(u) {
395
387
  return this.getPointAt(u / this.arcLength);
396
388
  }
397
- ;
398
389
  /**
399
390
  * Get the curve tangent vector at a given absolute curve position t in [0,1].<br>
400
391
  * <br>
@@ -415,18 +406,11 @@ export class CubicBezierCurve {
415
406
  const t2 = t * t;
416
407
  // (1 - t)^2 = (1-t)*(1-t) = 1 - t - t + t^2 = 1 - 2*t + t^2
417
408
  const nt2 = 1 - 2 * t + t2;
418
- const tX = -3 * a.x * nt2 +
419
- b.x * (3 * nt2 - 6 * (t - t2)) +
420
- c.x * (6 * (t - t2) - 3 * t2) +
421
- 3 * d.x * t2;
422
- const tY = -3 * a.y * nt2 +
423
- b.y * (3 * nt2 - 6 * (t - t2)) +
424
- c.y * (6 * (t - t2) - 3 * t2) +
425
- 3 * d.y * t2;
409
+ const tX = -3 * a.x * nt2 + b.x * (3 * nt2 - 6 * (t - t2)) + c.x * (6 * (t - t2) - 3 * t2) + 3 * d.x * t2;
410
+ const tY = -3 * a.y * nt2 + b.y * (3 * nt2 - 6 * (t - t2)) + c.y * (6 * (t - t2) - 3 * t2) + 3 * d.y * t2;
426
411
  // Note: my implementation does NOT normalize tangent vectors!
427
412
  return new Vertex(tX, tY);
428
413
  }
429
- ;
430
414
  /**
431
415
  * Get a sub curve at the given start end end offsets (values between 0.0 and 1.0).
432
416
  *
@@ -452,7 +436,6 @@ export class CubicBezierCurve {
452
436
  // pb.draw.cubicBezier( startVec.a, endVec.a, startVec.b, endVec.b, '#8800ff', 2 );
453
437
  return new CubicBezierCurve(startVec.a, endVec.a, startVec.b, endVec.b);
454
438
  }
455
- ;
456
439
  /**
457
440
  * Convert a relative curve position u to the absolute curve position t.
458
441
  *
@@ -463,9 +446,8 @@ export class CubicBezierCurve {
463
446
  * @return {number}
464
447
  **/
465
448
  convertU2T(u) {
466
- return Math.max(0.0, Math.min(1.0, (u / this.arcLength)));
449
+ return Math.max(0.0, Math.min(1.0, u / this.arcLength));
467
450
  }
468
- ;
469
451
  /**
470
452
  * Get the curve tangent vector at a given relative position u in [0,arcLength].<br>
471
453
  * <br>
@@ -480,7 +462,6 @@ export class CubicBezierCurve {
480
462
  getTangent(u) {
481
463
  return this.getTangentAt(this.convertU2T(u));
482
464
  }
483
- ;
484
465
  /**
485
466
  * Get the curve perpendicular at a given relative position u in [0,arcLength] as a vector.<br>
486
467
  * <br>
@@ -495,7 +476,6 @@ export class CubicBezierCurve {
495
476
  getPerpendicular(u) {
496
477
  return this.getPerpendicularAt(this.convertU2T(u));
497
478
  }
498
- ;
499
479
  /**
500
480
  * Get the curve perpendicular at a given absolute position t in [0,1] as a vector.<br>
501
481
  * <br>
@@ -511,7 +491,6 @@ export class CubicBezierCurve {
511
491
  const tangentVector = this.getTangentAt(t);
512
492
  return new Vertex(tangentVector.y, -tangentVector.x);
513
493
  }
514
- ;
515
494
  /**
516
495
  * Clone this Bézier curve (deep clone).
517
496
  *
@@ -523,7 +502,6 @@ export class CubicBezierCurve {
523
502
  clone() {
524
503
  return new CubicBezierCurve(this.getStartPoint().clone(), this.getEndPoint().clone(), this.getStartControlPoint().clone(), this.getEndControlPoint().clone());
525
504
  }
526
- ;
527
505
  /**
528
506
  * Check if this and the specified curve are equal.<br>
529
507
  * <br>
@@ -542,17 +520,25 @@ export class CubicBezierCurve {
542
520
  // Let's see if this restricted version works out.
543
521
  if (!curve)
544
522
  return false;
545
- if (!curve.startPoint ||
546
- !curve.endPoint ||
547
- !curve.startControlPoint ||
548
- !curve.endControlPoint)
523
+ if (!curve.startPoint || !curve.endPoint || !curve.startControlPoint || !curve.endControlPoint)
549
524
  return false;
550
- return this.startPoint.equals(curve.startPoint)
551
- && this.endPoint.equals(curve.endPoint)
552
- && this.startControlPoint.equals(curve.startControlPoint)
553
- && this.endControlPoint.equals(curve.endControlPoint);
525
+ return (this.startPoint.equals(curve.startPoint) &&
526
+ this.endPoint.equals(curve.endPoint) &&
527
+ this.startControlPoint.equals(curve.startControlPoint) &&
528
+ this.endControlPoint.equals(curve.endControlPoint));
529
+ }
530
+ /**
531
+ * This function should invalidate any installed listeners and invalidate this object.
532
+ * After calling this function the object might not hold valid data any more and
533
+ * should not be used.
534
+ */
535
+ destroy() {
536
+ this.startPoint.destroy();
537
+ this.endPoint.destroy();
538
+ this.startControlPoint.destroy();
539
+ this.endControlPoint.destroy();
540
+ this.isDestroyed = true;
554
541
  }
555
- ;
556
542
  /**
557
543
  * Quick check for class instance.
558
544
  * Is there a better way?
@@ -578,41 +564,6 @@ export class CubicBezierCurve {
578
564
  */
579
565
  return obj instanceof CubicBezierCurve;
580
566
  }
581
- ;
582
- /**
583
- * Create an SVG path data representation of this bézier curve.
584
- *
585
- * Path data string format is:<br>
586
- * <pre>'M x0 y1 C dx0 dy1 dx1 dy1 x1 x2'</pre><br>
587
- * or in other words<br>
588
- * <pre>'M startoint.x startPoint.y C startControlPoint.x startControlPoint.y endControlPoint.x endControlPoint.y endPoint.x endPoint.y'</pre>
589
- *
590
- * @method toSVGPathData
591
- * @instance
592
- * @memberof CubicBezierCurve
593
- * @return {string} The SVG path data string.
594
- **/
595
- toSVGPathData() {
596
- var buffer = [];
597
- buffer.push('M ');
598
- buffer.push(this.startPoint.x.toString());
599
- buffer.push(' ');
600
- buffer.push(this.startPoint.y.toString());
601
- buffer.push(' C ');
602
- buffer.push(this.startControlPoint.x.toString());
603
- buffer.push(' ');
604
- buffer.push(this.startControlPoint.y.toString());
605
- buffer.push(' ');
606
- buffer.push(this.endControlPoint.x.toString());
607
- buffer.push(' ');
608
- buffer.push(this.endControlPoint.y.toString());
609
- buffer.push(' ');
610
- buffer.push(this.endPoint.x.toString());
611
- buffer.push(' ');
612
- buffer.push(this.endPoint.y.toString());
613
- return buffer.join('');
614
- }
615
- ;
616
567
  /**
617
568
  * Convert this curve to a JSON string.
618
569
  *
@@ -625,18 +576,33 @@ export class CubicBezierCurve {
625
576
  toJSON(prettyFormat) {
626
577
  var jsonString = "{ " + // begin object
627
578
  (prettyFormat ? "\n\t" : "") +
628
- "\"startPoint\" : [" + this.getStartPoint().x + "," + this.getStartPoint().y + "], " +
579
+ '"startPoint" : [' +
580
+ this.getStartPoint().x +
581
+ "," +
582
+ this.getStartPoint().y +
583
+ "], " +
629
584
  (prettyFormat ? "\n\t" : "") +
630
- "\"endPoint\" : [" + this.getEndPoint().x + "," + this.getEndPoint().y + "], " +
585
+ '"endPoint" : [' +
586
+ this.getEndPoint().x +
587
+ "," +
588
+ this.getEndPoint().y +
589
+ "], " +
631
590
  (prettyFormat ? "\n\t" : "") +
632
- "\"startControlPoint\": [" + this.getStartControlPoint().x + "," + this.getStartControlPoint().y + "], " +
591
+ '"startControlPoint": [' +
592
+ this.getStartControlPoint().x +
593
+ "," +
594
+ this.getStartControlPoint().y +
595
+ "], " +
633
596
  (prettyFormat ? "\n\t" : "") +
634
- "\"endControlPoint\" : [" + this.getEndControlPoint().x + "," + this.getEndControlPoint().y + "]" +
597
+ '"endControlPoint" : [' +
598
+ this.getEndControlPoint().x +
599
+ "," +
600
+ this.getEndControlPoint().y +
601
+ "]" +
635
602
  (prettyFormat ? "\n\t" : "") +
636
603
  " }"; // end object
637
604
  return jsonString;
638
605
  }
639
- ;
640
606
  /**
641
607
  * Parse a Bézier curve from the given JSON string.
642
608
  *
@@ -651,7 +617,6 @@ export class CubicBezierCurve {
651
617
  var obj = JSON.parse(jsonString);
652
618
  return CubicBezierCurve.fromObject(obj);
653
619
  }
654
- ;
655
620
  /**
656
621
  * Try to convert the passed object to a CubicBezierCurve.
657
622
  *
@@ -666,16 +631,15 @@ export class CubicBezierCurve {
666
631
  if (typeof obj !== "object")
667
632
  throw "Can only build from object.";
668
633
  if (!obj.startPoint)
669
- throw "Object member \"startPoint\" missing.";
634
+ throw 'Object member "startPoint" missing.';
670
635
  if (!obj.endPoint)
671
- throw "Object member \"endPoint\" missing.";
636
+ throw 'Object member "endPoint" missing.';
672
637
  if (!obj.startControlPoint)
673
- throw "Object member \"startControlPoint\" missing.";
638
+ throw 'Object member "startControlPoint" missing.';
674
639
  if (!obj.endControlPoint)
675
- throw "Object member \"endControlPoint\" missing.";
640
+ throw 'Object member "endControlPoint" missing.';
676
641
  return new CubicBezierCurve(new Vertex(obj.startPoint[0], obj.startPoint[1]), new Vertex(obj.endPoint[0], obj.endPoint[1]), new Vertex(obj.startControlPoint[0], obj.startControlPoint[1]), new Vertex(obj.endControlPoint[0], obj.endControlPoint[1]));
677
642
  }
678
- ;
679
643
  /**
680
644
  * Convert a 4-element array of vertices to a cubic bézier curve.
681
645
  *
@@ -692,7 +656,6 @@ export class CubicBezierCurve {
692
656
  throw "Can only build from array with four elements.";
693
657
  return new CubicBezierCurve(arr[0], arr[1], arr[2], arr[3]);
694
658
  }
695
- ;
696
659
  }
697
660
  /** @constant {number} */
698
661
  CubicBezierCurve.START_POINT = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"CubicBezierCurve.js","sourceRoot":"","sources":["../ts/CubicBezierCurve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;IAwBI;AAEJ,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;GASG;AACH,MAAM,OAAO,gBAAgB;IA6FzB;;;;;;;;;QASI;IACJ,YAAa,UAAiB,EAC/B,QAAe,EACf,iBAAwB,EACxB,eAAsB;QA9FrB,yBAAyB;QAChB,gBAAW,GAAmB,gBAAgB,CAAC,WAAW,CAAC;QACpE,yBAAyB;QAChB,wBAAmB,GAAW,gBAAgB,CAAC,mBAAmB,CAAC;QAC5E,yBAAyB;QAChB,sBAAiB,GAAa,gBAAgB,CAAC,iBAAiB,CAAC;QAC1E,yBAAyB;QAChB,cAAS,GAAqB,gBAAgB,CAAC,SAAS,CAAC;QAyFrE,IAAI,CAAC,GAAG,GAAkB,YAAY,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAW,UAAU,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAI,iBAAiB,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAa,QAAQ,CAAC;QACnC,IAAI,CAAC,eAAe,GAAM,eAAe,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAO,EAAE,CAAC;QAC7B,uBAAuB;QACvB,IAAI,CAAC,YAAY,GAAS,EAAE,CAAC;QAC7B,qBAAqB;QACrB,IAAI,CAAC,cAAc,GAAO,EAAE,CAAC;QAC7B,QAAQ;QACR,IAAI,CAAC,SAAS,GAAY,IAAI,CAAC;QAE/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACrB,CAAC;IAAA,CAAC;IAKF;;;;;;;;;;;;QAYI;IACJ,cAAc,CAAE,OAAc,EAC5B,UAAmB,EACnB,gBAAwB,EACxB,gBAAwB;QAE7B,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,EAAG;YAC9B,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;YACvC,IAAI,gBAAgB;gBACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;SAE9C;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAG;YAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;SAEjD;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAG;YAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;SAE/C;aAAM,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAG;YACnC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;YACrC,IAAI,gBAAgB;gBACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAE,UAAU,CAAE,CAAC;SAE5C;aAAM;YACH,OAAO,CAAC,GAAG,CAAE,8CAA8C,OAAO,YAAY,CAAE,CAAC;SACpF;QAED,IAAI,gBAAgB;YAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAAA,CAAC;IAIF;;;;;;;;QAQI;IACJ,SAAS,CAAE,MAAa;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAE,MAAM,CAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAE,MAAM,CAAE,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAE,MAAM,CAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE,MAAM,CAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACT,CAAC;IAAA,CAAC;IAIF;;;;;;;;QAQI;IACJ,OAAO;QACV,IAAI,GAAG,GAAY,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QAC3B,OAAO,IAAI,CAAC;IACT,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;;;;QAcI;IACJ,SAAS;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACnB,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;QAWI;IACJ,gBAAgB;QACnB,IAAI,MAAM,GAAY,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,MAAM,GAAY,IAAI,MAAM,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;QACzC,IAAI,SAAS,GAAY,GAAG,GAAC,IAAI,CAAC,cAAc,CAAC;QAEjD,sBAAsB;QACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,+BAA+B;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,SAAS,GAAY,GAAG,CAAC;QAE7B,IAAI,CAAC,GAAW,GAAG,CAAC;QACpB,IAAI,SAAkB,CAAC;QACvB,OAAO,CAAC,IAAI,GAAG,EAAG;YACd,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAE5B,yBAAyB;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;YAEjC,2BAA2B;YAC3B,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAE,SAAS,CAAE,CAAC;YACtC,SAAS,IAAI,SAAS,CAAC;YAEvB,MAAM,GAAG,MAAM,CAAC;YAChB,CAAC,IAAI,SAAS,CAAC;SAClB;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;IAAA,CAAC;IAGF;;;;;;;;;QASI;IACJ,WAAW,CAAE,CAAQ;QACxB,6DAA6D;QAC7D,IAAI,cAAc,GAAY,GAAG,CAAC;QAElC,IAAI,MAAM,GAA6C,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAG,GAAG,EAAE,KAAK,EAAG,GAAG,EAAE,CAAC;QAC1F,IAAI,SAAS,GAAY,CAAC,CAAC;QAC3B,GAAG;YACC,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAE,CAAC;YAC7F,SAAS,EAAE,CAAC;YACZ,mCAAmC;SACtC,QAAS,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,EAAG;QACpH,OAAO,MAAM,CAAC,CAAC,CAAC;IACb,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;;;QAaI;IACI,wBAAwB,CAAE,CAAQ,EACpC,MAAa,EACb,IAAW,EACX,SAAkB;QAE3B,IAAI,QAAQ,GAAY,CAAC,CAAC,CAAC;QAC3B,IAAI,OAAO,GAAY,CAAC,CAAC;QACzB,IAAI,CAAC,GAAY,GAAG,CAAC;QACrB,MAAM,KAAK,GAAY,IAAI,GAAG,MAAM,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAG;YAClC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACrC,IAAI,IAAI,GAAY,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,IAAI,GAAY,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,OAAO,EAAG;gBAC1C,QAAQ,GAAG,CAAC,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;aACX;SACJ;QACD,OAAO,EAAE,CAAC,EAAG,MAAM,GAAG,KAAK,GAAG,CAAC,QAAQ,GAAC,SAAS,CAAC;YAChD,KAAK,EAAG,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,QAAQ,GAAC,CAAC,CAAC,GAAC,SAAS,CAAC;YAC3D,KAAK,EAAG,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAC,QAAQ,GAAC,CAAC,CAAC,GAAC,SAAS,CAAC;SAC7D,CAAC;IACN,CAAC;IAAA,CAAC;IAGF;;;;;;;QAOI;IACJ,SAAS;QACZ,IAAI,GAAG,GAAY,IAAI,MAAM,CAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAE,CAAC;QACpF,IAAI,GAAG,GAAY,IAAI,MAAM,CAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAE,CAAC;QACpF,IAAI,CAAU,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAG;YAChD,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YAC/B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YAC/B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YAC/B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;SAClC;QACD,OAAO,IAAI,MAAM,CAAE,GAAG,EAAE,GAAG,CAAE,CAAC;IAC3B,CAAC;IAAA,CAAC;IAGF;;;;;;;;;QASI;IACJ,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACpB,CAAC;IAAA,CAAC;IAEF;;;;;;;;;QASI;IACJ,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF;;;;;;;;;QASI;IACJ,oBAAoB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC3B,CAAC;IAAA,CAAC;IAEF;;;;;;;;;QASI;IACJ,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IACzB,CAAC;IAAA,CAAC;IAGF;;;;;;;;QAQI;IACJ,YAAY,CAAE,EAAS;QAC1B,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW;YAAG,OAAO,IAAI,CAAC,UAAU,CAAC;QACpD,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS;YAAG,OAAO,IAAI,CAAC,QAAQ,CAAC;QAChD,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB;YAAG,OAAO,IAAI,CAAC,iBAAiB,CAAC;QACnE,IAAI,EAAE,IAAI,IAAI,CAAC,iBAAiB;YAAG,OAAO,IAAI,CAAC,eAAe,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;QAWI;IACJ,UAAU,CAAE,CAAQ;QACvB,mCAAmC;QACnC,MAAM,CAAC,GAAY,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAC,CAAC,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAC,CAAC,EAAC,CAAC,CAAC;cACnG,IAAI,CAAC,eAAe,CAAC,CAAC,GAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,GAAC,CAAC,GAAG,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,GAAY,IAAI,CAAC,UAAU,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAC,CAAC,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAC,CAAC,EAAC,CAAC,CAAC;cAC/F,IAAI,CAAC,eAAe,CAAC,CAAC,GAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,GAAC,CAAC,GAAG,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACnF,OAAO,IAAI,MAAM,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;IACvB,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;QAWI;IACJ,QAAQ,CAAE,CAAQ;QACrB,OAAO,IAAI,CAAC,UAAU,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC;IAC1C,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;QAUI;IACJ,YAAY,CAAE,CAAQ;QACzB,MAAM,CAAC,GAAY,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,GAAY,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAY,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAY,IAAI,CAAC,WAAW,EAAE,CAAC;QAEtC,4BAA4B;QAC5B,MAAM,EAAE,GAAY,CAAC,GAAG,CAAC,CAAC;QAC1B,4DAA4D;QAC5D,MAAM,GAAG,GAAY,CAAC,GAAG,CAAC,GAAC,CAAC,GAAG,EAAE,CAAC;QAElC,MAAM,EAAE,GAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;YAC9B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAE,CAAC,CAAC,GAAC,EAAE,CAAC,CAAE;YAC5B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,GAAC,EAAE,CAAC,GAAG,CAAC,GAAC,EAAE,CAAC;YACxB,CAAC,GAAC,CAAC,CAAC,CAAC,GAAC,EAAE,CAAC;QACb,MAAM,EAAE,GAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;YAC9B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAE,CAAC,CAAC,GAAC,EAAE,CAAC,CAAE;YAC5B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAE,CAAC,CAAC,GAAC,EAAE,CAAC,GAAG,CAAC,GAAC,EAAE,CAAC;YACxB,CAAC,GAAC,CAAC,CAAC,CAAC,GAAC,EAAE,CAAC;QAEb,8DAA8D;QAC9D,OAAO,IAAI,MAAM,CAAE,EAAE,EAAE,EAAE,CAAE,CAAC;IACzB,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;QAWI;IACJ,aAAa,CAAE,MAAa,EAAE,IAAW;QAC5C,MAAM,QAAQ,GAAY,IAAI,MAAM,CAChC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACvB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAC5B,CAAC;QACF,MAAM,MAAM,GAAY,IAAI,MAAM,CAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAChC,CAAC;QAEF,wCAAwC;QACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAE,QAAQ,CAAC,CAAC,CAAE,CAAA;QAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAEzB,mDAAmD;QACnD,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAC,CAAC,IAAI,GAAC,MAAM,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAC,CAAC,IAAI,GAAC,MAAM,CAAC,CAAC,CAAC;QAEvC,wBAAwB;QACxB,mFAAmF;QACnF,OAAO,IAAI,gBAAgB,CAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;IACvE,CAAC;IAAA,CAAC;IAGF;;;;;;;;QAQI;IACJ,UAAU,CAAE,CAAQ;QACvB,OAAO,IAAI,CAAC,GAAG,CAAE,GAAG,EACjB,IAAI,CAAC,GAAG,CAAE,GAAG,EACV,CAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAE,CACvB,CACI,CAAC;IACP,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;QAUI;IACJ,UAAU,CAAE,CAAQ;QACvB,OAAO,IAAI,CAAC,YAAY,CAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;IAC5C,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;QAUI;IACJ,gBAAgB,CAAE,CAAQ;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;IAClD,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;QAUI;IACJ,kBAAkB,CAAE,CAAQ;QAC/B,MAAM,aAAa,GAAY,IAAI,CAAC,YAAY,CAAE,CAAC,CAAE,CAAC;QACtD,OAAO,IAAI,MAAM,CAAE,aAAa,CAAC,CAAC,EAAE,CAAE,aAAa,CAAC,CAAC,CAAE,CAAC;IACrD,CAAC;IAAA,CAAC;IAKF;;;;;;;QAOI;IACJ,KAAK;QACR,OAAO,IAAI,gBAAgB,CAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EACnD,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAClC,CAAC;IACH,CAAC;IAAA,CAAC;IAGF;;;;;;;;;;;;QAYI;IACJ,MAAM,CAAE,KAAgC;QAC3C,gFAAgF;QAChF,wDAAwD;QACxD,IAAI,CAAC,KAAK;YACN,OAAO,KAAK,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,UAAU;YACjB,CAAC,KAAK,CAAC,QAAQ;YACf,CAAC,KAAK,CAAC,iBAAiB;YACxB,CAAC,KAAK,CAAC,eAAe;YACtB,OAAO,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;eACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;eACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;eACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAAA,CAAC;IAGF;;;;;;;;;QASI;IACJ,MAAM,CAAC,UAAU,CAAE,GAAO;QAC7B,yBAAyB;QACzB,mCAAmC;QACnC;;;;;;;;;UASE;QACF,OAAO,GAAG,YAAY,gBAAgB,CAAC;IACpC,CAAC;IAAA,CAAC;IAIF;;;;;;;;;;;;QAYI;IACJ,aAAa;QAChB,IAAI,MAAM,GAAmB,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAAA,CAAC;IAGF;;;;;;;;QAQI;IACJ,MAAM,CAAE,YAAoB;QAC/B,IAAI,UAAU,GAAG,IAAI,GAAG,eAAe;YAC5B,CAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;YACrC,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,KAAK;YACpF,CAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;YAC9B,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,KAAK;YAC9E,CAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;YAC9B,0BAA0B,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,KAAK;YACxG,CAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;YAC9B,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,GAAG,GAAG;YACjG,CAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE;YAC9B,IAAI,CAAC,CAAE,aAAa;QACxB,OAAO,UAAU,CAAC;IACf,CAAC;IAAA,CAAC;IAGF;;;;;;;;;QASI;IACJ,MAAM,CAAC,QAAQ,CAAE,UAAiB;QACrC,IAAI,GAAG,GAAU,IAAI,CAAC,KAAK,CAAE,UAAU,CAAE,CAAC;QAC1C,OAAO,gBAAgB,CAAC,UAAU,CAAE,GAAG,CAAE,CAAC;IACvC,CAAC;IAAA,CAAC;IAGF;;;;;;;;;QASI;IACJ,MAAM,CAAC,UAAU,CAAE,GAAO;QAC7B,IAAI,OAAO,GAAG,KAAK,QAAQ;YACvB,MAAM,6BAA6B,CAAC;QAExC,IAAI,CAAC,GAAG,CAAC,UAAU;YACf,MAAM,uCAAuC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,QAAQ;YACb,MAAM,qCAAqC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,iBAAiB;YACtB,MAAM,8CAA8C,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,eAAe;YACpB,MAAM,4CAA4C,CAAC;QAEvD,OAAO,IAAI,gBAAgB,CAAE,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC5E,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACrD,IAAI,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAC9D,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC7D,CAAC;IACL,CAAC;IAAA,CAAC;IAIF;;;;;;;;QAQI;IACJ,MAAM,CAAC,SAAS,CAAE,GAAiB;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,MAAM,6BAA6B,CAAC;QACxC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;YACf,MAAM,+CAA+C,CAAC;QAC1D,OAAO,IAAI,gBAAgB,CAAE,GAAG,CAAC,CAAC,CAAC,EAC3B,GAAG,CAAC,CAAC,CAAC,EACN,GAAG,CAAC,CAAC,CAAC,EACN,GAAG,CAAC,CAAC,CAAC,CACP,CAAC;IACL,CAAC;IAAA,CAAC;;AAhzBF,yBAAyB;AACT,4BAAW,GAAkB,CAAC,CAAC;AAC/C,yBAAyB;AACT,oCAAmB,GAAU,CAAC,CAAC;AAC/C,yBAAyB;AACT,kCAAiB,GAAY,CAAC,CAAC;AAC/C,yBAAyB;AACT,0BAAS,GAAoB,CAAC,CAAC"}
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;