plotboilerplate 1.12.10 → 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 (213) hide show
  1. package/README.md +5 -1
  2. package/changelog.md +50 -0
  3. package/dist/index.esm.js +999 -510
  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 +1013 -509
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +45 -2
  13. package/src/cjs/BezierPath.js +114 -18
  14. package/src/cjs/BezierPath.js.map +1 -1
  15. package/src/cjs/Circle.d.ts +25 -10
  16. package/src/cjs/Circle.js +38 -33
  17. package/src/cjs/Circle.js.map +1 -1
  18. package/src/cjs/CircleSector.d.ts +27 -13
  19. package/src/cjs/CircleSector.js +38 -23
  20. package/src/cjs/CircleSector.js.map +1 -1
  21. package/src/cjs/CubicBezierCurve.d.ts +17 -1
  22. package/src/cjs/CubicBezierCurve.js +78 -79
  23. package/src/cjs/CubicBezierCurve.js.map +1 -1
  24. package/src/cjs/KeyHandler.d.ts +10 -3
  25. package/src/cjs/KeyHandler.js +28 -23
  26. package/src/cjs/KeyHandler.js.map +1 -1
  27. package/src/cjs/Line.d.ts +2 -1
  28. package/src/cjs/Line.js +19 -18
  29. package/src/cjs/Line.js.map +1 -1
  30. package/src/cjs/MouseHandler.js +43 -53
  31. package/src/cjs/MouseHandler.js.map +1 -1
  32. package/src/cjs/PBImage.d.ts +16 -1
  33. package/src/cjs/PBImage.js +13 -3
  34. package/src/cjs/PBImage.js.map +1 -1
  35. package/src/cjs/PBText.d.ts +130 -0
  36. package/src/cjs/PBText.js +76 -0
  37. package/src/cjs/PBText.js.map +1 -0
  38. package/src/cjs/PlotBoilerplate.d.ts +2 -1
  39. package/src/cjs/PlotBoilerplate.js +44 -16
  40. package/src/cjs/PlotBoilerplate.js.map +1 -1
  41. package/src/cjs/Polygon.d.ts +37 -1
  42. package/src/cjs/Polygon.js +131 -54
  43. package/src/cjs/Polygon.js.map +1 -1
  44. package/src/cjs/Triangle.d.ts +16 -1
  45. package/src/cjs/Triangle.js +50 -54
  46. package/src/cjs/Triangle.js.map +1 -1
  47. package/src/cjs/VEllipse.d.ts +16 -1
  48. package/src/cjs/VEllipse.js +25 -12
  49. package/src/cjs/VEllipse.js.map +1 -1
  50. package/src/cjs/VEllipseSector.d.ts +15 -1
  51. package/src/cjs/VEllipseSector.js +11 -1
  52. package/src/cjs/VEllipseSector.js.map +1 -1
  53. package/src/cjs/Vector.d.ts +3 -1
  54. package/src/cjs/Vector.js +32 -36
  55. package/src/cjs/Vector.js.map +1 -1
  56. package/src/cjs/VertTuple.d.ts +15 -1
  57. package/src/cjs/VertTuple.js +14 -19
  58. package/src/cjs/VertTuple.js.map +1 -1
  59. package/src/cjs/Vertex.d.ts +66 -4
  60. package/src/cjs/Vertex.js +99 -17
  61. package/src/cjs/Vertex.js.map +1 -1
  62. package/src/cjs/VertexListeners.d.ts +12 -8
  63. package/src/cjs/VertexListeners.js +18 -25
  64. package/src/cjs/VertexListeners.js.map +1 -1
  65. package/src/cjs/draw.d.ts +30 -2
  66. package/src/cjs/draw.js +51 -6
  67. package/src/cjs/draw.js.map +1 -1
  68. package/src/cjs/drawgl.d.ts +29 -2
  69. package/src/cjs/drawgl.js +21 -4
  70. package/src/cjs/drawgl.js.map +1 -1
  71. package/src/cjs/drawutilssvg.d.ts +25 -7
  72. package/src/cjs/drawutilssvg.js +62 -14
  73. package/src/cjs/drawutilssvg.js.map +1 -1
  74. package/src/cjs/entry.js +1 -0
  75. package/src/cjs/index.d.ts +1 -0
  76. package/src/cjs/index.js +1 -0
  77. package/src/cjs/index.js.map +1 -1
  78. package/src/cjs/interfaces/DrawLib.d.ts +27 -6
  79. package/src/cjs/interfaces/DrawLib.js +3 -0
  80. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  81. package/src/cjs/interfaces/core.d.ts +9 -1
  82. package/src/cjs/interfaces/core.js +1 -0
  83. package/src/cjs/interfaces/core.js.map +1 -1
  84. package/src/cjs/utils/creategui.js +1 -1
  85. package/src/cjs/utils/findInVertexArray.d.ts +19 -0
  86. package/src/cjs/utils/findInVertexArray.js +29 -0
  87. package/src/cjs/utils/findInVertexArray.js.map +1 -0
  88. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  89. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +55 -28
  90. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  91. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  92. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  93. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  94. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  95. package/src/cjs/utils/io/FileDrop.js +142 -0
  96. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  97. package/src/esm/BezierPath.d.ts +45 -2
  98. package/src/esm/BezierPath.js +114 -18
  99. package/src/esm/BezierPath.js.map +1 -1
  100. package/src/esm/Circle.d.ts +25 -10
  101. package/src/esm/Circle.js +38 -33
  102. package/src/esm/Circle.js.map +1 -1
  103. package/src/esm/CircleSector.d.ts +27 -13
  104. package/src/esm/CircleSector.js +38 -23
  105. package/src/esm/CircleSector.js.map +1 -1
  106. package/src/esm/CubicBezierCurve.d.ts +17 -1
  107. package/src/esm/CubicBezierCurve.js +78 -79
  108. package/src/esm/CubicBezierCurve.js.map +1 -1
  109. package/src/esm/KeyHandler.d.ts +10 -3
  110. package/src/esm/KeyHandler.js +28 -23
  111. package/src/esm/KeyHandler.js.map +1 -1
  112. package/src/esm/Line.d.ts +2 -1
  113. package/src/esm/Line.js +19 -18
  114. package/src/esm/Line.js.map +1 -1
  115. package/src/esm/MouseHandler.js +43 -53
  116. package/src/esm/MouseHandler.js.map +1 -1
  117. package/src/esm/PBImage.d.ts +16 -1
  118. package/src/esm/PBImage.js +13 -3
  119. package/src/esm/PBImage.js.map +1 -1
  120. package/src/esm/PBText.d.ts +130 -0
  121. package/src/esm/PBText.js +71 -0
  122. package/src/esm/PBText.js.map +1 -0
  123. package/src/esm/PlotBoilerplate.d.ts +2 -1
  124. package/src/esm/PlotBoilerplate.js +44 -16
  125. package/src/esm/PlotBoilerplate.js.map +1 -1
  126. package/src/esm/Polygon.d.ts +37 -1
  127. package/src/esm/Polygon.js +131 -54
  128. package/src/esm/Polygon.js.map +1 -1
  129. package/src/esm/Triangle.d.ts +16 -1
  130. package/src/esm/Triangle.js +50 -54
  131. package/src/esm/Triangle.js.map +1 -1
  132. package/src/esm/VEllipse.d.ts +16 -1
  133. package/src/esm/VEllipse.js +25 -12
  134. package/src/esm/VEllipse.js.map +1 -1
  135. package/src/esm/VEllipseSector.d.ts +15 -1
  136. package/src/esm/VEllipseSector.js +11 -1
  137. package/src/esm/VEllipseSector.js.map +1 -1
  138. package/src/esm/Vector.d.ts +3 -1
  139. package/src/esm/Vector.js +32 -36
  140. package/src/esm/Vector.js.map +1 -1
  141. package/src/esm/VertTuple.d.ts +15 -1
  142. package/src/esm/VertTuple.js +14 -19
  143. package/src/esm/VertTuple.js.map +1 -1
  144. package/src/esm/Vertex.d.ts +66 -4
  145. package/src/esm/Vertex.js +99 -17
  146. package/src/esm/Vertex.js.map +1 -1
  147. package/src/esm/VertexListeners.d.ts +12 -8
  148. package/src/esm/VertexListeners.js +18 -25
  149. package/src/esm/VertexListeners.js.map +1 -1
  150. package/src/esm/draw.d.ts +30 -2
  151. package/src/esm/draw.js +51 -6
  152. package/src/esm/draw.js.map +1 -1
  153. package/src/esm/drawgl.d.ts +29 -2
  154. package/src/esm/drawgl.js +21 -4
  155. package/src/esm/drawgl.js.map +1 -1
  156. package/src/esm/drawutilssvg.d.ts +25 -7
  157. package/src/esm/drawutilssvg.js +62 -14
  158. package/src/esm/drawutilssvg.js.map +1 -1
  159. package/src/esm/entry.js +1 -0
  160. package/src/esm/index.d.ts +1 -0
  161. package/src/esm/index.js +1 -0
  162. package/src/esm/index.js.map +1 -1
  163. package/src/esm/interfaces/DrawLib.d.ts +27 -6
  164. package/src/esm/interfaces/DrawLib.js +3 -0
  165. package/src/esm/interfaces/DrawLib.js.map +1 -1
  166. package/src/esm/interfaces/core.d.ts +9 -1
  167. package/src/esm/interfaces/core.js +1 -0
  168. package/src/esm/interfaces/core.js.map +1 -1
  169. package/src/esm/utils/findInVertexArray.d.ts +19 -0
  170. package/src/esm/utils/findInVertexArray.js +25 -0
  171. package/src/esm/utils/findInVertexArray.js.map +1 -0
  172. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  173. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +54 -28
  174. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  175. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  176. package/src/esm/utils/io/DndFileHandler.js +106 -0
  177. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  178. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  179. package/src/esm/utils/io/FileDrop.js +136 -0
  180. package/src/esm/utils/io/FileDrop.js.map +1 -0
  181. package/src/ts/BezierPath.ts +133 -16
  182. package/src/ts/Circle.ts +213 -200
  183. package/src/ts/CircleSector.ts +171 -141
  184. package/src/ts/CubicBezierCurve.ts +777 -810
  185. package/src/ts/KeyHandler.ts +221 -212
  186. package/src/ts/Line.ts +77 -80
  187. package/src/ts/MouseHandler.ts +356 -368
  188. package/src/ts/PBImage.ts +81 -68
  189. package/src/ts/PBText.ts +166 -0
  190. package/src/ts/PlotBoilerplate.ts +48 -20
  191. package/src/ts/Polygon.ts +519 -451
  192. package/src/ts/Triangle.ts +484 -489
  193. package/src/ts/VEllipse.ts +36 -11
  194. package/src/ts/VEllipseSector.ts +20 -1
  195. package/src/ts/Vector.ts +164 -160
  196. package/src/ts/VertTuple.ts +333 -338
  197. package/src/ts/Vertex.ts +117 -16
  198. package/src/ts/VertexListeners.ts +248 -266
  199. package/src/ts/draw.ts +71 -8
  200. package/src/ts/drawgl.ts +48 -8
  201. package/src/ts/drawutilssvg.ts +94 -17
  202. package/src/ts/index.ts +1 -0
  203. package/src/ts/interfaces/DrawLib.ts +30 -4
  204. package/src/ts/interfaces/core.ts +9 -0
  205. package/src/ts/utils/findInVertexArray.ts +28 -0
  206. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -30
  207. package/src/ts/utils/io/FileDrop.ts +178 -0
  208. package/dist/plotboilerplate.browser.min.js.LICENSE.txt +0 -8
  209. package/src/ts/utils/algorithms/clearPolygonDuplicateVertices.ts~ +0 -5
  210. package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts~ +0 -45
  211. package/src/ts/utils/algorithms/sh-tmp.ts~ +0 -59
  212. package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts~ +0 -113
  213. package/src/ts/utils/algorithms/sutherlandHodgman.ts~ +0 -88
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plotboilerplate",
3
- "version": "1.12.10",
3
+ "version": "1.16.0",
4
4
  "description": "A simple javascript plotting boilerplate for 2d stuff.",
