plotboilerplate 1.23.3 → 1.25.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 (230) hide show
  1. package/README.md +19 -1
  2. package/dist/index.esm.js +1684 -394
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.esm.min.js +1 -1
  5. package/dist/index.esm.min.js.map +1 -1
  6. package/dist/plotboilerplate.browser.min.js +1 -1
  7. package/dist/plotboilerplate.browser.min.js.map +1 -1
  8. package/dist/plotboilerplate.js +12450 -11120
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +9 -5
  11. package/src/cjs/BezierPath.d.ts +41 -5
  12. package/src/cjs/BezierPath.js +52 -2
  13. package/src/cjs/BezierPath.js.map +1 -1
  14. package/src/cjs/Bounds.d.ts +67 -3
  15. package/src/cjs/Bounds.js +101 -3
  16. package/src/cjs/Bounds.js.map +1 -1
  17. package/src/cjs/Circle.d.ts +46 -4
  18. package/src/cjs/Circle.js +82 -3
  19. package/src/cjs/Circle.js.map +1 -1
  20. package/src/cjs/CircleSector.d.ts +51 -2
  21. package/src/cjs/CircleSector.js +112 -3
  22. package/src/cjs/CircleSector.js.map +1 -1
  23. package/src/cjs/CubicBezierCurve.d.ts +113 -7
  24. package/src/cjs/CubicBezierCurve.js +281 -33
  25. package/src/cjs/CubicBezierCurve.js.map +1 -1
  26. package/src/cjs/Line.d.ts +38 -3
  27. package/src/cjs/Line.js +64 -1
  28. package/src/cjs/Line.js.map +1 -1
  29. package/src/cjs/PlotBoilerplate.d.ts +37 -6
  30. package/src/cjs/PlotBoilerplate.js +224 -125
  31. package/src/cjs/PlotBoilerplate.js.map +1 -1
  32. package/src/cjs/Polygon.d.ts +68 -5
  33. package/src/cjs/Polygon.js +143 -22
  34. package/src/cjs/Polygon.js.map +1 -1
  35. package/src/cjs/Triangle.d.ts +52 -3
  36. package/src/cjs/Triangle.js +80 -1
  37. package/src/cjs/Triangle.js.map +1 -1
  38. package/src/cjs/VEllipse.d.ts +62 -3
  39. package/src/cjs/VEllipse.js +181 -17
  40. package/src/cjs/VEllipse.js.map +1 -1
  41. package/src/cjs/VEllipseSector.d.ts +86 -2
  42. package/src/cjs/VEllipseSector.js +148 -4
  43. package/src/cjs/VEllipseSector.js.map +1 -1
  44. package/src/cjs/Vector.d.ts +12 -2
  45. package/src/cjs/Vector.js +15 -2
  46. package/src/cjs/Vector.js.map +1 -1
  47. package/src/cjs/VertTuple.d.ts +28 -4
  48. package/src/cjs/VertTuple.js +36 -3
  49. package/src/cjs/VertTuple.js.map +1 -1
  50. package/src/cjs/Vertex.d.ts +31 -4
  51. package/src/cjs/Vertex.js +35 -1
  52. package/src/cjs/Vertex.js.map +1 -1
  53. package/src/cjs/interfaces/core.d.ts +67 -0
  54. package/src/cjs/interfaces/core.js +4 -0
  55. package/src/cjs/interfaces/core.js.map +1 -1
  56. package/src/cjs/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
  57. package/src/cjs/utils/algorithms/convexPolygonIncircle.js +14 -6
  58. package/src/cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -1
  59. package/src/cjs/utils/createRandomizedPolygon.d.ts +14 -0
  60. package/src/cjs/utils/createRandomizedPolygon.js +32 -0
  61. package/src/cjs/utils/createRandomizedPolygon.js.map +1 -0
  62. package/src/cjs/utils/datastructures/Color.d.ts +147 -1
  63. package/src/cjs/utils/datastructures/Color.js +385 -41
  64. package/src/cjs/utils/datastructures/Color.js.map +1 -1
  65. package/src/cjs/utils/datastructures/ColorGradient.d.ts +79 -0
  66. package/src/cjs/utils/datastructures/ColorGradient.js +171 -0
  67. package/src/cjs/utils/datastructures/ColorGradient.js.map +1 -0
  68. package/src/cjs/utils/dom/components/ColorGradientPicker.d.ts +245 -0
  69. package/src/cjs/utils/dom/components/ColorGradientPicker.js +667 -0
  70. package/src/cjs/utils/dom/components/ColorGradientPicker.js.map +1 -0
  71. package/src/cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
  72. package/src/cjs/utils/dom/components/ColorGradientPickerJSX.js +520 -0
  73. package/src/cjs/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
  74. package/src/cjs/utils/dom/components/ColorGradientSelector.d.ts +117 -0
  75. package/src/cjs/utils/dom/components/ColorGradientSelector.js +325 -0
  76. package/src/cjs/utils/dom/components/ColorGradientSelector.js.map +1 -0
  77. package/src/cjs/utils/dom/components/Test.d.ts +7 -0
  78. package/src/cjs/utils/dom/components/Test.js +30 -0
  79. package/src/cjs/utils/dom/components/Test.js.map +1 -0
  80. package/src/cjs/utils/dom/guiSizeToggler.js +1 -1
  81. package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -1
  82. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +16 -8
  83. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +49 -28
  84. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  85. package/src/cjs/utils/helpers/CircleHelper.d.ts +10 -1
  86. package/src/cjs/utils/helpers/CircleHelper.js +13 -2
  87. package/src/cjs/utils/helpers/CircleHelper.js.map +1 -1
  88. package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +11 -2
  89. package/src/cjs/utils/helpers/CircleSectorHelper.js +20 -20
  90. package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
  91. package/src/cjs/utils/helpers/TriangleHelper.d.ts +57 -0
  92. package/src/cjs/utils/helpers/TriangleHelper.js +83 -0
  93. package/src/cjs/utils/helpers/TriangleHelper.js.map +1 -0
  94. package/src/cjs/utils/helpers/VEllipseHelper.d.ts +32 -0
  95. package/src/cjs/utils/helpers/VEllipseHelper.js +88 -0
  96. package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -0
  97. package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +44 -4
  98. package/src/cjs/utils/helpers/VEllipseSectorHelper.js +108 -25
  99. package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
  100. package/src/cjs/utils/parsers/LinearColorGradientParser.d.ts +78 -0
  101. package/src/cjs/utils/parsers/LinearColorGradientParser.js +224 -0
  102. package/src/cjs/utils/parsers/LinearColorGradientParser.js.map +1 -0
  103. package/src/createDemoDrawables.js +4 -1
  104. package/src/esm/BezierPath.d.ts +41 -5
  105. package/src/esm/BezierPath.js +50 -2
  106. package/src/esm/BezierPath.js.map +1 -1
  107. package/src/esm/Bounds.d.ts +67 -3
  108. package/src/esm/Bounds.js +101 -3
  109. package/src/esm/Bounds.js.map +1 -1
  110. package/src/esm/Circle.d.ts +46 -4
  111. package/src/esm/Circle.js +79 -3
  112. package/src/esm/Circle.js.map +1 -1
  113. package/src/esm/CircleSector.d.ts +51 -2
  114. package/src/esm/CircleSector.js +108 -3
  115. package/src/esm/CircleSector.js.map +1 -1
  116. package/src/esm/CubicBezierCurve.d.ts +113 -7
  117. package/src/esm/CubicBezierCurve.js +277 -33
  118. package/src/esm/CubicBezierCurve.js.map +1 -1
  119. package/src/esm/Line.d.ts +38 -3
  120. package/src/esm/Line.js +62 -1
  121. package/src/esm/Line.js.map +1 -1
  122. package/src/esm/PlotBoilerplate.d.ts +37 -6
  123. package/src/esm/PlotBoilerplate.js +224 -125
  124. package/src/esm/PlotBoilerplate.js.map +1 -1
  125. package/src/esm/Polygon.d.ts +68 -5
  126. package/src/esm/Polygon.js +138 -22
  127. package/src/esm/Polygon.js.map +1 -1
  128. package/src/esm/Triangle.d.ts +52 -3
  129. package/src/esm/Triangle.js +77 -1
  130. package/src/esm/Triangle.js.map +1 -1
  131. package/src/esm/VEllipse.d.ts +62 -3
  132. package/src/esm/VEllipse.js +178 -17
  133. package/src/esm/VEllipse.js.map +1 -1
  134. package/src/esm/VEllipseSector.d.ts +86 -2
  135. package/src/esm/VEllipseSector.js +146 -7
  136. package/src/esm/VEllipseSector.js.map +1 -1
  137. package/src/esm/Vector.d.ts +12 -2
  138. package/src/esm/Vector.js +15 -2
  139. package/src/esm/Vector.js.map +1 -1
  140. package/src/esm/VertTuple.d.ts +28 -4
  141. package/src/esm/VertTuple.js +36 -3
  142. package/src/esm/VertTuple.js.map +1 -1
  143. package/src/esm/Vertex.d.ts +31 -4
  144. package/src/esm/Vertex.js +35 -1
  145. package/src/esm/Vertex.js.map +1 -1
  146. package/src/esm/interfaces/core.d.ts +67 -0
  147. package/src/esm/interfaces/core.js +4 -0
  148. package/src/esm/interfaces/core.js.map +1 -1
  149. package/src/esm/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
  150. package/src/esm/utils/algorithms/convexPolygonIncircle.js +15 -7
  151. package/src/esm/utils/algorithms/convexPolygonIncircle.js.map +1 -1
  152. package/src/esm/utils/algorithms/createRandomizedPolygon.d.ts +14 -0
  153. package/src/esm/utils/algorithms/createRandomizedPolygon.js +28 -0
  154. package/src/esm/utils/algorithms/createRandomizedPolygon.js.map +1 -0
  155. package/src/esm/utils/createRandomizedPolygon.d.ts +14 -0
  156. package/src/esm/utils/createRandomizedPolygon.js +28 -0
  157. package/src/esm/utils/createRandomizedPolygon.js.map +1 -0
  158. package/src/esm/utils/datastructures/Color.d.ts +147 -1
  159. package/src/esm/utils/datastructures/Color.js +386 -42
  160. package/src/esm/utils/datastructures/Color.js.map +1 -1
  161. package/src/esm/utils/datastructures/ColorGradient.d.ts +79 -0
  162. package/src/esm/utils/datastructures/ColorGradient.js +166 -0
  163. package/src/esm/utils/datastructures/ColorGradient.js.map +1 -0
  164. package/src/esm/utils/dom/components/ColorGradientPicker.d.ts +245 -0
  165. package/src/esm/utils/dom/components/ColorGradientPicker.js +732 -0
  166. package/src/esm/utils/dom/components/ColorGradientPicker.js.map +1 -0
  167. package/src/esm/utils/dom/components/ColorGradientPickerJSX.d.ts +129 -0
  168. package/src/esm/utils/dom/components/ColorGradientPickerJSX.js +582 -0
  169. package/src/esm/utils/dom/components/ColorGradientPickerJSX.js.map +1 -0
  170. package/src/esm/utils/dom/components/ColorGradientSelector.d.ts +117 -0
  171. package/src/esm/utils/dom/components/ColorGradientSelector.js +332 -0
  172. package/src/esm/utils/dom/components/ColorGradientSelector.js.map +1 -0
  173. package/src/esm/utils/dom/components/Test.d.ts +7 -0
  174. package/src/esm/utils/dom/components/Test.js +26 -0
  175. package/src/esm/utils/dom/components/Test.js.map +1 -0
  176. package/src/esm/utils/dom/guiSizeToggler.js +1 -1
  177. package/src/esm/utils/dom/guiSizeToggler.js.map +1 -1
  178. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +16 -8
  179. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +47 -27
  180. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  181. package/src/esm/utils/helpers/CircleHelper.d.ts +10 -1
  182. package/src/esm/utils/helpers/CircleHelper.js +13 -2
  183. package/src/esm/utils/helpers/CircleHelper.js.map +1 -1
  184. package/src/esm/utils/helpers/CircleSectorHelper.d.ts +11 -2
  185. package/src/esm/utils/helpers/CircleSectorHelper.js +20 -20
  186. package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
  187. package/src/esm/utils/helpers/TriangleHelper.d.ts +57 -0
  188. package/src/esm/utils/helpers/TriangleHelper.js +78 -0
  189. package/src/esm/utils/helpers/TriangleHelper.js.map +1 -0
  190. package/src/esm/utils/helpers/VEllipseHelper.d.ts +32 -0
  191. package/src/esm/utils/helpers/VEllipseHelper.js +83 -0
  192. package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -0
  193. package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +44 -4
  194. package/src/esm/utils/helpers/VEllipseSectorHelper.js +107 -24
  195. package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
  196. package/src/esm/utils/parsers/LinearColorGradientParser.d.ts +78 -0
  197. package/src/esm/utils/parsers/LinearColorGradientParser.js +217 -0
  198. package/src/esm/utils/parsers/LinearColorGradientParser.js.map +1 -0
  199. package/src/external.d.ts +9 -0
  200. package/src/ts/BezierPath.ts +58 -5
  201. package/src/ts/Bounds.ts +110 -6
  202. package/src/ts/Circle.ts +87 -5
  203. package/src/ts/CircleSector.ts +115 -5
  204. package/src/ts/CubicBezierCurve.ts +332 -42
  205. package/src/ts/Line.ts +66 -3
  206. package/src/ts/PlotBoilerplate.ts +236 -114
  207. package/src/ts/Polygon.ts +164 -29
  208. package/src/ts/Triangle.ts +85 -3
  209. package/src/ts/VEllipse.ts +214 -19
  210. package/src/ts/VEllipseSector.ts +154 -8
  211. package/src/ts/Vector.ts +16 -2
  212. package/src/ts/VertTuple.ts +39 -4
  213. package/src/ts/Vertex.ts +40 -4
  214. package/src/ts/interfaces/core.ts +73 -0
  215. package/src/ts/utils/algorithms/convexPolygonIncircle.ts +82 -78
  216. package/src/ts/utils/createRandomizedPolygon.ts +31 -0
  217. package/src/ts/utils/datastructures/Color.ts +423 -44
  218. package/src/ts/utils/datastructures/ColorGradient.ts +196 -0
  219. package/src/ts/utils/dom/components/ColorGradientPicker.tsx +877 -0
  220. package/src/ts/utils/dom/components/ColorGradientSelector.tsx +445 -0
  221. package/src/ts/utils/dom/components/Test.tsx +44 -0
  222. package/src/ts/utils/dom/components/_ColorGradientPicker_raw.ts_ +392 -0
  223. package/src/ts/utils/dom/guiSizeToggler.ts +1 -1
  224. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -35
  225. package/src/ts/utils/helpers/CircleHelper.ts +17 -3
  226. package/src/ts/utils/helpers/CircleSectorHelper.ts +118 -126
  227. package/src/ts/utils/helpers/TriangleHelper.ts +102 -0
  228. package/src/ts/utils/helpers/VEllipseHelper.ts +115 -0
  229. package/src/ts/utils/helpers/VEllipseSectorHelper.ts +144 -26
  230. package/src/ts/utils/parsers/LinearColorGradientParser.ts +297 -0
