plotboilerplate 1.23.2 → 1.24.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 (218) hide show
  1. package/README.md +6 -0
  2. package/dist/index.esm.js +8351 -6928
  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 +1590 -123
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +4 -2
  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 +4 -2
  30. package/src/cjs/PlotBoilerplate.js +9 -12
  31. package/src/cjs/PlotBoilerplate.js.map +1 -1
  32. package/src/cjs/Polygon.d.ts +153 -6
  33. package/src/cjs/Polygon.js +304 -23
  34. package/src/cjs/Polygon.js.map +1 -1
  35. package/src/cjs/Triangle.d.ts +73 -4
  36. package/src/cjs/Triangle.js +94 -2
  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 +39 -10
  48. package/src/cjs/VertTuple.js +49 -11
  49. package/src/cjs/VertTuple.js.map +1 -1
  50. package/src/cjs/Vertex.d.ts +18 -2
  51. package/src/cjs/Vertex.js +22 -2
  52. package/src/cjs/Vertex.js.map +1 -1
  53. package/src/cjs/draw.d.ts +1 -0
  54. package/src/cjs/draw.js +2 -1
  55. package/src/cjs/draw.js.map +1 -1
  56. package/src/cjs/drawutilssvg.js +24 -0
  57. package/src/cjs/drawutilssvg.js.map +1 -1
  58. package/src/cjs/geomutils.d.ts +32 -1
  59. package/src/cjs/geomutils.js +47 -1
  60. package/src/cjs/geomutils.js.map +1 -1
  61. package/src/cjs/interfaces/core.d.ts +39 -0
  62. package/src/cjs/interfaces/core.js +2 -0
  63. package/src/cjs/interfaces/core.js.map +1 -1
  64. package/src/cjs/utils/algorithms/PolygonInset.d.ts +184 -0
  65. package/src/cjs/utils/algorithms/PolygonInset.js +431 -0
  66. package/src/cjs/utils/algorithms/PolygonInset.js.map +1 -0
  67. package/src/cjs/utils/algorithms/clearDuplicateVertices.d.ts +5 -4
  68. package/src/cjs/utils/algorithms/clearDuplicateVertices.js +6 -3
  69. package/src/cjs/utils/algorithms/clearDuplicateVertices.js.map +1 -1
  70. package/src/cjs/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
  71. package/src/cjs/utils/algorithms/convexPolygonIncircle.js +14 -6
  72. package/src/cjs/utils/algorithms/convexPolygonIncircle.js.map +1 -1
  73. package/src/cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +2 -1
  74. package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js +3 -3
  75. package/src/cjs/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
  76. package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +3 -2
  77. package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js +11 -9
  78. package/src/cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
  79. package/src/cjs/utils/createRandomizedPolygon.d.ts +14 -0
  80. package/src/cjs/utils/createRandomizedPolygon.js +32 -0
  81. package/src/cjs/utils/createRandomizedPolygon.js.map +1 -0
  82. package/src/cjs/utils/detectDarkMode.js.map +1 -1
  83. package/src/cjs/utils/dom/guiSizeToggler.d.ts +2 -1
  84. package/src/cjs/utils/dom/guiSizeToggler.js +5 -3
  85. package/src/cjs/utils/dom/guiSizeToggler.js.map +1 -1
  86. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +9 -7
  87. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +37 -23
  88. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  89. package/src/cjs/utils/helpers/CircleSectorHelper.d.ts +10 -1
  90. package/src/cjs/utils/helpers/CircleSectorHelper.js +19 -20
  91. package/src/cjs/utils/helpers/CircleSectorHelper.js.map +1 -1
  92. package/src/cjs/utils/helpers/VEllipseHelper.d.ts +30 -0
  93. package/src/cjs/utils/helpers/VEllipseHelper.js +86 -0
  94. package/src/cjs/utils/helpers/VEllipseHelper.js.map +1 -0
  95. package/src/cjs/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
  96. package/src/cjs/utils/helpers/VEllipseSectorHelper.js +107 -25
  97. package/src/cjs/utils/helpers/VEllipseSectorHelper.js.map +1 -1
  98. package/src/createDemoDrawables.js +3 -1
  99. package/src/esm/BezierPath.d.ts +41 -5
  100. package/src/esm/BezierPath.js +50 -2
  101. package/src/esm/BezierPath.js.map +1 -1
  102. package/src/esm/Bounds.d.ts +67 -3
  103. package/src/esm/Bounds.js +101 -3
  104. package/src/esm/Bounds.js.map +1 -1
  105. package/src/esm/Circle.d.ts +46 -4
  106. package/src/esm/Circle.js +79 -3
  107. package/src/esm/Circle.js.map +1 -1
  108. package/src/esm/CircleSector.d.ts +51 -2
  109. package/src/esm/CircleSector.js +108 -3
  110. package/src/esm/CircleSector.js.map +1 -1
  111. package/src/esm/CubicBezierCurve.d.ts +113 -7
  112. package/src/esm/CubicBezierCurve.js +277 -33
  113. package/src/esm/CubicBezierCurve.js.map +1 -1
  114. package/src/esm/Line.d.ts +38 -3
  115. package/src/esm/Line.js +62 -1
  116. package/src/esm/Line.js.map +1 -1
  117. package/src/esm/PlotBoilerplate.d.ts +4 -2
  118. package/src/esm/PlotBoilerplate.js +9 -12
  119. package/src/esm/PlotBoilerplate.js.map +1 -1
  120. package/src/esm/Polygon.d.ts +153 -6
  121. package/src/esm/Polygon.js +301 -23
  122. package/src/esm/Polygon.js.map +1 -1
  123. package/src/esm/Triangle.d.ts +73 -4
  124. package/src/esm/Triangle.js +91 -2
  125. package/src/esm/Triangle.js.map +1 -1
  126. package/src/esm/VEllipse.d.ts +62 -3
  127. package/src/esm/VEllipse.js +178 -17
  128. package/src/esm/VEllipse.js.map +1 -1
  129. package/src/esm/VEllipseSector.d.ts +86 -2
  130. package/src/esm/VEllipseSector.js +146 -7
  131. package/src/esm/VEllipseSector.js.map +1 -1
  132. package/src/esm/Vector.d.ts +12 -2
  133. package/src/esm/Vector.js +15 -2
  134. package/src/esm/Vector.js.map +1 -1
  135. package/src/esm/VertTuple.d.ts +39 -10
  136. package/src/esm/VertTuple.js +49 -11
  137. package/src/esm/VertTuple.js.map +1 -1
  138. package/src/esm/Vertex.d.ts +18 -2
  139. package/src/esm/Vertex.js +22 -2
  140. package/src/esm/Vertex.js.map +1 -1
  141. package/src/esm/draw.d.ts +1 -0
  142. package/src/esm/draw.js +2 -1
  143. package/src/esm/draw.js.map +1 -1
  144. package/src/esm/drawutilssvg.js +24 -0
  145. package/src/esm/drawutilssvg.js.map +1 -1
  146. package/src/esm/geomutils.d.ts +32 -1
  147. package/src/esm/geomutils.js +47 -1
  148. package/src/esm/geomutils.js.map +1 -1
  149. package/src/esm/interfaces/core.d.ts +39 -0
  150. package/src/esm/interfaces/core.js +2 -0
  151. package/src/esm/interfaces/core.js.map +1 -1
  152. package/src/esm/utils/algorithms/PolygonInset.d.ts +184 -0
  153. package/src/esm/utils/algorithms/PolygonInset.js +424 -0
  154. package/src/esm/utils/algorithms/PolygonInset.js.map +1 -0
  155. package/src/esm/utils/algorithms/clearDuplicateVertices.d.ts +5 -4
  156. package/src/esm/utils/algorithms/clearDuplicateVertices.js +6 -3
  157. package/src/esm/utils/algorithms/clearDuplicateVertices.js.map +1 -1
  158. package/src/esm/utils/algorithms/convexPolygonIncircle.d.ts +2 -1
  159. package/src/esm/utils/algorithms/convexPolygonIncircle.js +15 -7
  160. package/src/esm/utils/algorithms/convexPolygonIncircle.js.map +1 -1
  161. package/src/esm/utils/algorithms/createRandomizedPolygon.d.ts +14 -0
  162. package/src/esm/utils/algorithms/createRandomizedPolygon.js +28 -0
  163. package/src/esm/utils/algorithms/createRandomizedPolygon.js.map +1 -0
  164. package/src/esm/utils/algorithms/findPolygonSelfIntersections.d.ts +2 -1
  165. package/src/esm/utils/algorithms/findPolygonSelfIntersections.js +3 -3
  166. package/src/esm/utils/algorithms/findPolygonSelfIntersections.js.map +1 -1
  167. package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +3 -2
  168. package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js +11 -9
  169. package/src/esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +1 -1
  170. package/src/esm/utils/createRandomizedPolygon.d.ts +14 -0
  171. package/src/esm/utils/createRandomizedPolygon.js +28 -0
  172. package/src/esm/utils/createRandomizedPolygon.js.map +1 -0
  173. package/src/esm/utils/detectDarkMode.js.map +1 -1
  174. package/src/esm/utils/dom/guiSizeToggler.d.ts +2 -1
  175. package/src/esm/utils/dom/guiSizeToggler.js +4 -2
  176. package/src/esm/utils/dom/guiSizeToggler.js.map +1 -1
  177. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +9 -7
  178. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +35 -22
  179. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  180. package/src/esm/utils/helpers/CircleSectorHelper.d.ts +10 -1
  181. package/src/esm/utils/helpers/CircleSectorHelper.js +19 -20
  182. package/src/esm/utils/helpers/CircleSectorHelper.js.map +1 -1
  183. package/src/esm/utils/helpers/VEllipseHelper.d.ts +30 -0
  184. package/src/esm/utils/helpers/VEllipseHelper.js +81 -0
  185. package/src/esm/utils/helpers/VEllipseHelper.js.map +1 -0
  186. package/src/esm/utils/helpers/VEllipseSectorHelper.d.ts +42 -3
  187. package/src/esm/utils/helpers/VEllipseSectorHelper.js +106 -24
  188. package/src/esm/utils/helpers/VEllipseSectorHelper.js.map +1 -1
  189. package/src/ts/BezierPath.ts +58 -5
  190. package/src/ts/Bounds.ts +110 -6
  191. package/src/ts/Circle.ts +87 -5
  192. package/src/ts/CircleSector.ts +115 -5
  193. package/src/ts/CubicBezierCurve.ts +332 -42
  194. package/src/ts/Line.ts +66 -3
  195. package/src/ts/PlotBoilerplate.ts +10 -12
  196. package/src/ts/Polygon.ts +329 -27
  197. package/src/ts/Triangle.ts +101 -5
  198. package/src/ts/VEllipse.ts +214 -19
  199. package/src/ts/VEllipseSector.ts +154 -8
  200. package/src/ts/Vector.ts +16 -2
  201. package/src/ts/VertTuple.ts +53 -13
  202. package/src/ts/Vertex.ts +24 -3
  203. package/src/ts/draw.ts +2 -1
  204. package/src/ts/drawutilssvg.ts +29 -0
  205. package/src/ts/geomutils.ts +49 -1
  206. package/src/ts/interfaces/core.ts +42 -0
  207. package/src/ts/utils/algorithms/PolygonInset.ts +529 -0
  208. package/src/ts/utils/algorithms/clearDuplicateVertices.ts +11 -8
  209. package/src/ts/utils/algorithms/convexPolygonIncircle.ts +82 -78
  210. package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts +25 -26
  211. package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts +92 -99
  212. package/src/ts/utils/createRandomizedPolygon.ts +31 -0
  213. package/src/ts/utils/detectDarkMode.ts +1 -3
  214. package/src/ts/utils/dom/guiSizeToggler.ts +4 -2
  215. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +45 -29
  216. package/src/ts/utils/helpers/CircleSectorHelper.ts +115 -125
  217. package/src/ts/utils/helpers/VEllipseHelper.ts +113 -0
  218. package/src/ts/utils/helpers/VEllipseSectorHelper.ts +142 -25