5
5
  "private": false,
6
6
  "main": "src/cjs/index.js",
@@ -20,7 +20,10 @@
20
20
  * @modified 2020-07-24 Added the getClosestT(Vertex) function.
21
21
  * @modified 2020-12-29 Constructor is now private (no explicit use intended).
22
22
  * @modified 2021-05-25 Added BezierPath.fromReducedList( Array<number> ).
23
- * @version 2.3.1
23
+ * @modified 2022-01-31 Added `BezierPath.getEvenDistributionVertices(number)`.
24
+ * @modified 2022-02-02 Added the `destroy` method.
25
+ * @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
26
+ * @version 2.5.0
24
27
  *
25
28
  * @file BezierPath
26
29
  * @public
@@ -87,6 +90,13 @@ export declare class BezierPath implements SVGSerializable {
87
90
  * @instance
88
91
  */
89
92
  bezierCurves: Array<CubicBezierCurve>;
93
+ /**
94
+ * @member {boolean}
95
+ * @memberof BezierPath
96
+ * @type {boolean}
97
+ * @instance
98
+ */
99
+ isDestroyed: boolean;
90
100
  /** @constant {number} */
91
101
  static START_POINT: number;
92
102
  /** @constant {number} */
@@ -261,6 +271,17 @@ export declare class BezierPath implements SVGSerializable {
261
271
  * @return {BezierPath} this for chaining
262
272
  **/
263
273
  translate(amount: Vertex): BezierPath;
274
+ /**
275
+ * Scale the whole bezier path by the given uniform factor.
276
+ *
277
+ * @method scale
278
+ * @param {Vertex} anchor - The scale origin to scale from.
279
+ * @param {number} scaleFactor - The scalar to be multiplied with.
280
+ * @instance
281
+ * @memberof BezierPath
282
+ * @return {BezierPath} this for chaining.
283
+ **/
284
+ scale(anchor: Vertex, scaleFactor: number): BezierPath;
264
285
  /**
265
286
  * Scale the whole bezier path by the given (x,y)-factors.
266
287
  *
@@ -271,7 +292,7 @@ export declare class BezierPath implements SVGSerializable {
271
292
  * @memberof BezierPath
272
293
  * @return {BezierPath} this for chaining.
273
294
  **/
274
- scale(anchor: Vertex, scaling: number): BezierPath;
295
+ scaleXY(scaleFactors: XYCoords, anchor?: XYCoords): BezierPath;
275
296
  /**
276
297
  * Rotate the whole bezier path around a point..
277
298
  *
@@ -459,6 +480,22 @@ export declare class BezierPath implements SVGSerializable {
459
480
  * @return {Bounds} The bounds of this Bézier path.
460
481
  **/
461
482
  getBounds(): Bounds;
483
+ /**
484
+ * Get n 'equally' distributed vertices along this Bézier path.
485
+ *
486
+ * As the changing curvature of the B slines makes prediction of distances difficult, the
487
+ * returned vertices' distances are only relatively equal:
488
+ * - the distance grows where curvature is large.
489
+ * - the distance shrinks where curvature is small.
490
+ *
491
+ * Only the distance mean of all consecutive is 1/n-th of the total arc length.
492
+ *
493
+ * Usually this approximation is good enough for most use cases.
494
+ *
495
+ * @param {number} pointCount - (must be at least 2) The number of desired points (start and end point included).
496
+ * @return {Array<Vertex>}
497
+ */
498
+ getEvenDistributionVertices(pointCount: number): Array<Vertex>;
462
499
  /**
463
500
  * Clone this BezierPath (deep clone).
464
501
  *
@@ -492,6 +529,12 @@ export declare class BezierPath implements SVGSerializable {
492
529
  toSVGString(options: {
493
530
  className?: string;
494
531
  }): string;
532
+ /**
533
+ * This function should invalidate any installed listeners and invalidate this object.
534
+ * After calling this function the object might not hold valid data any more and
535
+ * should not be used.
536
+ */
537
+ destroy(): void;
495
538
  /**
496
539
  * Create a JSON string representation of this bézier curve.
497
540
  *
@@ -21,7 +21,10 @@
21
21
  * @modified 2020-07-24 Added the getClosestT(Vertex) function.
22
22
  * @modified 2020-12-29 Constructor is now private (no explicit use intended).
23
23
  * @modified 2021-05-25 Added BezierPath.fromReducedList( Array<number> ).
24
- * @version 2.3.1
24
+ * @modified 2022-01-31 Added `BezierPath.getEvenDistributionVertices(number)`.
25
+ * @modified 2022-02-02 Added the `destroy` method.
26
+ * @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
27
+ * @version 2.5.0
25
28
  *
26
29
  * @file BezierPath
27
30
  * @public
@@ -458,6 +461,35 @@ var BezierPath = /** @class */ (function () {
458
461
  this.updateArcLengths();
459
462
  return this;
460
463
  };
464
+ /**
465
+ * Scale the whole bezier path by the given uniform factor.
466
+ *
467
+ * @method scale
468
+ * @param {Vertex} anchor - The scale origin to scale from.
469
+ * @param {number} scaleFactor - The scalar to be multiplied with.
470
+ * @instance
471
+ * @memberof BezierPath
472
+ * @return {BezierPath} this for chaining.
473
+ **/
474
+ BezierPath.prototype.scale = function (anchor, scaleFactor) {
475
+ // var scaleFactors : XYCoords = { x : scaleFactor, y : scaleFactor };
476
+ // for (var i = 0; i < this.bezierCurves.length; i++) {
477
+ // var curve = this.bezierCurves[i];
478
+ // curve.getStartPoint().scale(scaleFactor, anchor);
479
+ // curve.getStartControlPoint().scale(scaleFactor, anchor);
480
+ // curve.getEndControlPoint().scale(scaleFactor, anchor);
481
+ // // Do NOT scale the end point here!
482
+ // // Don't forget that the curves are connected and on curve's end point
483
+ // // the the successor's start point (same instance)!
484
+ // }
485
+ // // Finally move the last end point (was not scaled yet)
486
+ // if (this.bezierCurves.length > 0 && !this.adjustCircular) {
487
+ // this.bezierCurves[this.bezierCurves.length - 1].getEndPoint().scale(scaleFactor, anchor);
488
+ // }
489
+ // this.updateArcLengths();
490
+ // return this;
491
+ return this.scaleXY({ x: scaleFactor, y: scaleFactor }, anchor);
492
+ };
461
493
  /**
462
494
  * Scale the whole bezier path by the given (x,y)-factors.
463
495
  *
@@ -468,19 +500,19 @@ var BezierPath = /** @class */ (function () {
468
500
  * @memberof BezierPath
469
501
  * @return {BezierPath} this for chaining.
470
502
  **/
471
- BezierPath.prototype.scale = function (anchor, scaling) {
503
+ BezierPath.prototype.scaleXY = function (scaleFactors, anchor) {
472
504
  for (var i = 0; i < this.bezierCurves.length; i++) {
473
505
  var curve = this.bezierCurves[i];
474
- curve.getStartPoint().scale(scaling, anchor);
475
- curve.getStartControlPoint().scale(scaling, anchor);
476
- curve.getEndControlPoint().scale(scaling, anchor);
506
+ curve.getStartPoint().scaleXY(scaleFactors, anchor);
507
+ curve.getStartControlPoint().scaleXY(scaleFactors, anchor);
508
+ curve.getEndControlPoint().scaleXY(scaleFactors, anchor);
477
509
  // Do NOT scale the end point here!
478
510
  // Don't forget that the curves are connected and on curve's end point
479
511
  // the the successor's start point (same instance)!
480
512
  }
481
513
  // Finally move the last end point (was not scaled yet)
482
514
  if (this.bezierCurves.length > 0 && !this.adjustCircular) {
483
- this.bezierCurves[this.bezierCurves.length - 1].getEndPoint().scale(scaling, anchor);
515
+ this.bezierCurves[this.bezierCurves.length - 1].getEndPoint().scaleXY(scaleFactors, anchor);
484
516
  }
485
517
  this.updateArcLengths();
486
518
  return this;
@@ -889,6 +921,59 @@ var BezierPath = /** @class */ (function () {
889
921
  }
890
922
  return new Bounds_1.Bounds(min, max);
891
923
  };
924
+ /**
925
+ * Get n 'equally' distributed vertices along this Bézier path.
926
+ *
927
+ * As the changing curvature of the B slines makes prediction of distances difficult, the
928
+ * returned vertices' distances are only relatively equal:
929
+ * - the distance grows where curvature is large.
930
+ * - the distance shrinks where curvature is small.
931
+ *
932
+ * Only the distance mean of all consecutive is 1/n-th of the total arc length.
933
+ *
934
+ * Usually this approximation is good enough for most use cases.
935
+ *
936
+ * @param {number} pointCount - (must be at least 2) The number of desired points (start and end point included).
937
+ * @return {Array<Vertex>}
938
+ */
939
+ BezierPath.prototype.getEvenDistributionVertices = function (pointCount) {
940
+ if (pointCount < 2) {
941
+ throw new Error("pointCount must be larger than one; is " + pointCount + ".");
942
+ }
943
+ var result = [];
944
+ if (this.bezierCurves.length === 0) {
945
+ return result;
946
+ }
947
+ // Fetch and add the start point from the source polygon
948
+ var polygonPoint = new Vertex_1.Vertex(this.bezierCurves[0].startPoint);
949
+ result.push(polygonPoint);
950
+ // if (this.bezierCurves.length === 1) {
951
+ // return result;
952
+ // }
953
+ var perimeter = this.totalArcLength;
954
+ var stepSize = perimeter / (pointCount - 1);
955
+ var n = this.bezierCurves.length;
956
+ var curveIndex = 0;
957
+ var segmentLength = this.bezierCurves[0].arcLength;
958
+ var curSegmentU = stepSize;
959
+ var i = 1;
960
+ while (i < pointCount && curveIndex < n) {
961
+ // Check if next eq point is inside this segment
962
+ if (curSegmentU < segmentLength) {
963
+ var newPoint = this.bezierCurves[curveIndex].getPoint(curSegmentU);
964
+ result.push(newPoint);
965
+ curSegmentU += stepSize;
966
+ i++;
967
+ }
968
+ else {
969
+ curveIndex++;
970
+ curSegmentU = curSegmentU - segmentLength;
971
+ segmentLength = curveIndex < n ? this.bezierCurves[curveIndex].arcLength : 0;
972
+ }
973
+ }
974
+ result.push(new Vertex_1.Vertex(this.bezierCurves[n - 1].endPoint));
975
+ return result;
976
+ };
892
977
  /**
893
978
  * Clone this BezierPath (deep clone).
894
979
  *
@@ -946,19 +1031,30 @@ var BezierPath = /** @class */ (function () {
946
1031
  * @return {string} The SVG string.
947
1032
  **/
948
1033
  BezierPath.prototype.toSVGString = function (options) {
949
- options = options || {};
950
- var buffer = [];
951
- buffer.push("<path");
952
- if (options.className)
953
- buffer.push(' class="' + options.className + '"');
954
- buffer.push(' d="');
955
- for (var c = 0; c < this.bezierCurves.length; c++) {
956
- if (c > 0)
957
- buffer.push(" ");
958
- buffer.push(this.bezierCurves[c].toSVGPathData());
1034
+ // options = options || {};
1035
+ // var buffer: Array<string> = [];
1036
+ // buffer.push("<path");
1037
+ // if (options.className) buffer.push(' class="' + options.className + '"');
1038
+ // buffer.push(' d="');
1039
+ // for (var c = 0; c < this.bezierCurves.length; c++) {
1040
+ // if (c > 0) buffer.push(" ");
1041
+ // buffer.push(this.bezierCurves[c].toSVGPathData());
1042
+ // }
1043
+ // buffer.push('" />');
1044
+ // return buffer.join("");
1045
+ console.warn("[Deprecation] Warning: the BezierPath.toSVGString method is deprecated and does not return and valid SVG data any more. Please use `drawutilssvg` instead.");
1046
+ return "";
1047
+ };
1048
+ /**
1049
+ * This function should invalidate any installed listeners and invalidate this object.
1050
+ * After calling this function the object might not hold valid data any more and
1051
+ * should not be used.
1052
+ */
1053
+ BezierPath.prototype.destroy = function () {
1054
+ for (var i = 0; i < this.bezierCurves.length; i++) {
1055
+ this.bezierCurves[i].destroy();
959
1056
  }
960
- buffer.push('" />');
961
- return buffer.join("");
1057
+ this.isDestroyed = true;
962
1058
  };
963
1059
  /**
964
1060
  * Create a JSON string representation of this bézier curve.
@@ -1 +1 @@
1
- {"version":3,"file":"BezierPath.js","sourceRoot":"","sources":["../ts/BezierPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BezierPath.js","sourceRoot":"","sources":["../ts/BezierPath.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@
7
7
  * @modified 2020-09-07 Changed the vertAt function by switching sin and cos! The old version did not return the correct vertex (by angle) accoring to the assumed circle math.
8
8
  * @modified 2020-10-16 Added the containsCircle(...) function.
9
9
  * @modified 2021-01-20 Added UID.
10
- * @version 1.2.0
10
+ * @modified 2022-02-02 Added the `destroy` method.
11
+ * @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
12
+ * @version 1.3.0
11
13
  **/
12
14
  import { Line } from "./Line";
13
15
  import { Vector } from "./Vector";
@@ -51,6 +53,13 @@ export declare class Circle implements SVGSerializable {
51
53
  * @instance
52
54
  */
53
55
  radius: number;
56
+ /**
57
+ * @member isDestroyed
58
+ * @memberof CubicBezierCurve
59
+ * @type {boolean}
60
+ * @instance
61
+ */
62
+ isDestroyed: boolean;
54
63
  /**
55
64
  * Create a new circle with given center point and radius.
56
65
  *
@@ -118,18 +127,24 @@ export declare class Circle implements SVGSerializable {
118
127
  **/
119
128
  circleIntersection(circle: Circle): Line | null;
120
129
  /**
121
- * Create an SVG representation of this circle.
122
- *
123
- * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
124
- * @method toSVGString
125
- * @param {object=} options - An optional set of options, like 'className'.
126
- * @return {string} A string representing the SVG code for this vertex.
127
- * @instance
128
- * @memberof Circle
129
- */
130
+ * Create an SVG representation of this circle.
131
+ *
132
+ * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
133
+ * @method toSVGString
134
+ * @param {object=} options - An optional set of options, like 'className'.
135
+ * @return {string} A string representing the SVG code for this vertex.
136
+ * @instance
137
+ * @memberof Circle
138
+ */
130
139
  toSVGString(options: {
131
140
  className?: string;
132
141
  }): string;
142
+ /**
143
+ * This function should invalidate any installed listeners and invalidate this object.
144
+ * After calling this function the object might not hold valid data any more and
145
+ * should not be used.
146
+ */
147
+ destroy(): void;
133
148
  static circleUtils: {
134
149
  vertAt: (angle: number, radius: number) => Vertex;
135
150
  };
package/src/cjs/Circle.js CHANGED
@@ -8,7 +8,9 @@
8
8
  * @modified 2020-09-07 Changed the vertAt function by switching sin and cos! The old version did not return the correct vertex (by angle) accoring to the assumed circle math.
9
9
  * @modified 2020-10-16 Added the containsCircle(...) function.
10
10
  * @modified 2021-01-20 Added UID.
11
- * @version 1.2.0
11
+ * @modified 2022-02-02 Added the `destroy` method.
12
+ * @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
13
+ * @version 1.3.0
12
14
  **/
13
15
  Object.defineProperty(exports, "__esModule", { value: true });
14
16
  exports.Circle = void 0;
@@ -45,7 +47,6 @@ var Circle = /** @class */ (function () {
45
47
  this.center = center;
46
48
  this.radius = radius;
47
49
  }
48
- ;
49
50
  /**
50
51
  * Check if the given circle is fully contained inside this circle.
51
52
  *
@@ -58,7 +59,6 @@ var Circle = /** @class */ (function () {
58
59
  Circle.prototype.containsCircle = function (circle) {
59
60
  return this.center.distance(circle.center) + circle.radius < this.radius;
60
61
  };
61
- ;
62
62
  /**
63
63
  * Calculate the distance from this circle to the given line.
64
64
  *
@@ -77,7 +77,6 @@ var Circle = /** @class */ (function () {
77
77
  var closestPointOnLine = line.getClosestPoint(this.center);
78
78
  return closestPointOnLine.distance(this.center) - this.radius;
79
79
  };
80
- ;
81
80
  /**
82
81
  * Get the vertex on the this circle for the given angle.
83
82
  *
@@ -91,7 +90,6 @@ var Circle = /** @class */ (function () {
91
90
  // Find the point on the circle respective the angle. Then move relative to center.
92
91
  return Circle.circleUtils.vertAt(angle, this.radius).add(this.center);
93
92
  };
94
- ;
95
93
  /**
96
94
  * Get a tangent line of this circle for a given angle.
97
95
  *
@@ -108,7 +106,6 @@ var Circle = /** @class */ (function () {
108
106
  // Construct the perpendicular of the line in point a. Then move relative to center.
109
107
  return new Vector_1.Vector(pointA, new Vertex_1.Vertex(0, 0)).add(this.center).perp();
110
108
  };
111
- ;
112
109
  /**
113
110
  * Calculate the intersection points (if exists) with the given circle.
114
111
  *
@@ -148,47 +145,55 @@ var Circle = /** @class */ (function () {
148
145
  // x4 = P2.x - h*(P1.y - P0.y)/d;
149
146
  // y4 = P2.y + h*(P1.x - P0.x)/d;
150
147
  // return pair<Point, Point>(Point(x3, y3), Point(x4, y4));
151
- // }
148
+ // }
152
149
  var p0 = this.center;
153
150
  var p1 = circle.center;
154
151
  var d = p0.distance(p1);
155
152
  var a = (this.radius * this.radius - circle.radius * circle.radius + d * d) / (2 * d);
156
153
  var h = Math.sqrt(this.radius * this.radius - a * a);
157
154
  var p2 = p1.clone().scale(a / d, p0);
158
- var x3 = p2.x + h * (p1.y - p0.y) / d;
159
- var y3 = p2.y - h * (p1.x - p0.x) / d;
160
- var x4 = p2.x - h * (p1.y - p0.y) / d;
161
- var y4 = p2.y + h * (p1.x - p0.x) / d;
155
+ var x3 = p2.x + (h * (p1.y - p0.y)) / d;
156
+ var y3 = p2.y - (h * (p1.x - p0.x)) / d;
157
+ var x4 = p2.x - (h * (p1.y - p0.y)) / d;
158
+ var y4 = p2.y + (h * (p1.x - p0.x)) / d;
162
159
  return new Line_1.Line(new Vertex_1.Vertex(x3, y3), new Vertex_1.Vertex(x4, y4));
163
160
  };
164
- ;
165
161
  /**
166
- * Create an SVG representation of this circle.
167
- *
168
- * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
169
- * @method toSVGString
170
- * @param {object=} options - An optional set of options, like 'className'.
171
- * @return {string} A string representing the SVG code for this vertex.
172
- * @instance
173
- * @memberof Circle
174
- */
162
+ * Create an SVG representation of this circle.
163
+ *
164
+ * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
165
+ * @method toSVGString
166
+ * @param {object=} options - An optional set of options, like 'className'.
167
+ * @return {string} A string representing the SVG code for this vertex.
168
+ * @instance
169
+ * @memberof Circle
170
+ */
175
171
  Circle.prototype.toSVGString = function (options) {
176
- options = options || {};
177
- var buffer = [];
178
- buffer.push('<circle');
179
- if (options.className)
180
- buffer.push(' class="' + options.className + '"');
181
- buffer.push(' cx="' + this.center.x + '"');
182
- buffer.push(' cy="' + this.center.y + '"');
183
- buffer.push(' r="' + this.radius + '"');
184
- buffer.push(' />');
185
- return buffer.join('');
172
+ // options = options || {};
173
+ // var buffer: Array<string> = [];
174
+ // buffer.push("<circle");
175
+ // if (options.className) buffer.push(' class="' + options.className + '"');
176
+ // buffer.push(' cx="' + this.center.x + '"');
177
+ // buffer.push(' cy="' + this.center.y + '"');
178
+ // buffer.push(' r="' + this.radius + '"');
179
+ // buffer.push(" />");
180
+ // return buffer.join("");
181
+ console.warn("[Deprecation] Warning: the Circle.toSVGString method is deprecated and does not return and valid SVG data any more. Please use `drawutilssvg` instead.");
182
+ return "";
183
+ };
184
+ /**
185
+ * This function should invalidate any installed listeners and invalidate this object.
186
+ * After calling this function the object might not hold valid data any more and
187
+ * should not be used.
188
+ */
189
+ Circle.prototype.destroy = function () {
190
+ this.center.destroy();
191
+ this.isDestroyed = true;
186
192
  };
187
- ;
188
193
  Circle.circleUtils = {
189
194
  vertAt: function (angle, radius) {
190
195
  /* return new Vertex( Math.sin(angle) * radius,
191
- Math.cos(angle) * radius ); */
196
+ Math.cos(angle) * radius ); */
192
197
  return new Vertex_1.Vertex(Math.cos(angle) * radius, Math.sin(angle) * radius);
193
198
  }
194
199
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../ts/Circle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../ts/Circle.ts"],"names":[],"mappings":"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"}