@@ -23,17 +23,22 @@
23
23
  * @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
24
24
  * @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
25
25
  * @modified 2024-03-10 Fixing some types for Typescript 5 compatibility.
26
- * @version 1.1.3
26
+ * @modified 2025-04-14 Added the `BezierPathInteractionHelper.drawHandleLines` method.
27
+ * @modified 2025-04-14 Fixing correct event types for touch events in `BezierPathInteractionHelper`.
28
+ * @modified 2025-04-14 BezierPathInteractionHelper: Changed default value of `HelperOptions.autoAdjustPaths` from `true` to `false`.
29
+ * @modified 2025-05-05 Added optional params `draw` and `fill` to BezierPathInteractionHelper.drawHandleLines` method.
30
+ * @modified 2025-05-05 Class `BezierPathInteractionHelper` now implementing `IShapeInteractionHelper`.
31
+ * @modified 2025-05-07 Tweaking performance of `BezierPathInteractionHelper`: only triggering redraw now when mouse move within given detect range.
32
+ * @version 1.2.1
27
33
  *
28
34
  * @file BezierPathInteractionHelper
29
35
  * @public
30
36
  **/
31
37
  Object.defineProperty(exports, "__esModule", { value: true });
32
38
  exports.BezierPathInteractionHelper = void 0;
33
- // import { AlloyFinger } from "alloyfinger"; // node_modules
34
39
  // I would like to use AlloyFinger from the node_modules, but it seems
35
40
  // AlloyTeam has forgotten to publish their d.ts file.
36
- var alloy_finger_1 = require("../../../../lib/alloy_finger");
41
+ var alloyfinger_typescript_1 = require("alloyfinger-typescript");
37
42
  var BezierPath_1 = require("../../BezierPath");
38
43
  var KeyHandler_1 = require("../../KeyHandler");
39
44
  var MouseHandler_1 = require("../../MouseHandler");
@@ -79,7 +84,9 @@ var BezierPathInteractionHelper = /** @class */ (function () {
79
84
  this.pb = pb;
80
85
  this.paths = [];
81
86
  this.onPointerMoved =
82
- typeof options.onPointerMoved === "function" ? options.onPointerMoved : function (i, a, b, t) { };
87
+ typeof options.onPointerMoved === "function"
88
+ ? options.onPointerMoved
89
+ : function (i, a, b, t) { };
83
90
  this.onVertexInserted =
84
91
  typeof options.onVertexInserted === "function"
85
92
  ? options.onVertexInserted
@@ -89,7 +96,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
89
96
  ? options.onVerticesDeleted
90
97
  : function (i, r, n, o) { };
91
98
  this.onPathRemoved = typeof options.onPathRemoved === "function" ? options.onPathRemoved : function (i, o) { };
92
- this.autoAdjustPaths = typeof options.autoAdjustPaths === "boolean" ? options.autoAdjustPaths : true;
99
+ this.autoAdjustPaths = typeof options.autoAdjustPaths === "boolean" ? options.autoAdjustPaths : false; // true;
93
100
  this.allowPathRemoval = typeof options.allowPathRemoval === "boolean" ? options.allowPathRemoval : true;
94
101
  this.maxDetectDistance = typeof options.maxDetectDistance === "number" ? options.maxDetectDistance : Number.MAX_VALUE;
95
102
  this.mouseIsOver = false;
@@ -113,8 +120,9 @@ var BezierPathInteractionHelper = /** @class */ (function () {
113
120
  this._touchHandler = this._installTouchListener();
114
121
  this._keyHandler = this._installKeyListener();
115
122
  // Paths might have changed by auto-adjustment.
116
- if (this.autoAdjustPaths)
123
+ if (this.autoAdjustPaths) {
117
124
  pb.redraw();
125
+ }
118
126
  }
119
127
  /**
120
128
  * Manually add a path to this helper.
@@ -183,6 +191,29 @@ var BezierPathInteractionHelper = /** @class */ (function () {
183
191
  // Just re-run the calculation with the recent mouse/touch position
184
192
  this._handleMoveEvent(this.currentB.x, this.currentB.y);
185
193
  };
194
+ /**
195
+ * Draw grey handle lines.
196
+ *
197
+ * @param {DrawLib<any>} draw - (optional) The draw library to use. If not provided then `pb.draw` will be used.
198
+ * @param {DrawLib<any>} fill - (optional) The fill library to use. If not provided then `pb.fill` will be used.
199
+ */
200
+ BezierPathInteractionHelper.prototype.drawHandleLines = function (draw, fill) {
201
+ var _this = this;
202
+ draw = draw || this.pb.draw;
203
+ fill = fill || this.pb.fill;
204
+ this.paths.forEach(function (path) {
205
+ path.bezierCurves.forEach(function (curve) {
206
+ _this.pb.draw.line(curve.startPoint, curve.startControlPoint, "rgba(64,192,128,0.333)", 1.0, {
207
+ dashOffset: 0.0,
208
+ dashArray: [4, 2]
209
+ });
210
+ _this.pb.draw.line(curve.endPoint, curve.endControlPoint, "rgba(64,192,128,0.333)", 1.0, {
211
+ dashOffset: 0.0,
212
+ dashArray: [4, 2]
213
+ });
214
+ });
215
+ });
216
+ };
186
217
  /**
187
218
  * This function should invalidate any installed listeners and invalidate this object.
188
219
  * After calling this function the object might not hold valid data any more and
@@ -323,6 +354,9 @@ var BezierPathInteractionHelper = /** @class */ (function () {
323
354
  // | Touch and mouse events should call this fuction when the pointer was moved.
324
355
  // +-------------------------------
325
356
  BezierPathInteractionHelper.prototype._handleMoveEvent = function (posX, posY) {
357
+ var oldA = this.currentA.clone();
358
+ var oldB = this.currentB.clone();
359
+ var oldDistance = this.currentDistance;
326
360
  var point = this.pb.transformMousePosition(posX, posY);
327
361
  this.currentB.set(point);
328
362
  this._updateMinDistance();
@@ -333,8 +367,12 @@ var BezierPathInteractionHelper = /** @class */ (function () {
333
367
  else {
334
368
  this.onPointerMoved(-1, null, null, 0.0);
335
369
  }
336
- // Always redraw even when moving outside the detection distance?
337
- this.pb.redraw();
370
+ // Only redraw when moving inside the detection distance
371
+ if ((this.currentDistance <= this.maxDetectDistance ||
372
+ (this.currentDistance > this.maxDetectDistance && oldDistance <= this.maxDetectDistance)) &&
373
+ (!oldA.equals(this.currentA) || !oldB.equals(this.currentB))) {
374
+ this.pb.redraw();
375
+ }
338
376
  };
339
377
  // +---------------------------------------------------------------------------------
340
378
  // | This is called when the mouse pointer leaves the canvas or
@@ -350,13 +388,11 @@ var BezierPathInteractionHelper = /** @class */ (function () {
350
388
  BezierPathInteractionHelper.prototype._installTouchListener = function () {
351
389
  var _self = this;
352
390
  var afProps = {
353
- // Todo: which event types does AlloyFinger use?
354
391
  touchStart: function (_event) {
355
392
  _self.mouseIsOver = true;
356
393
  },
357
394
  touchMove: function (event) {
358
395
  if (_self.pb.getDraggedElementCount() == 0 && event.touches.length > 0) {
359
- // console.log('touchmove');
360
396
  _self._handleMoveEvent(event.touches[0].clientX, event.touches[0].clientY);
361
397
  }
362
398
  },
@@ -369,7 +405,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
369
405
  return window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
370
406
  }
371
407
  else {
372
- return new alloy_finger_1.AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
408
+ return new alloyfinger_typescript_1.default(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
373
409
  }
374
410
  };
375
411
  // +---------------------------------------------------------------------------------
@@ -447,8 +483,9 @@ var BezierPathInteractionHelper = /** @class */ (function () {
447
483
  // | Update the min distance from point `line.b` to the curve. And redraw.
448
484
  // +-------------------------------
449
485
  BezierPathInteractionHelper.prototype._updateMinDistance = function () {
450
- if (this.paths.length == 0)
486
+ if (this.paths.length == 0) {
451
487
  return;
488
+ }
452
489
  var pathIndex = -1;
453
490
  var minDist = Number.MAX_VALUE;
454
491
  var closestPoint = null;
@@ -486,22 +523,6 @@ var BezierPathInteractionHelper = /** @class */ (function () {
486
523
  }
487
524
  path.updateArcLengths();
488
525
  };
489
- /**
490
- * A helper function to add drag-start-listener to given vertices.
491
- */
492
- /* private static _addVertsDragStartListener( verts:Array<Vertex>, dragStartListener:VertListener ) : void {
493
- for( var i in verts ) {
494
- verts[i].addDragStartListener( dragStartListener );
495
- }
496
- }; */
497
- /**
498
- * A helper function to remove drag-start-listener to given vertices.
499
- */
500
- /* private static _removeVertsDragStartListener( verts:Array<Vertex>, dragEndListener:VertListener ) : void {
501
- for( var i in verts ) {
502
- verts[i].removeDragStartListener( dragStartListener );
503
- }
504
- }; */
505
526
  /**
506
527
  * A helper function to add drag-start listeners to all vertices of the given path.
507
528
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BezierPathInteractionHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/BezierPathInteractionHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BezierPathInteractionHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/BezierPathInteractionHelper.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,17 @@
10
10
  * @modified 2024-02-26 Removed the constructor param `pb` (unused).
11
11
  * @modified 2024-02-25 Added `circle` and `radiusPoint` attributes.
12
12
  * @modified 2024-03-10 Fixed some issues in the `destroy` method; listeners were not properly removed.
13
+ * @modified 2025-05-05 Class `BezierPathInteractionHelper` now implementing `IShapeInteractionHelper`.
13
14
  * @version 1.2.1
14
15
  **/
15
16
  import { Circle } from "../../Circle";
16
17
  import { Vertex } from "../../Vertex";
18
+ import { IShapeInteractionHelper } from "../../interfaces/core";
19
+ import { DrawLib } from "../../interfaces/DrawLib";
17
20
  /**
18
21
  * @classdesc A helper for handling circles with an additional radius-control-point.
19
22
  */
20
- export declare class CircleHelper {
23
+ export declare class CircleHelper implements IShapeInteractionHelper {
21
24
  circle: Circle;
22
25
  radiusPoint: Vertex;
23
26
  private centerHandler;
@@ -32,6 +35,12 @@ export declare class CircleHelper {
32
35
  * @param {PlotBoilerplate} pb - The PlotBoilerplate which contains the circle and point.
33
36
  **/
34
37
  constructor(circle: Circle, radiusPoint: Vertex);
38
+ /**
39
+ * Let this shape helper draw it's handle lines. It's up to the helper what they look like.
40
+ * @param {DrawLib<any>} draw - The draw library to use.
41
+ * @param {DrawLib<any>} fill - The fill library to use.
42
+ */
43
+ drawHandleLines(_draw: DrawLib<any>, _fill: DrawLib<any>): void;
35
44
  /**
36
45
  * Destroy this circle helper.
37
46
  * The listeners will be removed from the circle points.
@@ -11,6 +11,7 @@
11
11
  * @modified 2024-02-26 Removed the constructor param `pb` (unused).
12
12
  * @modified 2024-02-25 Added `circle` and `radiusPoint` attributes.
13
13
  * @modified 2024-03-10 Fixed some issues in the `destroy` method; listeners were not properly removed.
14
+ * @modified 2025-05-05 Class `BezierPathInteractionHelper` now implementing `IShapeInteractionHelper`.
14
15
  * @version 1.2.1
15
16
  **/
16
17
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -31,9 +32,18 @@ var CircleHelper = /** @class */ (function () {
31
32
  function CircleHelper(circle, radiusPoint) {
32
33
  this.circle = circle;
33
34
  this.radiusPoint = radiusPoint;
34
- circle.center.listeners.addDragListener(this.centerHandler = this._handleDragCenter());
35
- radiusPoint.listeners.addDragListener(this.radiusHandler = this._handleDragRadiusPoint());
35
+ circle.center.listeners.addDragListener((this.centerHandler = this._handleDragCenter()));
36
+ radiusPoint.listeners.addDragListener((this.radiusHandler = this._handleDragRadiusPoint()));
36
37
  }
38
+ //--- BEGIN --- Implement ISHapeInteractionHelper ---
39
+ /**
40
+ * Let this shape helper draw it's handle lines. It's up to the helper what they look like.
41
+ * @param {DrawLib<any>} draw - The draw library to use.
42
+ * @param {DrawLib<any>} fill - The fill library to use.
43
+ */
44
+ CircleHelper.prototype.drawHandleLines = function (_draw, _fill) {
45
+ // NOOP
46
+ };
37
47
  /**
38
48
  * Destroy this circle helper.
39
49
  * The listeners will be removed from the circle points.
@@ -46,6 +56,7 @@ var CircleHelper = /** @class */ (function () {
46
56
  this.circle.center.listeners.removeDragListener(this.centerHandler);
47
57
  this.radiusPoint.listeners.removeDragListener(this.radiusHandler);
48
58
  };
59
+ //--- END --- Implement ISHapeInteractionHelper ---
49
60
  /**
50
61
  * Creates a new drag handler for the circle's center point.
51
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CircleHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/CircleHelper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;IAaI;;;AAMJ;;GAEG;AACH;IAOE;;;;;;;;QAQI;IACJ,sBAAY,MAAc,EAAE,WAAmB;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACxF,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;OAOG;IACH,8BAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACK,wCAAiB,GAAzB;QACE,IAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,UAAC,GAAc;YACpB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,6CAAsB,GAA9B;QACE,IAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,UAAC,IAAe;YACrB,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AApED,IAoEC;AApEY,oCAAY"}
1
+ {"version":3,"file":"CircleHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/CircleHelper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;IAcI;;;AAQJ;;GAEG;AACH;IAOE;;;;;;;;QAQI;IACJ,sBAAY,MAAc,EAAE,WAAmB;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACzF,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,qDAAqD;IACrD;;;;OAIG;IACH,sCAAe,GAAf,UAAgB,KAAmB,EAAE,KAAmB;QACtD,OAAO;IACT,CAAC;IAED;;;;;;;OAOG;IACH,8BAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IACD,mDAAmD;IAEnD;;;;;;;;OAQG;IACK,wCAAiB,GAAzB;QACE,IAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,UAAC,GAAc;YACpB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,6CAAsB,GAA9B;QACE,IAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,UAAC,IAAe;YACrB,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AA/ED,IA+EC;AA/EY,oCAAY"}
@@ -13,15 +13,17 @@
13
13
  * @date 2021-01-22
14
14
  * @modified 2021-01-26 Moving control points with center points
15
15
  * @modified 2024-03-10 Adding the `destory` method for properly removing installed listeners.
16
- * @version 1.1.0
16
+ * @modified 2025-04-02 Adding `CircleSectorHelper.drawHandleLines()`,
17
+ * @version 1.2.0
17
18
  **/
18
19
  import { CircleSector } from "../../CircleSector";
19
20
  import { PlotBoilerplate } from "../../PlotBoilerplate";
20
21
  import { Vertex } from "../../Vertex";
22
+ import { DrawLib, IShapeInteractionHelper } from "../../interfaces";
21
23
  /**
22
24
  * @classdesc A helper for handling circles with an additional radius-control-point.
23
25
  */
24
- export declare class CircleSectorHelper {
26
+ export declare class CircleSectorHelper implements IShapeInteractionHelper {
25
27
  private circleSector;
26
28
  private controlPointStart;
27
29
  private controlPointEnd;
@@ -69,6 +71,13 @@ export declare class CircleSectorHelper {
69
71
  * @returns A new event handler.
70
72
  */
71
73
  private _handleDragEndControlPoint;
74
+ /**
75
+ * Draw grey handle lines.
76
+ *
77
+ * @param {DrawLib<any>} draw - The draw library instance to use.
78
+ * @param {DrawLib<any>} fill - The fill library instance to use.
79
+ */
80
+ drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>): void;
72
81
  /**
73
82
  * Destroy this circle helper.
74
83
  * The listeners will be removed from the circle sector's points.
@@ -24,23 +24,9 @@ var CircleSectorHelper = /** @class */ (function () {
24
24
  this.circleSector = circleSector;
25
25
  this.controlPointStart = controlPointStart;
26
26
  this.controlPointEnd = controlPointEnd;
27
- this.circleSector.circle.center.listeners.addDragListener(this.centerListener = this._handleDragCenter());
28
- this.controlPointStart.listeners.addDragListener(this.radiusStartListener = this._handleDragStartControlPoint());
29
- this.controlPointEnd.listeners.addDragListener(this.radiusEndListener = this._handleDragEndControlPoint());
30
- // circleSector.circle.center.listeners.addDragListener( (e:VertEvent) => {
31
- // controlPointStart.add( e.params.dragAmount );
32
- // controlPointEnd.add( e.params.dragAmount );
33
- // } );
34
- // controlPointStart.listeners.addDragListener( (e:VertEvent) => {
35
- // circleSector.circle.radius = circleSector.circle.center.distance(controlPointStart);
36
- // controlPointEnd.set( circleSector.circle.vertAt(circleSector.endAngle) );
37
- // circleSector.startAngle = circleSector.circle.center.angle( controlPointStart );
38
- // } );
39
- // controlPointEnd.listeners.addDragListener( (e:VertEvent) => {
40
- // circleSector.circle.radius = circleSector.circle.center.distance(controlPointEnd);
41
- // controlPointStart.set( circleSector.circle.vertAt(circleSector.startAngle) );
42
- // circleSector.endAngle = circleSector.circle.center.angle( controlPointEnd );
43
- // } );
27
+ this.circleSector.circle.center.listeners.addDragListener((this.centerListener = this._handleDragCenter()));
28
+ this.controlPointStart.listeners.addDragListener((this.radiusStartListener = this._handleDragStartControlPoint()));
29
+ this.controlPointEnd.listeners.addDragListener((this.radiusEndListener = this._handleDragEndControlPoint()));
44
30
  }
45
31
  /**
46
32
  * Creates a new drag handler for the circle sector's center point.
@@ -75,7 +61,6 @@ var CircleSectorHelper = /** @class */ (function () {
75
61
  _self.circleSector.startAngle = _self.circleSector.circle.center.angle(_self.controlPointStart);
76
62
  };
77
63
  };
78
- ;
79
64
  /**
80
65
  * Creates a new drag handler for the circle sector's end control point.
81
66
  *
@@ -93,7 +78,23 @@ var CircleSectorHelper = /** @class */ (function () {
93
78
  _self.circleSector.endAngle = _self.circleSector.circle.center.angle(_self.controlPointEnd);
94
79
  };
95
80
  };
96
- ;
81
+ //--- BEGIN --- Implement IShapeInteractionHelper ---
82
+ /**
83
+ * Draw grey handle lines.
84
+ *
85
+ * @param {DrawLib<any>} draw - The draw library instance to use.
86
+ * @param {DrawLib<any>} fill - The fill library instance to use.
87
+ */
88
+ CircleSectorHelper.prototype.drawHandleLines = function (draw, fill) {
89
+ draw.line(this.circleSector.circle.center, this.controlPointStart, "rgba(64,192,128,0.333)", 1.0, {
90
+ dashOffset: 0.0,
91
+ dashArray: [4, 2]
92
+ });
93
+ draw.line(this.circleSector.circle.center, this.controlPointEnd, "rgba(64,192,128,0.333)", 1.0, {
94
+ dashOffset: 0.0,
95
+ dashArray: [4, 2]
96
+ });
97
+ };
97
98
  /**
98
99
  * Destroy this circle helper.
99
100
  * The listeners will be removed from the circle sector's points.
@@ -110,5 +111,4 @@ var CircleSectorHelper = /** @class */ (function () {
110
111
  return CircleSectorHelper;
111
112
  }());
112
113
  exports.CircleSectorHelper = CircleSectorHelper;
113
- ;
114
114
  //# sourceMappingURL=CircleSectorHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CircleSectorHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/CircleSectorHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CircleSectorHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/CircleSectorHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Easily handle triangles with this triangle interaction helper: always keep your
3
+ * triangles equilateral.
4
+ *
5
+ * @author Ikaros Kappler
6
+ * @date 2025-05-05
7
+ * @version 1.0.0
8
+ **/
9
+ import { Vertex } from "../../Vertex";
10
+ import { IShapeInteractionHelper } from "../../interfaces/core";
11
+ import { DrawLib } from "../../interfaces/DrawLib";
12
+ import { Triangle } from "../../Triangle";
13
+ /**
14
+ * @classdesc A helper for handling circles with an additional radius-control-point.
15
+ */
16
+ export declare class TriangleHelper implements IShapeInteractionHelper {
17
+ triangle: Triangle;
18
+ radiusPoint: Vertex;
19
+ private handlerA;
20
+ private handlerB;
21
+ private handlerC;
22
+ /**
23
+ * The constructor.
24
+ *
25
+ * @constructor
26
+ * @name TriangleHelper
27
+ * @param {Triangle} triangle - The triangle to handle.
28
+ * @param {Vertex} radiusPoint - A point to define the radius (distance from center).
29
+ * @param {PlotBoilerplate} pb - The PlotBoilerplate which contains the circle and point.
30
+ **/
31
+ constructor(triangle: Triangle, setInitiallyEquilateral?: boolean);
32
+ /**
33
+ * Let this shape helper draw it's handle lines. It's up to the helper what they look like.
34
+ * @param {DrawLib<any>} draw - The draw library to use.
35
+ * @param {DrawLib<any>} fill - The fill library to use.
36
+ */
37
+ drawHandleLines(_draw: DrawLib<any>, _fill: DrawLib<any>): void;
38
+ /**
39
+ * Destroy this circle helper.
40
+ * The listeners will be removed from the circle points.
41
+ *
42
+ * @method destroy
43
+ * @instance
44
+ * @memberof TriangleHelper
45
+ */
46
+ destroy(): void;
47
+ /**
48
+ * Creates a new drag handler for the circle's radius control point.
49
+ *
50
+ * @private
51
+ * @method _handleDragCenter
52
+ * @instance
53
+ * @memberof TriangleHelper
54
+ * @returns A new event handler.
55
+ */
56
+ private _handleTrianglePoint;
57
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /**
3
+ * Easily handle triangles with this triangle interaction helper: always keep your
4
+ * triangles equilateral.
5
+ *
6
+ * @author Ikaros Kappler
7
+ * @date 2025-05-05
8
+ * @version 1.0.0
9
+ **/
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.TriangleHelper = void 0;
12
+ var Vector_1 = require("../../Vector");
13
+ /**
14
+ * @classdesc A helper for handling circles with an additional radius-control-point.
15
+ */
16
+ var TriangleHelper = /** @class */ (function () {
17
+ /**
18
+ * The constructor.
19
+ *
20
+ * @constructor
21
+ * @name TriangleHelper
22
+ * @param {Triangle} triangle - The triangle to handle.
23
+ * @param {Vertex} radiusPoint - A point to define the radius (distance from center).
24
+ * @param {PlotBoilerplate} pb - The PlotBoilerplate which contains the circle and point.
25
+ **/
26
+ function TriangleHelper(triangle, setInitiallyEquilateral) {
27
+ this.triangle = triangle;
28
+ triangle.a.listeners.addDragListener((this.handlerA = this._handleTrianglePoint(this.triangle.a, this.triangle.b, this.triangle.c)));
29
+ triangle.b.listeners.addDragListener((this.handlerB = this._handleTrianglePoint(this.triangle.b, this.triangle.c, this.triangle.a)));
30
+ triangle.c.listeners.addDragListener((this.handlerC = this._handleTrianglePoint(this.triangle.c, this.triangle.a, this.triangle.b)));
31
+ // Trigger to set equilateral
32
+ if (setInitiallyEquilateral) {
33
+ this.handlerC(null); // We know by construction that _here_ the param is optional!
34
+ }
35
+ }
36
+ //--- BEGIN --- Implement ISHapeInteractionHelper ---
37
+ /**
38
+ * Let this shape helper draw it's handle lines. It's up to the helper what they look like.
39
+ * @param {DrawLib<any>} draw - The draw library to use.
40
+ * @param {DrawLib<any>} fill - The fill library to use.
41
+ */
42
+ TriangleHelper.prototype.drawHandleLines = function (_draw, _fill) {
43
+ // NOOP
44
+ };
45
+ /**
46
+ * Destroy this circle helper.
47
+ * The listeners will be removed from the circle points.
48
+ *
49
+ * @method destroy
50
+ * @instance
51
+ * @memberof TriangleHelper
52
+ */
53
+ TriangleHelper.prototype.destroy = function () {
54
+ this.triangle.a.listeners.removeDragListener(this.handlerA);
55
+ this.triangle.b.listeners.removeDragListener(this.handlerB);
56
+ this.triangle.c.listeners.removeDragListener(this.handlerC);
57
+ };
58
+ //--- END --- Implement ISHapeInteractionHelper ---
59
+ /**
60
+ * Creates a new drag handler for the circle's radius control point.
61
+ *
62
+ * @private
63
+ * @method _handleDragCenter
64
+ * @instance
65
+ * @memberof TriangleHelper
66
+ * @returns A new event handler.
67
+ */
68
+ TriangleHelper.prototype._handleTrianglePoint = function (vertex1, vertex2, vertex3) {
69
+ var _self = this;
70
+ return function (_evt) {
71
+ // _self.circle.radius = _self.circle.center.distance(_self.radiusPoint);
72
+ // Calculate new side length: set equialateral
73
+ var vec = new Vector_1.Vector(vertex1, vertex2);
74
+ var mid = vec.vertAt(0.5);
75
+ var perp = vec.perp().add(mid).sub(vec.a);
76
+ perp.setLength((vec.length() * Math.sqrt(3)) / 2); // The height of a equilateral triangle
77
+ vertex3.set(perp.b);
78
+ };
79
+ };
80
+ return TriangleHelper;
81
+ }());
82
+ exports.TriangleHelper = TriangleHelper;
83
+ //# sourceMappingURL=TriangleHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriangleHelper.js","sourceRoot":"","sources":["../../../ts/utils/helpers/TriangleHelper.ts"],"names":[],"mappings":";AAAA;;;;;;;IAOI;;;AAOJ,uCAAsC;AAEtC;;GAEG;AACH;IAQE;;;;;;;;QAQI;IACJ,wBAAY,QAAkB,EAAE,uBAAiC;QAC/D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAClC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;QACF,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAClC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;QACF,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAClC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAC;QAEF,6BAA6B;QAC7B,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAwB,CAAC,CAAC,CAAC,6DAA6D;QACxG,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD;;;;OAIG;IACH,wCAAe,GAAf,UAAgB,KAAmB,EAAE,KAAmB;QACtD,OAAO;IACT,CAAC;IAED;;;;;;;OAOG;IACH,gCAAO,GAAP;QACE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,mDAAmD;IAEnD;;;;;;;;OAQG;IACK,6CAAoB,GAA5B,UAA6B,OAAe,EAAE,OAAe,EAAE,OAAe;QAC5E,IAAM,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,UAAC,IAAe;YACrB,2EAA2E;YAC3E,8CAA8C;YAC9C,IAAM,GAAG,GAAG,IAAI,eAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,IAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uCAAuC;YAC1F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AAlFD,IAkFC;AAlFY,wCAAc"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * A helper for VEllipses.
3
+ *
4
+ * @author Ikaros Kappler
5
+ * @date 2025-03-31
6
+ * @modified 2025-04-02 Adding `VEllipseHelper.drawHandleLines()`.
7
+ * @modified 2025-04-09 Adding `VEllipseHelper.destroy()`.
8
+ * @modified 2025-05-05 Fixed a typo in the `VEllipseHelper.destroy` method (was named `detroy`).
9
+ * @modified 2025-05-05 `VEllipseHelper` is now implementing `IShapeInteractionHelper`.
10
+ * @version 1.0.1
11
+ */
12
+ import { VEllipse } from "../../VEllipse";
13
+ import { Vertex } from "../../Vertex";
14
+ import { DrawLib, IShapeInteractionHelper } from "../../interfaces";
15
+ export declare class VEllipseHelper implements IShapeInteractionHelper {
16
+ private readonly ellipse;
17
+ private readonly rotationControlPoint;
18
+ private _rotationControlLine;
19
+ private _centerPointHandler;
20
+ private _rotationPointHandler;
21
+ constructor(ellipse: VEllipse, rotationControlPoint: Vertex);
22
+ private _handleDragCenterPoint;
23
+ private _handleRotationCenterPoint;
24
+ /**
25
+ * Draw grey handle lines.
26
+ *
27
+ * @param {DrawLib<any>} draw - The draw library instance to use.
28
+ * @param {DrawLib<any>} fill - The fill library instance to use.
29
+ */
30
+ drawHandleLines(draw: DrawLib<any>, fill: DrawLib<any>): void;
31
+ destroy(): void;
32
+ }