@@ -6,6 +6,7 @@
6
6
  * @author Ikaros Kappler
7
7
  * @date 2020-12-04
8
8
  * @modified 2020-12-09 Ported from vanilla JS to Typescript.
9
+ * @modified 2024-11-22 Fixed a type error in line 41.
9
10
  */
10
11
  Object.defineProperty(exports, "__esModule", { value: true });
11
12
  exports.findPolygonSelfIntersections = void 0;
@@ -18,7 +19,7 @@ var Vertex_1 = require("../../Vertex");
18
19
  *
19
20
  * @name findPolygonSelfIntersections
20
21
  * @param {Array<Vertex>} vertices - The vertices that form the polygon.
21
- * @return Array<Vertex>
22
+ * @return {Array<Vertex>}
22
23
  */
23
24
  var findPolygonSelfIntersections = function (vertices) {
24
25
  var pointList = [];
@@ -39,8 +40,7 @@ var findPolygonSelfIntersections = function (vertices) {
39
40
  // The point is undefined if and only if both line are parallel (co-linear).
40
41
  var intersectionPoint = lineA.intersection(lineB);
41
42
  // Check if the intersection point is on both (finite) edges of the polygon.
42
- if (intersectionPoint
43
- && lineA.hasPoint(intersectionPoint) && lineB.hasPoint(intersectionPoint)) {
43
+ if (intersectionPoint && lineA.hasPoint(intersectionPoint) && lineB.hasPoint(intersectionPoint)) {
44
44
  pointList.push(intersectionPoint);
45
45
  }
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"findPolygonSelfIntersections.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/findPolygonSelfIntersections.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,mCAAkC;AAClC,uCAAsC;AAGtC;;;;;;;;GAQG;AACI,IAAM,4BAA4B,GAAG,UAAE,QAAwB;IAClE,IAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAM,KAAK,GAAU,IAAI,WAAI,CAAE,IAAI,eAAM,EAAE,EAAE,IAAI,eAAM,EAAE,CAAE,CAAC;IAC5D,IAAM,KAAK,GAAU,IAAI,WAAI,CAAE,IAAI,eAAM,EAAE,EAAE,IAAI,eAAM,EAAE,CAAE,CAAC;IAC5D,IAAM,CAAC,GAAY,QAAQ,CAAC,MAAM,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAG,CAAC;QACjC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAE,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAE,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAG,CAAC;YAC1B,wDAAwD;YACxD,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAC,CAAC,IAAI,CAAC,CAAC,IAAE,CAAC,IAAE,CAAC,GAAC,CAAC,IAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAE,CAAC,IAAE,CAAC,GAAC,CAAC,IAAE,CAAC,CAAC;gBACzE,SAAS;YACN,KAAK,CAAC,CAAC,CAAC,GAAG,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAE,QAAQ,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAE,CAAC;YAEjC,2DAA2D;YAC3D,4EAA4E;YAC5E,IAAM,iBAAiB,GAAsB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEvE,4EAA4E;YAC5E,IAAI,iBAAiB;mBACrB,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAG,CAAC;gBAC7E,SAAS,CAAC,IAAI,CAAE,iBAAiB,CAAE,CAAC;YACjC,CAAC;QACL,CAAC;IACE,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AA5BW,QAAA,4BAA4B,gCA4BvC"}
1
+ {"version":3,"file":"findPolygonSelfIntersections.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/findPolygonSelfIntersections.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,mCAAkC;AAClC,uCAAsC;AAGtC;;;;;;;;GAQG;AACI,IAAM,4BAA4B,GAAG,UAAC,QAAyB;IACpE,IAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,IAAM,KAAK,GAAS,IAAI,WAAI,CAAC,IAAI,eAAM,EAAE,EAAE,IAAI,eAAM,EAAE,CAAC,CAAC;IACzD,IAAM,KAAK,GAAS,IAAI,WAAI,CAAC,IAAI,eAAM,EAAE,EAAE,IAAI,eAAM,EAAE,CAAC,CAAC;IACzD,IAAM,CAAC,GAAW,QAAQ,CAAC,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,wDAAwD;YACxD,aAAa;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACrG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEnC,2DAA2D;YAC3D,4EAA4E;YAC5E,IAAM,iBAAiB,GAAkB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEnE,4EAA4E;YAC5E,IAAI,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChG,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AA1BW,QAAA,4BAA4B,gCA0BvC"}
@@ -5,7 +5,8 @@
5
5
  * @author Ikaros Kappler
6
6
  * @date 2020-12-04
7
7
  * @modified 2020-12-07 Ported from vanilla JS to typescript.
8
- * @version 1.0.1
8
+ * @modified 2024-11-22 Added the `insideBoundsOnly` param to the `splitPolygonToNonIntersecting` algorithm.
9
+ * @version 1.1.0
9
10
  */
10
11
  import { Vertex } from "../../Vertex";
11
12
  /**
@@ -24,4 +25,4 @@ import { Vertex } from "../../Vertex";
24
25
  * @param {number=10} maxDepth - Number of max recursive steps (default is 10).
25
26
  * @return {Array<Array<Vertex>>} A sequence of non-self-intersecting sub polygons.
26
27
  */
27
- export declare const splitPolygonToNonIntersecting: (vertices: Array<Vertex>, maxDepth?: number) => Array<Array<Vertex>>;
28
+ export declare const splitPolygonToNonIntersecting: (vertices: Array<Vertex>, maxDepth?: number, insideBoundsOnly?: boolean) => Array<Array<Vertex>>;
@@ -6,7 +6,8 @@
6
6
  * @author Ikaros Kappler
7
7
  * @date 2020-12-04
8
8
  * @modified 2020-12-07 Ported from vanilla JS to typescript.
9
- * @version 1.0.1
9
+ * @modified 2024-11-22 Added the `insideBoundsOnly` param to the `splitPolygonToNonIntersecting` algorithm.
10
+ * @version 1.1.0
10
11
  */
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.splitPolygonToNonIntersecting = void 0;
@@ -33,12 +34,12 @@ exports.splitPolygonToNonIntersecting = (function () {
33
34
  * @param {Array<Vertex>} vertices
34
35
  * @param {number=10} maxDepth
35
36
  */
36
- var splitPolygonToNonIntersecting = function (vertices, maxDepth) {
37
+ var splitPolygonToNonIntersecting = function (vertices, maxDepth, insideBoundsOnly) {
37
38
  if (typeof maxDepth === "undefined")
38
39
  maxDepth = 10;
39
- return _splitPolygonToNonIntersecting(vertices, maxDepth);
40
+ return _splitPolygonToNonIntersecting(vertices, maxDepth, insideBoundsOnly);
40
41
  };
41
- var _splitPolygonToNonIntersecting = function (vertices, maxDepth) {
42
+ var _splitPolygonToNonIntersecting = function (vertices, maxDepth, insideBoundsOnly) {
42
43
  if (maxDepth <= 0) {
43
44
  // aborting at max depth
44
45
  return [vertices];
@@ -56,18 +57,19 @@ exports.splitPolygonToNonIntersecting = (function () {
56
57
  for (var b = 0; b < vertices.length; b++) {
57
58
  // Equal edges or neighbour edges intersect by definition.
58
59
  // We ignore them.
59
- if (a == b || a + 1 == b || a == b + 1
60
- || (a == 0 && b + 1 == vertices.length) || (b == 0 && a + 1 == vertices.length))
60
+ if (a == b || a + 1 == b || a == b + 1 || (a == 0 && b + 1 == vertices.length) || (b == 0 && a + 1 == vertices.length))
61
61
  continue;
62
62
  lineB.a.set(vertices[b]);
63
63
  lineB.b.set(vertices[(b + 1) % n]);
64
64
  var intersectionPoint = lineA.intersection(lineB);
65
- if (intersectionPoint && lineA.hasPoint(intersectionPoint) && lineB.hasPoint(intersectionPoint)) {
65
+ if (intersectionPoint &&
66
+ lineA.hasPoint(intersectionPoint, insideBoundsOnly) &&
67
+ lineB.hasPoint(intersectionPoint, insideBoundsOnly)) {
66
68
  // Cut polygon into two here
67
69
  var split = splitPolygonAt(vertices, a, b, intersectionPoint);
68
70
  // Split has 2 elements.
69
- var leftCleaned = _splitPolygonToNonIntersecting(split[0], maxDepth - 1);
70
- var rightCleaned = _splitPolygonToNonIntersecting(split[1], maxDepth - 1);
71
+ var leftCleaned = _splitPolygonToNonIntersecting(split[0], maxDepth - 1, insideBoundsOnly);
72
+ var rightCleaned = _splitPolygonToNonIntersecting(split[1], maxDepth - 1, insideBoundsOnly);
71
73
  return leftCleaned.concat(rightCleaned);
72
74
  }
73
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"splitPolygonToNonIntersecting.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/splitPolygonToNonIntersecting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"splitPolygonToNonIntersecting.js","sourceRoot":"","sources":["../../../ts/utils/algorithms/splitPolygonToNonIntersecting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A helper function to generate randmoized non-intersecting polygons.
3
+ *
4
+ * @author Ikaros Kappler
5
+ * @date 2025-03-23 (ported to Typescript from a helper script from 2024)
6
+ * @version 1.0.0
7
+ */
8
+ import { Bounds } from "../Bounds";
9
+ import { Polygon } from "../Polygon";
10
+ /**
11
+ * @param numVertices
12
+ * @returns
13
+ */
14
+ export declare const createRandomizedPolygon: (numVertices: number, viewport: Bounds, createClockwise?: boolean) => Polygon;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * A helper function to generate randmoized non-intersecting polygons.
4
+ *
5
+ * @author Ikaros Kappler
6
+ * @date 2025-03-23 (ported to Typescript from a helper script from 2024)
7
+ * @version 1.0.0
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createRandomizedPolygon = void 0;
11
+ var Polygon_1 = require("../Polygon");
12
+ var Vertex_1 = require("../Vertex");
13
+ /**
14
+ * @param numVertices
15
+ * @returns
16
+ */
17
+ var createRandomizedPolygon = function (numVertices, viewport, createClockwise) {
18
+ var polygon = new Polygon_1.Polygon();
19
+ for (var i = 0; i < numVertices; i++) {
20
+ var vert = new Vertex_1.Vertex(viewport.getMinDimension() * 0.33, 0.0);
21
+ vert.rotate(((Math.PI * 2) / numVertices) * i);
22
+ vert.addXY(viewport.width * 0.1 * (1.0 - Math.random() * 2), viewport.height * 0.1 * (1.0 - Math.random() * 2));
23
+ polygon.addVertex(vert);
24
+ }
25
+ if (createClockwise && !polygon.isClockwise()) {
26
+ // Reverse
27
+ polygon.vertices = polygon.vertices.reverse();
28
+ }
29
+ return polygon;
30
+ };
31
+ exports.createRandomizedPolygon = createRandomizedPolygon;
32
+ //# sourceMappingURL=createRandomizedPolygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRandomizedPolygon.js","sourceRoot":"","sources":["../../ts/utils/createRandomizedPolygon.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,sCAAqC;AACrC,oCAAmC;AAEnC;;;GAGG;AAEI,IAAM,uBAAuB,GAAG,UAAC,WAAmB,EAAE,QAAgB,EAAE,eAAyB;IACtG,IAAM,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAM,IAAI,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,eAAe,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9C,UAAU;QACV,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAbW,QAAA,uBAAuB,2BAalC"}
@@ -1 +1 @@
1
- {"version":3,"file":"detectDarkMode.js","sourceRoot":"","sources":["../../ts/utils/detectDarkMode.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAII,IAAM,cAAc,GAAG,UAAC,GAA4B;IACzD,oBAAoB;IACpB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACpF,iFAAiF;QACjF,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3F,sBAAsB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6BAA6B;IAC7B,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACpC,IAAM,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;IAC1C,OAAO,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
1
+ {"version":3,"file":"detectDarkMode.js","sourceRoot":"","sources":["../../ts/utils/detectDarkMode.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEI,IAAM,cAAc,GAAG,UAAC,GAA4B;IACzD,oBAAoB;IACpB,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACpF,iFAAiF;QACjF,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3F,sBAAsB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6BAA6B;IAC7B,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IACpC,IAAM,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;IAC1C,OAAO,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
@@ -5,7 +5,8 @@
5
5
  * @date 2021-12-13
6
6
  * @modified 2022-01-10
7
7
  * @modified 2024-06-25 Ported to typescript and moved to utils/dom (was located inside demos before).
8
- * @version 1.1.0
8
+ * @modified 2024-10-02 Added a transition time.
9
+ * @version 1.1.1
9
10
  */
10
11
  import { GUI } from "../../interfaces/externals";
11
12
  interface ITogglerConfig {
@@ -6,7 +6,8 @@
6
6
  * @date 2021-12-13
7
7
  * @modified 2022-01-10
8
8
  * @modified 2024-06-25 Ported to typescript and moved to utils/dom (was located inside demos before).
9
- * @version 1.1.0
9
+ * @modified 2024-10-02 Added a transition time.
10
+ * @version 1.1.1
10
11
  */
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.guiSizeToggler = void 0;
@@ -31,12 +32,13 @@ var applyGuiSize = function (gui, guiDoubleSize, cssProps) {
31
32
  gui.domElement.style["transform"] = transform + "scale(1.0)";
32
33
  }
33
34
  };
34
- var guiSizeToggler /* gst */ = function (gui, config, cssProps) {
35
+ var guiSizeToggler = function (gui, config, cssProps) {
36
+ gui.domElement.style["transition"] = "transform 0.5s";
35
37
  return {
36
38
  update: function () {
37
39
  applyGuiSize(gui, Boolean(config.guiDoubleSize), cssProps);
38
40
  }
39
41
  };
40
42
  };
41
- exports.guiSizeToggler /* gst */ = guiSizeToggler;
43
+ exports.guiSizeToggler = guiSizeToggler;
42
44
  //# sourceMappingURL=guiSizeToggler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guiSizeToggler.js","sourceRoot":"","sources":["../../../ts/utils/dom/guiSizeToggler.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAQH;;;;GAIG;AACH,IAAM,YAAY,GAAG,UAAC,GAAQ,EAAE,aAAsB,EAAE,QAAgC;IACtF,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACvD,CAAC;IAED,IAAM,SAAS,GAAG,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AAEK,IAAM,cAAc,CAAC,SAAS,GAAG,UAAC,GAAQ,EAAE,MAAsB,EAAE,QAAgC;IACzG,OAAO;QACL,MAAM,EAAE;YACN,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,CAAC,SAAS,kBAMnC"}
1
+ {"version":3,"file":"guiSizeToggler.js","sourceRoot":"","sources":["../../../ts/utils/dom/guiSizeToggler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAQH;;;;GAIG;AACH,IAAM,YAAY,GAAG,UAAC,GAAQ,EAAE,aAAsB,EAAE,QAAgC;IACtF,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IACvD,CAAC;IAED,IAAM,SAAS,GAAG,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AAEK,IAAM,cAAc,GAAG,UAAC,GAAQ,EAAE,MAAsB,EAAE,QAAgC;IAC/F,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC;IACtD,OAAO;QACL,MAAM,EAAE;YACN,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB"}
@@ -22,7 +22,10 @@
22
22
  * @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
23
23
  * @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
24
24
  * @modified 2024-03-10 Fixing some types for Typescript 5 compatibility.
25
- * @version 1.1.3
25
+ * @modified 2025-04-14 Added the `BezierPathInteractionHelper.drawHandleLines` method.
26
+ * @modified 2025-04-14 Fixing correct event types for touch events in `BezierPathInteractionHelper`.
27
+ * @modified 2025-04-14 BezierPathInteractionHelper: Changed default value of `HelperOptions.autoAdjustPaths` from `true` to `false`.
28
+ * @version 1.2.0
26
29
  *
27
30
  * @file BezierPathInteractionHelper
28
31
  * @public
@@ -164,6 +167,11 @@ export declare class BezierPathInteractionHelper {
164
167
  * @return {void}
165
168
  **/
166
169
  update(): void;
170
+ /**
171
+ * Draw grey handle lines.
172
+ *
173
+ */
174
+ drawHandleLines(): void;
167
175
  /**
168
176
  * This function should invalidate any installed listeners and invalidate this object.
169
177
  * After calling this function the object might not hold valid data any more and
@@ -188,12 +196,6 @@ export declare class BezierPathInteractionHelper {
188
196
  private _removeDefaultPathListeners;
189
197
  private _updateMinDistance;
190
198
  static setPathAutoAdjust(path: BezierPath): void;
191
- /**
192
- * A helper function to add drag-start-listener to given vertices.
193
- */
194
- /**
195
- * A helper function to remove drag-start-listener to given vertices.
196
- */
197
199
  /**
198
200
  * A helper function to add drag-start listeners to all vertices of the given path.
199
201
  *
@@ -23,17 +23,19 @@
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
+ * @version 1.2.0
27
30
  *
28
31
  * @file BezierPathInteractionHelper
29
32
  * @public
30
33
  **/
31
34
  Object.defineProperty(exports, "__esModule", { value: true });
32
35
  exports.BezierPathInteractionHelper = void 0;
33
- // import { AlloyFinger } from "alloyfinger"; // node_modules
34
36
  // I would like to use AlloyFinger from the node_modules, but it seems
35
37
  // AlloyTeam has forgotten to publish their d.ts file.
36
- var alloy_finger_1 = require("../../../../lib/alloy_finger");
38
+ var alloyfinger_typescript_1 = require("alloyfinger-typescript");
37
39
  var BezierPath_1 = require("../../BezierPath");
38
40
  var KeyHandler_1 = require("../../KeyHandler");
39
41
  var MouseHandler_1 = require("../../MouseHandler");
@@ -79,7 +81,9 @@ var BezierPathInteractionHelper = /** @class */ (function () {
79
81
  this.pb = pb;
80
82
  this.paths = [];
81
83
  this.onPointerMoved =
82
- typeof options.onPointerMoved === "function" ? options.onPointerMoved : function (i, a, b, t) { };
84
+ typeof options.onPointerMoved === "function"
85
+ ? options.onPointerMoved
86
+ : function (i, a, b, t) { };
83
87
  this.onVertexInserted =
84
88
  typeof options.onVertexInserted === "function"
85
89
  ? options.onVertexInserted
@@ -89,7 +93,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
89
93
  ? options.onVerticesDeleted
90
94
  : function (i, r, n, o) { };
91
95
  this.onPathRemoved = typeof options.onPathRemoved === "function" ? options.onPathRemoved : function (i, o) { };
92
- this.autoAdjustPaths = typeof options.autoAdjustPaths === "boolean" ? options.autoAdjustPaths : true;
96
+ this.autoAdjustPaths = typeof options.autoAdjustPaths === "boolean" ? options.autoAdjustPaths : false; // true;
93
97
  this.allowPathRemoval = typeof options.allowPathRemoval === "boolean" ? options.allowPathRemoval : true;
94
98
  this.maxDetectDistance = typeof options.maxDetectDistance === "number" ? options.maxDetectDistance : Number.MAX_VALUE;
95
99
  this.mouseIsOver = false;
@@ -113,8 +117,9 @@ var BezierPathInteractionHelper = /** @class */ (function () {
113
117
  this._touchHandler = this._installTouchListener();
114
118
  this._keyHandler = this._installKeyListener();
115
119
  // Paths might have changed by auto-adjustment.
116
- if (this.autoAdjustPaths)
120
+ if (this.autoAdjustPaths) {
117
121
  pb.redraw();
122
+ }
118
123
  }
119
124
  /**
120
125
  * Manually add a path to this helper.
@@ -183,6 +188,25 @@ var BezierPathInteractionHelper = /** @class */ (function () {
183
188
  // Just re-run the calculation with the recent mouse/touch position
184
189
  this._handleMoveEvent(this.currentB.x, this.currentB.y);
185
190
  };
191
+ /**
192
+ * Draw grey handle lines.
193
+ *
194
+ */
195
+ BezierPathInteractionHelper.prototype.drawHandleLines = function () {
196
+ var _this = this;
197
+ this.paths.forEach(function (path) {
198
+ path.bezierCurves.forEach(function (curve) {
199
+ _this.pb.draw.line(curve.startPoint, curve.startControlPoint, "rgba(64,192,128,0.333)", 1.0, {
200
+ dashOffset: 0.0,
201
+ dashArray: [4, 2]
202
+ });
203
+ _this.pb.draw.line(curve.endPoint, curve.endControlPoint, "rgba(64,192,128,0.333)", 1.0, {
204
+ dashOffset: 0.0,
205
+ dashArray: [4, 2]
206
+ });
207
+ });
208
+ });
209
+ };
186
210
  /**
187
211
  * This function should invalidate any installed listeners and invalidate this object.
188
212
  * After calling this function the object might not hold valid data any more and
@@ -351,16 +375,22 @@ var BezierPathInteractionHelper = /** @class */ (function () {
351
375
  var _self = this;
352
376
  var afProps = {
353
377
  // Todo: which event types does AlloyFinger use?
378
+ // touchStart: function (_event: TouchEvent) {
379
+ // _self.mouseIsOver = true;
380
+ // },
381
+ // /* TouchMoveEvent , AFTouchEvent<"touchStart"> */
354
382
  touchStart: function (_event) {
355
383
  _self.mouseIsOver = true;
356
384
  },
357
385
  touchMove: function (event) {
386
+ // TouchEvent) {
358
387
  if (_self.pb.getDraggedElementCount() == 0 && event.touches.length > 0) {
359
388
  // console.log('touchmove');
360
389
  _self._handleMoveEvent(event.touches[0].clientX, event.touches[0].clientY);
361
390
  }
362
391
  },
363
392
  touchEnd: function (_event) {
393
+ // TouchEvent) {
364
394
  _self.mouseIsOver = false;
365
395
  _self._clearMoveEvent();
366
396
  }
@@ -369,7 +399,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
369
399
  return window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
370
400
  }
371
401
  else {
372
- return new alloy_finger_1.AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
402
+ return new alloyfinger_typescript_1.default(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
373
403
  }
374
404
  };
375
405
  // +---------------------------------------------------------------------------------
@@ -486,22 +516,6 @@ var BezierPathInteractionHelper = /** @class */ (function () {
486
516
  }
487
517
  path.updateArcLengths();
488
518
  };
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
519
  /**
506
520
  * A helper function to add drag-start listeners to all vertices of the given path.
507
521
  *
@@ -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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"}
@@ -13,11 +13,13 @@
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 } from "../../interfaces";
21
23
  /**
22
24
  * @classdesc A helper for handling circles with an additional radius-control-point.
23
25
  */
@@ -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,22 @@ var CircleSectorHelper = /** @class */ (function () {
93
78
  _self.circleSector.endAngle = _self.circleSector.circle.center.angle(_self.controlPointEnd);
94
79
  };
95
80
  };
96
- ;
81
+ /**
82
+ * Draw grey handle lines.
83
+ *
84
+ * @param {DrawLib<any>} draw - The draw library instance to use.
85
+ * @param {DrawLib<any>} fill - The fill library instance to use.
86
+ */
87
+ CircleSectorHelper.prototype.drawHandleLines = function (draw, fill) {
88
+ draw.line(this.circleSector.circle.center, this.controlPointStart, "rgba(64,192,128,0.333)", 1.0, {
89
+ dashOffset: 0.0,
90
+ dashArray: [4, 2]
91
+ });
92
+ draw.line(this.circleSector.circle.center, this.controlPointEnd, "rgba(64,192,128,0.333)", 1.0, {
93
+ dashOffset: 0.0,
94
+ dashArray: [4, 2]
95
+ });
96
+ };
97
97
  /**
98
98
  * Destroy this circle helper.
99
99
  * The listeners will be removed from the circle sector's points.
@@ -110,5 +110,4 @@ var CircleSectorHelper = /** @class */ (function () {
110
110
  return CircleSectorHelper;
111
111
  }());
112
112
  exports.CircleSectorHelper = CircleSectorHelper;
113
- ;
114
113
  //# 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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"}