plotboilerplate 1.28.0 → 1.29.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 (1087) hide show
  1. package/README.md +8 -0
  2. package/dist/index.esm.js +335 -39
  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 +335 -37
  9. package/dist/plotboilerplate.min.js +1 -1
  10. package/package.json +1 -1
  11. package/src/cjs/Circle.d.ts +70 -3
  12. package/src/cjs/Circle.js +159 -4
  13. package/src/cjs/Circle.js.map +1 -1
  14. package/src/cjs/Triangle.d.ts +40 -4
  15. package/src/cjs/Triangle.js +127 -31
  16. package/src/cjs/Triangle.js.map +1 -1
  17. package/src/cjs/VertTuple.d.ts +4 -1
  18. package/src/cjs/VertTuple.js +6 -1
  19. package/src/cjs/VertTuple.js.map +1 -1
  20. package/src/cjs/Vertex.d.ts +25 -2
  21. package/src/cjs/Vertex.js +43 -1
  22. package/src/cjs/Vertex.js.map +1 -1
  23. package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.d.ts +21 -0
  24. package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.js +73 -0
  25. package/src/cjs/utils/algorithms/minimalContainingCircleFromPoints.js.map +1 -0
  26. package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.d.ts +21 -0
  27. package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.js +73 -0
  28. package/src/cjs/utils/algorithms/minimalEnclosingCircleFromPoints.js.map +1 -0
  29. package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.d.ts +21 -0
  30. package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.js +73 -0
  31. package/src/cjs/utils/algorithms/pointsMinimalContainingCircle.js.map +1 -0
  32. package/src/cjs/utils/algorithms/solveApollonius3.d.ts +69 -0
  33. package/src/cjs/utils/algorithms/solveApollonius3.js +118 -0
  34. package/src/cjs/utils/algorithms/solveApollonius3.js.map +1 -0
  35. package/src/esm/Circle.d.ts +70 -3
  36. package/src/esm/Circle.js +159 -4
  37. package/src/esm/Circle.js.map +1 -1
  38. package/src/esm/Triangle.d.ts +40 -4
  39. package/src/esm/Triangle.js +128 -32
  40. package/src/esm/Triangle.js.map +1 -1
  41. package/src/esm/VertTuple.d.ts +4 -1
  42. package/src/esm/VertTuple.js +6 -1
  43. package/src/esm/VertTuple.js.map +1 -1
  44. package/src/esm/Vertex.d.ts +25 -2
  45. package/src/esm/Vertex.js +44 -2
  46. package/src/esm/Vertex.js.map +1 -1
  47. package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.d.ts +21 -0
  48. package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.js +69 -0
  49. package/src/esm/utils/algorithms/minimalContainingCircleFromPoints.js.map +1 -0
  50. package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.d.ts +21 -0
  51. package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.js +69 -0
  52. package/src/esm/utils/algorithms/minimalEnclosingCircleFromPoints.js.map +1 -0
  53. package/src/esm/utils/algorithms/pointsMinimalContainingCircle.d.ts +21 -0
  54. package/src/esm/utils/algorithms/pointsMinimalContainingCircle.js +69 -0
  55. package/src/esm/utils/algorithms/pointsMinimalContainingCircle.js.map +1 -0
  56. package/src/esm/utils/algorithms/solveApollonius3.d.ts +69 -0
  57. package/src/esm/utils/algorithms/solveApollonius3.js +114 -0
  58. package/src/esm/utils/algorithms/solveApollonius3.js.map +1 -0
  59. package/src/index-gl.js +5 -2
  60. package/src/index.js +25 -17
  61. package/src/ts/Circle.ts +178 -5
  62. package/src/ts/Triangle.ts +148 -41
  63. package/src/ts/VertTuple.ts +14 -1
  64. package/src/ts/Vertex.ts +44 -2
  65. package/src/ts/utils/algorithms/minimalEnclosingCircleFromPoints.ts +69 -0
  66. package/src/ts/utils/algorithms/solveApollonius3.ts +132 -0
  67. package/src/_cjs/BezierPath.d.ts +0 -610
  68. package/src/_cjs/BezierPath.js +0 -1127
  69. package/src/_cjs/BezierPath.js.map +0 -1
  70. package/src/_cjs/Bounds.d.ts +0 -252
  71. package/src/_cjs/Bounds.js +0 -320
  72. package/src/_cjs/Bounds.js.map +0 -1
  73. package/src/_cjs/Circle.d.ts +0 -214
  74. package/src/_cjs/Circle.js +0 -339
  75. package/src/_cjs/Circle.js.map +0 -1
  76. package/src/_cjs/CircleSector.d.ts +0 -211
  77. package/src/_cjs/CircleSector.js +0 -364
  78. package/src/_cjs/CircleSector.js.map +0 -1
  79. package/src/_cjs/CubicBezierCurve.d.ts +0 -656
  80. package/src/_cjs/CubicBezierCurve.js +0 -1062
  81. package/src/_cjs/CubicBezierCurve.js.map +0 -1
  82. package/src/_cjs/Grid.d.ts +0 -83
  83. package/src/_cjs/Grid.js +0 -90
  84. package/src/_cjs/Grid.js.map +0 -1
  85. package/src/_cjs/KeyHandler.d.ts +0 -177
  86. package/src/_cjs/KeyHandler.js +0 -435
  87. package/src/_cjs/KeyHandler.js.map +0 -1
  88. package/src/_cjs/Line.d.ts +0 -134
  89. package/src/_cjs/Line.js +0 -220
  90. package/src/_cjs/Line.js.map +0 -1
  91. package/src/_cjs/MouseHandler.d.ts +0 -283
  92. package/src/_cjs/MouseHandler.js +0 -423
  93. package/src/_cjs/MouseHandler.js.map +0 -1
  94. package/src/_cjs/PBImage.d.ts +0 -81
  95. package/src/_cjs/PBImage.js +0 -61
  96. package/src/_cjs/PBImage.js.map +0 -1
  97. package/src/_cjs/PBText.d.ts +0 -118
  98. package/src/_cjs/PBText.js +0 -63
  99. package/src/_cjs/PBText.js.map +0 -1
  100. package/src/_cjs/PlotBoilerplate.d.ts +0 -899
  101. package/src/_cjs/PlotBoilerplate.js +0 -2348
  102. package/src/_cjs/PlotBoilerplate.js.map +0 -1
  103. package/src/_cjs/Polygon.d.ts +0 -520
  104. package/src/_cjs/Polygon.js +0 -933
  105. package/src/_cjs/Polygon.js.map +0 -1
  106. package/src/_cjs/SVGBuilder.d.ts +0 -47
  107. package/src/_cjs/SVGBuilder.js +0 -100
  108. package/src/_cjs/SVGBuilder.js.map +0 -1
  109. package/src/_cjs/Triangle.d.ts +0 -392
  110. package/src/_cjs/Triangle.js +0 -497
  111. package/src/_cjs/Triangle.js.map +0 -1
  112. package/src/_cjs/UIDGenerator.d.ts +0 -12
  113. package/src/_cjs/UIDGenerator.js +0 -21
  114. package/src/_cjs/UIDGenerator.js.map +0 -1
  115. package/src/_cjs/VEllipse.d.ts +0 -319
  116. package/src/_cjs/VEllipse.js +0 -578
  117. package/src/_cjs/VEllipse.js.map +0 -1
  118. package/src/_cjs/VEllipseSector.d.ts +0 -230
  119. package/src/_cjs/VEllipseSector.js +0 -428
  120. package/src/_cjs/VEllipseSector.js.map +0 -1
  121. package/src/_cjs/Vector.d.ts +0 -126
  122. package/src/_cjs/Vector.js +0 -199
  123. package/src/_cjs/Vector.js.map +0 -1
  124. package/src/_cjs/VertTuple.d.ts +0 -284
  125. package/src/_cjs/VertTuple.js +0 -348
  126. package/src/_cjs/VertTuple.js.map +0 -1
  127. package/src/_cjs/Vertex.d.ts +0 -498
  128. package/src/_cjs/Vertex.js +0 -703
  129. package/src/_cjs/Vertex.js.map +0 -1
  130. package/src/_cjs/VertexAttr.d.ts +0 -72
  131. package/src/_cjs/VertexAttr.js +0 -59
  132. package/src/_cjs/VertexAttr.js.map +0 -1
  133. package/src/_cjs/VertexListeners.d.ts +0 -208
  134. package/src/_cjs/VertexListeners.js +0 -267
  135. package/src/_cjs/VertexListeners.js.map +0 -1
  136. package/src/_cjs/draw.d.ts +0 -657
  137. package/src/_cjs/draw.js +0 -1164
  138. package/src/_cjs/draw.js.map +0 -1
  139. package/src/_cjs/drawgl.d.ts +0 -544
  140. package/src/_cjs/drawgl.js +0 -794
  141. package/src/_cjs/drawgl.js.map +0 -1
  142. package/src/_cjs/drawutilssvg.d.ts +0 -954
  143. package/src/_cjs/drawutilssvg.js +0 -1713
  144. package/src/_cjs/drawutilssvg.js.map +0 -1
  145. package/src/_cjs/entry-glsupport.js +0 -28
  146. package/src/_cjs/entry.js +0 -29
  147. package/src/_cjs/geomutils.d.ts +0 -77
  148. package/src/_cjs/geomutils.js +0 -126
  149. package/src/_cjs/geomutils.js.map +0 -1
  150. package/src/_cjs/index.d.ts +0 -102
  151. package/src/_cjs/index.js +0 -128
  152. package/src/_cjs/index.js.map +0 -1
  153. package/src/_cjs/interfaces/DrawLib.d.ts +0 -582
  154. package/src/_cjs/interfaces/DrawLib.js +0 -32
  155. package/src/_cjs/interfaces/DrawLib.js.map +0 -1
  156. package/src/_cjs/interfaces/additionals.d.ts +0 -95
  157. package/src/_cjs/interfaces/additionals.js +0 -3
  158. package/src/_cjs/interfaces/additionals.js.map +0 -1
  159. package/src/_cjs/interfaces/core.d.ts +0 -286
  160. package/src/_cjs/interfaces/core.js +0 -30
  161. package/src/_cjs/interfaces/core.js.map +0 -1
  162. package/src/_cjs/interfaces/externals.d.ts +0 -56
  163. package/src/_cjs/interfaces/externals.js +0 -8
  164. package/src/_cjs/interfaces/externals.js.map +0 -1
  165. package/src/_cjs/interfaces/index.d.ts +0 -4
  166. package/src/_cjs/interfaces/index.js +0 -21
  167. package/src/_cjs/interfaces/index.js.map +0 -1
  168. package/src/_cjs/module.d.ts +0 -26
  169. package/src/_cjs/module.js +0 -60
  170. package/src/_cjs/module.js.map +0 -1
  171. package/src/_cjs/utils/InitializationObserver.d.ts +0 -18
  172. package/src/_cjs/utils/InitializationObserver.js +0 -63
  173. package/src/_cjs/utils/InitializationObserver.js.map +0 -1
  174. package/src/_cjs/utils/LissajousFigure.d.ts +0 -34
  175. package/src/_cjs/utils/LissajousFigure.js +0 -100
  176. package/src/_cjs/utils/LissajousFigure.js.map +0 -1
  177. package/src/_cjs/utils/NGons.d.ts +0 -13
  178. package/src/_cjs/utils/NGons.js +0 -36
  179. package/src/_cjs/utils/NGons.js.map +0 -1
  180. package/src/_cjs/utils/Params.d.ts +0 -17
  181. package/src/_cjs/utils/Params.js +0 -53
  182. package/src/_cjs/utils/Params.js.map +0 -1
  183. package/src/_cjs/utils/PerlinNoise.d.ts +0 -19
  184. package/src/_cjs/utils/PerlinNoise.js +0 -352
  185. package/src/_cjs/utils/PerlinNoise.js.map +0 -1
  186. package/src/_cjs/utils/SVGPathUtils.d.ts +0 -22
  187. package/src/_cjs/utils/SVGPathUtils.js +0 -45
  188. package/src/_cjs/utils/SVGPathUtils.js.map +0 -1
  189. package/src/_cjs/utils/WebColors.d.ts +0 -35
  190. package/src/_cjs/utils/WebColors.js +0 -58
  191. package/src/_cjs/utils/WebColors.js.map +0 -1
  192. package/src/_cjs/utils/WebColorsContrast.d.ts +0 -6
  193. package/src/_cjs/utils/WebColorsContrast.js +0 -12
  194. package/src/_cjs/utils/WebColorsContrast.js.map +0 -1
  195. package/src/_cjs/utils/WebColorsMalachite.d.ts +0 -12
  196. package/src/_cjs/utils/WebColorsMalachite.js +0 -28
  197. package/src/_cjs/utils/WebColorsMalachite.js.map +0 -1
  198. package/src/_cjs/utils/_gup.js_ +0 -13
  199. package/src/_cjs/utils/algorithms/CatmullRomPath.d.ts +0 -60
  200. package/src/_cjs/utils/algorithms/CatmullRomPath.js +0 -108
  201. package/src/_cjs/utils/algorithms/CatmullRomPath.js.map +0 -1
  202. package/src/_cjs/utils/algorithms/CircleIntersections.d.ts +0 -170
  203. package/src/_cjs/utils/algorithms/CircleIntersections.js +0 -310
  204. package/src/_cjs/utils/algorithms/CircleIntersections.js.map +0 -1
  205. package/src/_cjs/utils/algorithms/ContourLineDetection.d.ts +0 -150
  206. package/src/_cjs/utils/algorithms/ContourLineDetection.js +0 -367
  207. package/src/_cjs/utils/algorithms/ContourLineDetection.js.map +0 -1
  208. package/src/_cjs/utils/algorithms/CubicSplinePath.d.ts +0 -63
  209. package/src/_cjs/utils/algorithms/CubicSplinePath.js +0 -175
  210. package/src/_cjs/utils/algorithms/CubicSplinePath.js.map +0 -1
  211. package/src/_cjs/utils/algorithms/HobbyPath.d.ts +0 -81
  212. package/src/_cjs/utils/algorithms/HobbyPath.js +0 -278
  213. package/src/_cjs/utils/algorithms/HobbyPath.js.map +0 -1
  214. package/src/_cjs/utils/algorithms/Metaballs.d.ts +0 -30
  215. package/src/_cjs/utils/algorithms/Metaballs.js +0 -114
  216. package/src/_cjs/utils/algorithms/Metaballs.js.map +0 -1
  217. package/src/_cjs/utils/algorithms/PolygonInset.d.ts +0 -184
  218. package/src/_cjs/utils/algorithms/PolygonInset.js +0 -431
  219. package/src/_cjs/utils/algorithms/PolygonInset.js.map +0 -1
  220. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  221. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js +0 -269
  222. package/src/_cjs/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  223. package/src/_cjs/utils/algorithms/arrayFill.d.ts +0 -8
  224. package/src/_cjs/utils/algorithms/arrayFill.js +0 -18
  225. package/src/_cjs/utils/algorithms/arrayFill.js.map +0 -1
  226. package/src/_cjs/utils/algorithms/arrayResize.d.ts +0 -8
  227. package/src/_cjs/utils/algorithms/arrayResize.js +0 -24
  228. package/src/_cjs/utils/algorithms/arrayResize.js.map +0 -1
  229. package/src/_cjs/utils/algorithms/arrayShuffle.d.ts +0 -8
  230. package/src/_cjs/utils/algorithms/arrayShuffle.js +0 -15
  231. package/src/_cjs/utils/algorithms/arrayShuffle.js.map +0 -1
  232. package/src/_cjs/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  233. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js +0 -51
  234. package/src/_cjs/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  235. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  236. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js +0 -61
  237. package/src/_cjs/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  238. package/src/_cjs/utils/algorithms/convexHull.d.ts +0 -23
  239. package/src/_cjs/utils/algorithms/convexHull.js +0 -71
  240. package/src/_cjs/utils/algorithms/convexHull.js.map +0 -1
  241. package/src/_cjs/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  242. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js +0 -145
  243. package/src/_cjs/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  244. package/src/_cjs/utils/algorithms/delaunay.d.ts +0 -30
  245. package/src/_cjs/utils/algorithms/delaunay.js +0 -158
  246. package/src/_cjs/utils/algorithms/delaunay.js.map +0 -1
  247. package/src/_cjs/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  248. package/src/_cjs/utils/algorithms/delaunay2voronoi.js +0 -104
  249. package/src/_cjs/utils/algorithms/delaunay2voronoi.js.map +0 -1
  250. package/src/_cjs/utils/algorithms/detectPaths.d.ts +0 -21
  251. package/src/_cjs/utils/algorithms/detectPaths.js +0 -169
  252. package/src/_cjs/utils/algorithms/detectPaths.js.map +0 -1
  253. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  254. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js +0 -51
  255. package/src/_cjs/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  256. package/src/_cjs/utils/algorithms/getContrastColor.d.ts +0 -13
  257. package/src/_cjs/utils/algorithms/getContrastColor.js +0 -26
  258. package/src/_cjs/utils/algorithms/getContrastColor.js.map +0 -1
  259. package/src/_cjs/utils/algorithms/matrixFill.d.ts +0 -10
  260. package/src/_cjs/utils/algorithms/matrixFill.js +0 -21
  261. package/src/_cjs/utils/algorithms/matrixFill.js.map +0 -1
  262. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  263. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js +0 -270
  264. package/src/_cjs/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  265. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  266. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js +0 -102
  267. package/src/_cjs/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  268. package/src/_cjs/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  269. package/src/_cjs/utils/algorithms/sutherlandHodgman.js +0 -76
  270. package/src/_cjs/utils/algorithms/sutherlandHodgman.js.map +0 -1
  271. package/src/_cjs/utils/cloneVertexArray.d.ts +0 -13
  272. package/src/_cjs/utils/cloneVertexArray.js +0 -23
  273. package/src/_cjs/utils/cloneVertexArray.js.map +0 -1
  274. package/src/_cjs/utils/createRandomizedPolygon.d.ts +0 -14
  275. package/src/_cjs/utils/createRandomizedPolygon.js +0 -32
  276. package/src/_cjs/utils/createRandomizedPolygon.js.map +0 -1
  277. package/src/_cjs/utils/creategui.js +0 -434
  278. package/src/_cjs/utils/dat.gui.arrowbounce.polyfill.js +0 -128
  279. package/src/_cjs/utils/dat.gui.title.polyfill.js +0 -35
  280. package/src/_cjs/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  281. package/src/_cjs/utils/datastructures/CircularIntervalSet.js +0 -163
  282. package/src/_cjs/utils/datastructures/CircularIntervalSet.js.map +0 -1
  283. package/src/_cjs/utils/datastructures/Color.d.ts +0 -391
  284. package/src/_cjs/utils/datastructures/Color.js +0 -1084
  285. package/src/_cjs/utils/datastructures/Color.js.map +0 -1
  286. package/src/_cjs/utils/datastructures/ColorGradient.d.ts +0 -81
  287. package/src/_cjs/utils/datastructures/ColorGradient.js +0 -176
  288. package/src/_cjs/utils/datastructures/ColorGradient.js.map +0 -1
  289. package/src/_cjs/utils/datastructures/DataGrid2d.d.ts +0 -53
  290. package/src/_cjs/utils/datastructures/DataGrid2d.js +0 -20
  291. package/src/_cjs/utils/datastructures/DataGrid2d.js.map +0 -1
  292. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  293. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js +0 -155
  294. package/src/_cjs/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  295. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  296. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js +0 -84
  297. package/src/_cjs/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  298. package/src/_cjs/utils/datastructures/GenericPath.d.ts +0 -86
  299. package/src/_cjs/utils/datastructures/GenericPath.js +0 -122
  300. package/src/_cjs/utils/datastructures/GenericPath.js.map +0 -1
  301. package/src/_cjs/utils/datastructures/GeometryMesh.d.ts +0 -49
  302. package/src/_cjs/utils/datastructures/GeometryMesh.js +0 -58
  303. package/src/_cjs/utils/datastructures/GeometryMesh.js.map +0 -1
  304. package/src/_cjs/utils/datastructures/Girih.d.ts +0 -181
  305. package/src/_cjs/utils/datastructures/Girih.js +0 -266
  306. package/src/_cjs/utils/datastructures/Girih.js.map +0 -1
  307. package/src/_cjs/utils/datastructures/GirihBowtie.d.ts +0 -37
  308. package/src/_cjs/utils/datastructures/GirihBowtie.js +0 -152
  309. package/src/_cjs/utils/datastructures/GirihBowtie.js.map +0 -1
  310. package/src/_cjs/utils/datastructures/GirihDecagon.d.ts +0 -52
  311. package/src/_cjs/utils/datastructures/GirihDecagon.js +0 -132
  312. package/src/_cjs/utils/datastructures/GirihDecagon.js.map +0 -1
  313. package/src/_cjs/utils/datastructures/GirihHexagon.d.ts +0 -39
  314. package/src/_cjs/utils/datastructures/GirihHexagon.js +0 -200
  315. package/src/_cjs/utils/datastructures/GirihHexagon.js.map +0 -1
  316. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  317. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js +0 -189
  318. package/src/_cjs/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  319. package/src/_cjs/utils/datastructures/GirihPentagon.d.ts +0 -37
  320. package/src/_cjs/utils/datastructures/GirihPentagon.js +0 -109
  321. package/src/_cjs/utils/datastructures/GirihPentagon.js.map +0 -1
  322. package/src/_cjs/utils/datastructures/GirihRhombus.d.ts +0 -38
  323. package/src/_cjs/utils/datastructures/GirihRhombus.js +0 -155
  324. package/src/_cjs/utils/datastructures/GirihRhombus.js.map +0 -1
  325. package/src/_cjs/utils/datastructures/GirihTile.d.ts +0 -283
  326. package/src/_cjs/utils/datastructures/GirihTile.js +0 -308
  327. package/src/_cjs/utils/datastructures/GirihTile.js.map +0 -1
  328. package/src/_cjs/utils/datastructures/Matrix4x4.d.ts +0 -244
  329. package/src/_cjs/utils/datastructures/Matrix4x4.js +0 -262
  330. package/src/_cjs/utils/datastructures/Matrix4x4.js.map +0 -1
  331. package/src/_cjs/utils/datastructures/VoronoiCell.d.ts +0 -122
  332. package/src/_cjs/utils/datastructures/VoronoiCell.js +0 -183
  333. package/src/_cjs/utils/datastructures/VoronoiCell.js.map +0 -1
  334. package/src/_cjs/utils/datastructures/interfaces.d.ts +0 -13
  335. package/src/_cjs/utils/datastructures/interfaces.js +0 -10
  336. package/src/_cjs/utils/datastructures/interfaces.js.map +0 -1
  337. package/src/_cjs/utils/detectDarkMode.d.ts +0 -10
  338. package/src/_cjs/utils/detectDarkMode.js +0 -41
  339. package/src/_cjs/utils/detectDarkMode.js.map +0 -1
  340. package/src/_cjs/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  341. package/src/_cjs/utils/dom/components/ColorGradientPicker.js +0 -667
  342. package/src/_cjs/utils/dom/components/ColorGradientPicker.js.map +0 -1
  343. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.d.ts +0 -129
  344. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js +0 -520
  345. package/src/_cjs/utils/dom/components/ColorGradientPickerJSX.js.map +0 -1
  346. package/src/_cjs/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  347. package/src/_cjs/utils/dom/components/ColorGradientSelector.js +0 -327
  348. package/src/_cjs/utils/dom/components/ColorGradientSelector.js.map +0 -1
  349. package/src/_cjs/utils/dom/components/Test.d.ts +0 -7
  350. package/src/_cjs/utils/dom/components/Test.js +0 -30
  351. package/src/_cjs/utils/dom/components/Test.js.map +0 -1
  352. package/src/_cjs/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  353. package/src/_cjs/utils/dom/getAvailableContainerSpace.js +0 -29
  354. package/src/_cjs/utils/dom/getAvailableContainerSpace.js.map +0 -1
  355. package/src/_cjs/utils/dom/getFProp.d.ts +0 -5
  356. package/src/_cjs/utils/dom/getFProp.js +0 -12
  357. package/src/_cjs/utils/dom/getFProp.js.map +0 -1
  358. package/src/_cjs/utils/dom/guiSizeToggler.d.ts +0 -18
  359. package/src/_cjs/utils/dom/guiSizeToggler.js +0 -44
  360. package/src/_cjs/utils/dom/guiSizeToggler.js.map +0 -1
  361. package/src/_cjs/utils/findInVertexArray.d.ts +0 -19
  362. package/src/_cjs/utils/findInVertexArray.js +0 -29
  363. package/src/_cjs/utils/findInVertexArray.js.map +0 -1
  364. package/src/_cjs/utils/getFProp.d.ts +0 -5
  365. package/src/_cjs/utils/getFProp.js +0 -12
  366. package/src/_cjs/utils/getFProp.js.map +0 -1
  367. package/src/_cjs/utils/gup.d.ts +0 -14
  368. package/src/_cjs/utils/gup.js +0 -31
  369. package/src/_cjs/utils/gup.js.map +0 -1
  370. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  371. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js +0 -655
  372. package/src/_cjs/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  373. package/src/_cjs/utils/helpers/CircleHelper.d.ts +0 -73
  374. package/src/_cjs/utils/helpers/CircleHelper.js +0 -93
  375. package/src/_cjs/utils/helpers/CircleHelper.js.map +0 -1
  376. package/src/_cjs/utils/helpers/CircleSectorHelper.d.ts +0 -90
  377. package/src/_cjs/utils/helpers/CircleSectorHelper.js +0 -114
  378. package/src/_cjs/utils/helpers/CircleSectorHelper.js.map +0 -1
  379. package/src/_cjs/utils/helpers/TriangleHelper.d.ts +0 -57
  380. package/src/_cjs/utils/helpers/TriangleHelper.js +0 -83
  381. package/src/_cjs/utils/helpers/TriangleHelper.js.map +0 -1
  382. package/src/_cjs/utils/helpers/VEllipseHelper.d.ts +0 -32
  383. package/src/_cjs/utils/helpers/VEllipseHelper.js +0 -88
  384. package/src/_cjs/utils/helpers/VEllipseHelper.js.map +0 -1
  385. package/src/_cjs/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  386. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js +0 -135
  387. package/src/_cjs/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  388. package/src/_cjs/utils/io/DndFileHandler.d.ts +0 -63
  389. package/src/_cjs/utils/io/DndFileHandler.js +0 -112
  390. package/src/_cjs/utils/io/DndFileHandler.js.map +0 -1
  391. package/src/_cjs/utils/io/FileDrop.d.ts +0 -110
  392. package/src/_cjs/utils/io/FileDrop.js +0 -177
  393. package/src/_cjs/utils/io/FileDrop.js.map +0 -1
  394. package/src/_cjs/utils/lil.gui.arrowbounce.polyfill.js +0 -133
  395. package/src/_cjs/utils/lil.gui.title.polyfill.js +0 -32
  396. package/src/_cjs/utils/module.js +0 -18
  397. package/src/_cjs/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  398. package/src/_cjs/utils/parsers/LinearColorGradientParser.js +0 -224
  399. package/src/_cjs/utils/parsers/LinearColorGradientParser.js.map +0 -1
  400. package/src/_cjs/utils/parsers/OBJParser.d.ts +0 -24
  401. package/src/_cjs/utils/parsers/OBJParser.js +0 -77
  402. package/src/_cjs/utils/parsers/OBJParser.js.map +0 -1
  403. package/src/_cjs/utils/parsers/STLParser.d.ts +0 -61
  404. package/src/_cjs/utils/parsers/STLParser.js +0 -182
  405. package/src/_cjs/utils/parsers/STLParser.js.map +0 -1
  406. package/src/_cjs/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  407. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js +0 -486
  408. package/src/_cjs/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  409. package/src/_cjs/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  410. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js +0 -53
  411. package/src/_cjs/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  412. package/src/_cjs/utils/parsers/svg/types.d.ts +0 -63
  413. package/src/_cjs/utils/parsers/svg/types.js +0 -17
  414. package/src/_cjs/utils/parsers/svg/types.js.map +0 -1
  415. package/src/_cjs/utils/ts-runner.js +0 -146
  416. package/src/_cjs/utils/tsAsyncScriptLoader.js +0 -74
  417. package/src/_esm/BezierPath.d.ts +0 -610
  418. package/src/_esm/BezierPath.js +0 -1124
  419. package/src/_esm/BezierPath.js.map +0 -1
  420. package/src/_esm/Bounds.d.ts +0 -252
  421. package/src/_esm/Bounds.js +0 -317
  422. package/src/_esm/Bounds.js.map +0 -1
  423. package/src/_esm/Circle.d.ts +0 -214
  424. package/src/_esm/Circle.js +0 -335
  425. package/src/_esm/Circle.js.map +0 -1
  426. package/src/_esm/CircleSector.d.ts +0 -211
  427. package/src/_esm/CircleSector.js +0 -359
  428. package/src/_esm/CircleSector.js.map +0 -1
  429. package/src/_esm/CubicBezierCurve.d.ts +0 -656
  430. package/src/_esm/CubicBezierCurve.js +0 -1057
  431. package/src/_esm/CubicBezierCurve.js.map +0 -1
  432. package/src/_esm/Grid.d.ts +0 -83
  433. package/src/_esm/Grid.js +0 -89
  434. package/src/_esm/Grid.js.map +0 -1
  435. package/src/_esm/KeyHandler.d.ts +0 -177
  436. package/src/_esm/KeyHandler.js +0 -434
  437. package/src/_esm/KeyHandler.js.map +0 -1
  438. package/src/_esm/Line.d.ts +0 -134
  439. package/src/_esm/Line.js +0 -200
  440. package/src/_esm/Line.js.map +0 -1
  441. package/src/_esm/MouseHandler.d.ts +0 -283
  442. package/src/_esm/MouseHandler.js +0 -397
  443. package/src/_esm/MouseHandler.js.map +0 -1
  444. package/src/_esm/PBImage.d.ts +0 -81
  445. package/src/_esm/PBImage.js +0 -60
  446. package/src/_esm/PBImage.js.map +0 -1
  447. package/src/_esm/PBText.d.ts +0 -118
  448. package/src/_esm/PBText.js +0 -62
  449. package/src/_esm/PBText.js.map +0 -1
  450. package/src/_esm/PlotBoilerplate.d.ts +0 -899
  451. package/src/_esm/PlotBoilerplate.js +0 -2347
  452. package/src/_esm/PlotBoilerplate.js.map +0 -1
  453. package/src/_esm/Polygon.d.ts +0 -520
  454. package/src/_esm/Polygon.js +0 -924
  455. package/src/_esm/Polygon.js.map +0 -1
  456. package/src/_esm/SVGBuilder.d.ts +0 -47
  457. package/src/_esm/SVGBuilder.js +0 -95
  458. package/src/_esm/SVGBuilder.js.map +0 -1
  459. package/src/_esm/Triangle.d.ts +0 -392
  460. package/src/_esm/Triangle.js +0 -493
  461. package/src/_esm/Triangle.js.map +0 -1
  462. package/src/_esm/UIDGenerator.d.ts +0 -12
  463. package/src/_esm/UIDGenerator.js +0 -18
  464. package/src/_esm/UIDGenerator.js.map +0 -1
  465. package/src/_esm/VEllipse.d.ts +0 -319
  466. package/src/_esm/VEllipse.js +0 -574
  467. package/src/_esm/VEllipse.js.map +0 -1
  468. package/src/_esm/VEllipseSector.d.ts +0 -230
  469. package/src/_esm/VEllipseSector.js +0 -422
  470. package/src/_esm/VEllipseSector.js.map +0 -1
  471. package/src/_esm/Vector.d.ts +0 -126
  472. package/src/_esm/Vector.js +0 -181
  473. package/src/_esm/Vector.js.map +0 -1
  474. package/src/_esm/VertTuple.d.ts +0 -284
  475. package/src/_esm/VertTuple.js +0 -347
  476. package/src/_esm/VertTuple.js.map +0 -1
  477. package/src/_esm/Vertex.d.ts +0 -498
  478. package/src/_esm/Vertex.js +0 -702
  479. package/src/_esm/Vertex.js.map +0 -1
  480. package/src/_esm/VertexAttr.d.ts +0 -72
  481. package/src/_esm/VertexAttr.js +0 -58
  482. package/src/_esm/VertexAttr.js.map +0 -1
  483. package/src/_esm/VertexListeners.d.ts +0 -209
  484. package/src/_esm/VertexListeners.js +0 -270
  485. package/src/_esm/VertexListeners.js.map +0 -1
  486. package/src/_esm/draw.d.ts +0 -657
  487. package/src/_esm/draw.js +0 -1159
  488. package/src/_esm/draw.js.map +0 -1
  489. package/src/_esm/drawgl.d.ts +0 -544
  490. package/src/_esm/drawgl.js +0 -812
  491. package/src/_esm/drawgl.js.map +0 -1
  492. package/src/_esm/drawutilssvg.d.ts +0 -954
  493. package/src/_esm/drawutilssvg.js +0 -1705
  494. package/src/_esm/drawutilssvg.js.map +0 -1
  495. package/src/_esm/entry-glsupport.js +0 -28
  496. package/src/_esm/entry.js +0 -29
  497. package/src/_esm/geomutils.d.ts +0 -77
  498. package/src/_esm/geomutils.js +0 -126
  499. package/src/_esm/geomutils.js.map +0 -1
  500. package/src/_esm/index.d.ts +0 -102
  501. package/src/_esm/index.js +0 -128
  502. package/src/_esm/index.js.map +0 -1
  503. package/src/_esm/interfaces/DrawLib.d.ts +0 -582
  504. package/src/_esm/interfaces/DrawLib.js +0 -32
  505. package/src/_esm/interfaces/DrawLib.js.map +0 -1
  506. package/src/_esm/interfaces/additionals.d.ts +0 -95
  507. package/src/_esm/interfaces/additionals.js +0 -3
  508. package/src/_esm/interfaces/additionals.js.map +0 -1
  509. package/src/_esm/interfaces/core.d.ts +0 -286
  510. package/src/_esm/interfaces/core.js +0 -30
  511. package/src/_esm/interfaces/core.js.map +0 -1
  512. package/src/_esm/interfaces/externals.d.ts +0 -56
  513. package/src/_esm/interfaces/externals.js +0 -8
  514. package/src/_esm/interfaces/externals.js.map +0 -1
  515. package/src/_esm/interfaces/index.d.ts +0 -4
  516. package/src/_esm/interfaces/index.js +0 -21
  517. package/src/_esm/interfaces/index.js.map +0 -1
  518. package/src/_esm/module.d.ts +0 -26
  519. package/src/_esm/module.js +0 -60
  520. package/src/_esm/module.js.map +0 -1
  521. package/src/_esm/src/ts/BezierPath.d.ts +0 -610
  522. package/src/_esm/src/ts/BezierPath.js +0 -1120
  523. package/src/_esm/src/ts/BezierPath.js.map +0 -1
  524. package/src/_esm/src/ts/Bounds.d.ts +0 -252
  525. package/src/_esm/src/ts/Bounds.js +0 -313
  526. package/src/_esm/src/ts/Bounds.js.map +0 -1
  527. package/src/_esm/src/ts/Circle.d.ts +0 -214
  528. package/src/_esm/src/ts/Circle.js +0 -331
  529. package/src/_esm/src/ts/Circle.js.map +0 -1
  530. package/src/_esm/src/ts/CircleSector.d.ts +0 -211
  531. package/src/_esm/src/ts/CircleSector.js +0 -355
  532. package/src/_esm/src/ts/CircleSector.js.map +0 -1
  533. package/src/_esm/src/ts/CubicBezierCurve.d.ts +0 -656
  534. package/src/_esm/src/ts/CubicBezierCurve.js +0 -1053
  535. package/src/_esm/src/ts/CubicBezierCurve.js.map +0 -1
  536. package/src/_esm/src/ts/Grid.d.ts +0 -83
  537. package/src/_esm/src/ts/Grid.js +0 -85
  538. package/src/_esm/src/ts/Grid.js.map +0 -1
  539. package/src/_esm/src/ts/KeyHandler.d.ts +0 -177
  540. package/src/_esm/src/ts/KeyHandler.js +0 -430
  541. package/src/_esm/src/ts/KeyHandler.js.map +0 -1
  542. package/src/_esm/src/ts/Line.d.ts +0 -134
  543. package/src/_esm/src/ts/Line.js +0 -196
  544. package/src/_esm/src/ts/Line.js.map +0 -1
  545. package/src/_esm/src/ts/MouseHandler.d.ts +0 -283
  546. package/src/_esm/src/ts/MouseHandler.js +0 -391
  547. package/src/_esm/src/ts/MouseHandler.js.map +0 -1
  548. package/src/_esm/src/ts/PBImage.d.ts +0 -81
  549. package/src/_esm/src/ts/PBImage.js +0 -56
  550. package/src/_esm/src/ts/PBImage.js.map +0 -1
  551. package/src/_esm/src/ts/PBText.d.ts +0 -118
  552. package/src/_esm/src/ts/PBText.js +0 -58
  553. package/src/_esm/src/ts/PBText.js.map +0 -1
  554. package/src/_esm/src/ts/PlotBoilerplate.d.ts +0 -899
  555. package/src/_esm/src/ts/PlotBoilerplate.js +0 -2340
  556. package/src/_esm/src/ts/PlotBoilerplate.js.map +0 -1
  557. package/src/_esm/src/ts/Polygon.d.ts +0 -520
  558. package/src/_esm/src/ts/Polygon.js +0 -920
  559. package/src/_esm/src/ts/Polygon.js.map +0 -1
  560. package/src/_esm/src/ts/Triangle.d.ts +0 -392
  561. package/src/_esm/src/ts/Triangle.js +0 -489
  562. package/src/_esm/src/ts/Triangle.js.map +0 -1
  563. package/src/_esm/src/ts/UIDGenerator.d.ts +0 -12
  564. package/src/_esm/src/ts/UIDGenerator.js +0 -14
  565. package/src/_esm/src/ts/UIDGenerator.js.map +0 -1
  566. package/src/_esm/src/ts/VEllipse.d.ts +0 -319
  567. package/src/_esm/src/ts/VEllipse.js +0 -570
  568. package/src/_esm/src/ts/VEllipse.js.map +0 -1
  569. package/src/_esm/src/ts/VEllipseSector.d.ts +0 -230
  570. package/src/_esm/src/ts/VEllipseSector.js +0 -418
  571. package/src/_esm/src/ts/VEllipseSector.js.map +0 -1
  572. package/src/_esm/src/ts/Vector.d.ts +0 -126
  573. package/src/_esm/src/ts/Vector.js +0 -177
  574. package/src/_esm/src/ts/Vector.js.map +0 -1
  575. package/src/_esm/src/ts/VertTuple.d.ts +0 -284
  576. package/src/_esm/src/ts/VertTuple.js +0 -343
  577. package/src/_esm/src/ts/VertTuple.js.map +0 -1
  578. package/src/_esm/src/ts/Vertex.d.ts +0 -498
  579. package/src/_esm/src/ts/Vertex.js +0 -698
  580. package/src/_esm/src/ts/Vertex.js.map +0 -1
  581. package/src/_esm/src/ts/VertexAttr.d.ts +0 -72
  582. package/src/_esm/src/ts/VertexAttr.js +0 -54
  583. package/src/_esm/src/ts/VertexAttr.js.map +0 -1
  584. package/src/_esm/src/ts/VertexListeners.d.ts +0 -209
  585. package/src/_esm/src/ts/VertexListeners.js +0 -266
  586. package/src/_esm/src/ts/VertexListeners.js.map +0 -1
  587. package/src/_esm/src/ts/draw.d.ts +0 -657
  588. package/src/_esm/src/ts/draw.js +0 -1155
  589. package/src/_esm/src/ts/draw.js.map +0 -1
  590. package/src/_esm/src/ts/drawgl.d.ts +0 -544
  591. package/src/_esm/src/ts/drawgl.js +0 -808
  592. package/src/_esm/src/ts/drawgl.js.map +0 -1
  593. package/src/_esm/src/ts/drawutilssvg.d.ts +0 -954
  594. package/src/_esm/src/ts/drawutilssvg.js +0 -1701
  595. package/src/_esm/src/ts/drawutilssvg.js.map +0 -1
  596. package/src/_esm/src/ts/geomutils.d.ts +0 -77
  597. package/src/_esm/src/ts/geomutils.js +0 -123
  598. package/src/_esm/src/ts/geomutils.js.map +0 -1
  599. package/src/_esm/src/ts/index.d.ts +0 -102
  600. package/src/_esm/src/ts/index.js +0 -112
  601. package/src/_esm/src/ts/index.js.map +0 -1
  602. package/src/_esm/src/ts/interfaces/DrawLib.d.ts +0 -582
  603. package/src/_esm/src/ts/interfaces/DrawLib.js +0 -31
  604. package/src/_esm/src/ts/interfaces/DrawLib.js.map +0 -1
  605. package/src/_esm/src/ts/interfaces/additionals.d.ts +0 -95
  606. package/src/_esm/src/ts/interfaces/additionals.js +0 -2
  607. package/src/_esm/src/ts/interfaces/additionals.js.map +0 -1
  608. package/src/_esm/src/ts/interfaces/core.d.ts +0 -286
  609. package/src/_esm/src/ts/interfaces/core.js +0 -29
  610. package/src/_esm/src/ts/interfaces/core.js.map +0 -1
  611. package/src/_esm/src/ts/interfaces/externals.d.ts +0 -56
  612. package/src/_esm/src/ts/interfaces/externals.js +0 -7
  613. package/src/_esm/src/ts/interfaces/externals.js.map +0 -1
  614. package/src/_esm/src/ts/interfaces/index.d.ts +0 -4
  615. package/src/_esm/src/ts/interfaces/index.js +0 -5
  616. package/src/_esm/src/ts/interfaces/index.js.map +0 -1
  617. package/src/_esm/src/ts/module.d.ts +0 -26
  618. package/src/_esm/src/ts/module.js +0 -38
  619. package/src/_esm/src/ts/module.js.map +0 -1
  620. package/src/_esm/src/ts/utils/InitializationObserver.d.ts +0 -18
  621. package/src/_esm/src/ts/utils/InitializationObserver.js +0 -57
  622. package/src/_esm/src/ts/utils/InitializationObserver.js.map +0 -1
  623. package/src/_esm/src/ts/utils/LissajousFigure.d.ts +0 -34
  624. package/src/_esm/src/ts/utils/LissajousFigure.js +0 -95
  625. package/src/_esm/src/ts/utils/LissajousFigure.js.map +0 -1
  626. package/src/_esm/src/ts/utils/NGons.d.ts +0 -13
  627. package/src/_esm/src/ts/utils/NGons.js +0 -33
  628. package/src/_esm/src/ts/utils/NGons.js.map +0 -1
  629. package/src/_esm/src/ts/utils/Params.d.ts +0 -17
  630. package/src/_esm/src/ts/utils/Params.js +0 -48
  631. package/src/_esm/src/ts/utils/Params.js.map +0 -1
  632. package/src/_esm/src/ts/utils/PerlinNoise.d.ts +0 -19
  633. package/src/_esm/src/ts/utils/PerlinNoise.js +0 -346
  634. package/src/_esm/src/ts/utils/PerlinNoise.js.map +0 -1
  635. package/src/_esm/src/ts/utils/SVGPathUtils.d.ts +0 -22
  636. package/src/_esm/src/ts/utils/SVGPathUtils.js +0 -42
  637. package/src/_esm/src/ts/utils/SVGPathUtils.js.map +0 -1
  638. package/src/_esm/src/ts/utils/WebColors.d.ts +0 -35
  639. package/src/_esm/src/ts/utils/WebColors.js +0 -54
  640. package/src/_esm/src/ts/utils/WebColors.js.map +0 -1
  641. package/src/_esm/src/ts/utils/WebColorsContrast.d.ts +0 -6
  642. package/src/_esm/src/ts/utils/WebColorsContrast.js +0 -9
  643. package/src/_esm/src/ts/utils/WebColorsContrast.js.map +0 -1
  644. package/src/_esm/src/ts/utils/WebColorsMalachite.d.ts +0 -12
  645. package/src/_esm/src/ts/utils/WebColorsMalachite.js +0 -25
  646. package/src/_esm/src/ts/utils/WebColorsMalachite.js.map +0 -1
  647. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.d.ts +0 -60
  648. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js +0 -103
  649. package/src/_esm/src/ts/utils/algorithms/CatmullRomPath.js.map +0 -1
  650. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.d.ts +0 -170
  651. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js +0 -303
  652. package/src/_esm/src/ts/utils/algorithms/CircleIntersections.js.map +0 -1
  653. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.d.ts +0 -150
  654. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js +0 -362
  655. package/src/_esm/src/ts/utils/algorithms/ContourLineDetection.js.map +0 -1
  656. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.d.ts +0 -63
  657. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js +0 -170
  658. package/src/_esm/src/ts/utils/algorithms/CubicSplinePath.js.map +0 -1
  659. package/src/_esm/src/ts/utils/algorithms/HobbyPath.d.ts +0 -81
  660. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js +0 -273
  661. package/src/_esm/src/ts/utils/algorithms/HobbyPath.js.map +0 -1
  662. package/src/_esm/src/ts/utils/algorithms/Metaballs.d.ts +0 -30
  663. package/src/_esm/src/ts/utils/algorithms/Metaballs.js +0 -109
  664. package/src/_esm/src/ts/utils/algorithms/Metaballs.js.map +0 -1
  665. package/src/_esm/src/ts/utils/algorithms/PolygonInset.d.ts +0 -184
  666. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js +0 -424
  667. package/src/_esm/src/ts/utils/algorithms/PolygonInset.js.map +0 -1
  668. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  669. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js +0 -262
  670. package/src/_esm/src/ts/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  671. package/src/_esm/src/ts/utils/algorithms/arrayFill.d.ts +0 -8
  672. package/src/_esm/src/ts/utils/algorithms/arrayFill.js +0 -14
  673. package/src/_esm/src/ts/utils/algorithms/arrayFill.js.map +0 -1
  674. package/src/_esm/src/ts/utils/algorithms/arrayResize.d.ts +0 -8
  675. package/src/_esm/src/ts/utils/algorithms/arrayResize.js +0 -20
  676. package/src/_esm/src/ts/utils/algorithms/arrayResize.js.map +0 -1
  677. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.d.ts +0 -8
  678. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js +0 -11
  679. package/src/_esm/src/ts/utils/algorithms/arrayShuffle.js.map +0 -1
  680. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  681. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js +0 -47
  682. package/src/_esm/src/ts/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  683. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  684. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js +0 -57
  685. package/src/_esm/src/ts/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  686. package/src/_esm/src/ts/utils/algorithms/convexHull.d.ts +0 -23
  687. package/src/_esm/src/ts/utils/algorithms/convexHull.js +0 -67
  688. package/src/_esm/src/ts/utils/algorithms/convexHull.js.map +0 -1
  689. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  690. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js +0 -141
  691. package/src/_esm/src/ts/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  692. package/src/_esm/src/ts/utils/algorithms/delaunay.d.ts +0 -30
  693. package/src/_esm/src/ts/utils/algorithms/delaunay.js +0 -153
  694. package/src/_esm/src/ts/utils/algorithms/delaunay.js.map +0 -1
  695. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  696. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js +0 -99
  697. package/src/_esm/src/ts/utils/algorithms/delaunay2voronoi.js.map +0 -1
  698. package/src/_esm/src/ts/utils/algorithms/detectPaths.d.ts +0 -21
  699. package/src/_esm/src/ts/utils/algorithms/detectPaths.js +0 -165
  700. package/src/_esm/src/ts/utils/algorithms/detectPaths.js.map +0 -1
  701. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  702. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js +0 -47
  703. package/src/_esm/src/ts/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  704. package/src/_esm/src/ts/utils/algorithms/getContrastColor.d.ts +0 -13
  705. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js +0 -22
  706. package/src/_esm/src/ts/utils/algorithms/getContrastColor.js.map +0 -1
  707. package/src/_esm/src/ts/utils/algorithms/matrixFill.d.ts +0 -10
  708. package/src/_esm/src/ts/utils/algorithms/matrixFill.js +0 -17
  709. package/src/_esm/src/ts/utils/algorithms/matrixFill.js.map +0 -1
  710. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  711. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js +0 -266
  712. package/src/_esm/src/ts/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  713. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  714. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js +0 -99
  715. package/src/_esm/src/ts/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  716. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  717. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js +0 -72
  718. package/src/_esm/src/ts/utils/algorithms/sutherlandHodgman.js.map +0 -1
  719. package/src/_esm/src/ts/utils/cloneVertexArray.d.ts +0 -13
  720. package/src/_esm/src/ts/utils/cloneVertexArray.js +0 -19
  721. package/src/_esm/src/ts/utils/cloneVertexArray.js.map +0 -1
  722. package/src/_esm/src/ts/utils/createRandomizedPolygon.d.ts +0 -14
  723. package/src/_esm/src/ts/utils/createRandomizedPolygon.js +0 -28
  724. package/src/_esm/src/ts/utils/createRandomizedPolygon.js.map +0 -1
  725. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  726. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js +0 -158
  727. package/src/_esm/src/ts/utils/datastructures/CircularIntervalSet.js.map +0 -1
  728. package/src/_esm/src/ts/utils/datastructures/Color.d.ts +0 -391
  729. package/src/_esm/src/ts/utils/datastructures/Color.js +0 -1063
  730. package/src/_esm/src/ts/utils/datastructures/Color.js.map +0 -1
  731. package/src/_esm/src/ts/utils/datastructures/ColorGradient.d.ts +0 -81
  732. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js +0 -171
  733. package/src/_esm/src/ts/utils/datastructures/ColorGradient.js.map +0 -1
  734. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.d.ts +0 -53
  735. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js +0 -19
  736. package/src/_esm/src/ts/utils/datastructures/DataGrid2d.js.map +0 -1
  737. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  738. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js +0 -150
  739. package/src/_esm/src/ts/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  740. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  741. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js +0 -79
  742. package/src/_esm/src/ts/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  743. package/src/_esm/src/ts/utils/datastructures/GenericPath.d.ts +0 -86
  744. package/src/_esm/src/ts/utils/datastructures/GenericPath.js +0 -117
  745. package/src/_esm/src/ts/utils/datastructures/GenericPath.js.map +0 -1
  746. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.d.ts +0 -49
  747. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js +0 -53
  748. package/src/_esm/src/ts/utils/datastructures/GeometryMesh.js.map +0 -1
  749. package/src/_esm/src/ts/utils/datastructures/Girih.d.ts +0 -181
  750. package/src/_esm/src/ts/utils/datastructures/Girih.js +0 -261
  751. package/src/_esm/src/ts/utils/datastructures/Girih.js.map +0 -1
  752. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.d.ts +0 -37
  753. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js +0 -130
  754. package/src/_esm/src/ts/utils/datastructures/GirihBowtie.js.map +0 -1
  755. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.d.ts +0 -52
  756. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js +0 -110
  757. package/src/_esm/src/ts/utils/datastructures/GirihDecagon.js.map +0 -1
  758. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.d.ts +0 -39
  759. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js +0 -178
  760. package/src/_esm/src/ts/utils/datastructures/GirihHexagon.js.map +0 -1
  761. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  762. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js +0 -167
  763. package/src/_esm/src/ts/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  764. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.d.ts +0 -37
  765. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js +0 -87
  766. package/src/_esm/src/ts/utils/datastructures/GirihPentagon.js.map +0 -1
  767. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.d.ts +0 -38
  768. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js +0 -133
  769. package/src/_esm/src/ts/utils/datastructures/GirihRhombus.js.map +0 -1
  770. package/src/_esm/src/ts/utils/datastructures/GirihTile.d.ts +0 -283
  771. package/src/_esm/src/ts/utils/datastructures/GirihTile.js +0 -286
  772. package/src/_esm/src/ts/utils/datastructures/GirihTile.js.map +0 -1
  773. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.d.ts +0 -244
  774. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js +0 -246
  775. package/src/_esm/src/ts/utils/datastructures/Matrix4x4.js.map +0 -1
  776. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.d.ts +0 -122
  777. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js +0 -178
  778. package/src/_esm/src/ts/utils/datastructures/VoronoiCell.js.map +0 -1
  779. package/src/_esm/src/ts/utils/datastructures/interfaces.d.ts +0 -13
  780. package/src/_esm/src/ts/utils/datastructures/interfaces.js +0 -9
  781. package/src/_esm/src/ts/utils/datastructures/interfaces.js.map +0 -1
  782. package/src/_esm/src/ts/utils/detectDarkMode.d.ts +0 -10
  783. package/src/_esm/src/ts/utils/detectDarkMode.js +0 -37
  784. package/src/_esm/src/ts/utils/detectDarkMode.js.map +0 -1
  785. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  786. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js +0 -743
  787. package/src/_esm/src/ts/utils/dom/components/ColorGradientPicker.js.map +0 -1
  788. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  789. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js +0 -339
  790. package/src/_esm/src/ts/utils/dom/components/ColorGradientSelector.js.map +0 -1
  791. package/src/_esm/src/ts/utils/dom/components/Test.d.ts +0 -7
  792. package/src/_esm/src/ts/utils/dom/components/Test.js +0 -26
  793. package/src/_esm/src/ts/utils/dom/components/Test.js.map +0 -1
  794. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  795. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js +0 -25
  796. package/src/_esm/src/ts/utils/dom/getAvailableContainerSpace.js.map +0 -1
  797. package/src/_esm/src/ts/utils/dom/getFProp.d.ts +0 -5
  798. package/src/_esm/src/ts/utils/dom/getFProp.js +0 -8
  799. package/src/_esm/src/ts/utils/dom/getFProp.js.map +0 -1
  800. package/src/_esm/src/ts/utils/dom/guiSizeToggler.d.ts +0 -18
  801. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js +0 -40
  802. package/src/_esm/src/ts/utils/dom/guiSizeToggler.js.map +0 -1
  803. package/src/_esm/src/ts/utils/findInVertexArray.d.ts +0 -19
  804. package/src/_esm/src/ts/utils/findInVertexArray.js +0 -25
  805. package/src/_esm/src/ts/utils/findInVertexArray.js.map +0 -1
  806. package/src/_esm/src/ts/utils/gup.d.ts +0 -14
  807. package/src/_esm/src/ts/utils/gup.js +0 -27
  808. package/src/_esm/src/ts/utils/gup.js.map +0 -1
  809. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  810. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js +0 -648
  811. package/src/_esm/src/ts/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  812. package/src/_esm/src/ts/utils/helpers/CircleHelper.d.ts +0 -73
  813. package/src/_esm/src/ts/utils/helpers/CircleHelper.js +0 -88
  814. package/src/_esm/src/ts/utils/helpers/CircleHelper.js.map +0 -1
  815. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.d.ts +0 -90
  816. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js +0 -109
  817. package/src/_esm/src/ts/utils/helpers/CircleSectorHelper.js.map +0 -1
  818. package/src/_esm/src/ts/utils/helpers/TriangleHelper.d.ts +0 -57
  819. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js +0 -78
  820. package/src/_esm/src/ts/utils/helpers/TriangleHelper.js.map +0 -1
  821. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.d.ts +0 -32
  822. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js +0 -83
  823. package/src/_esm/src/ts/utils/helpers/VEllipseHelper.js.map +0 -1
  824. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  825. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js +0 -130
  826. package/src/_esm/src/ts/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  827. package/src/_esm/src/ts/utils/io/FileDrop.d.ts +0 -110
  828. package/src/_esm/src/ts/utils/io/FileDrop.js +0 -171
  829. package/src/_esm/src/ts/utils/io/FileDrop.js.map +0 -1
  830. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  831. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js +0 -217
  832. package/src/_esm/src/ts/utils/parsers/LinearColorGradientParser.js.map +0 -1
  833. package/src/_esm/src/ts/utils/parsers/OBJParser.d.ts +0 -24
  834. package/src/_esm/src/ts/utils/parsers/OBJParser.js +0 -72
  835. package/src/_esm/src/ts/utils/parsers/OBJParser.js.map +0 -1
  836. package/src/_esm/src/ts/utils/parsers/STLParser.d.ts +0 -61
  837. package/src/_esm/src/ts/utils/parsers/STLParser.js +0 -175
  838. package/src/_esm/src/ts/utils/parsers/STLParser.js.map +0 -1
  839. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  840. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js +0 -482
  841. package/src/_esm/src/ts/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  842. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  843. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js +0 -49
  844. package/src/_esm/src/ts/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  845. package/src/_esm/src/ts/utils/parsers/svg/types.d.ts +0 -63
  846. package/src/_esm/src/ts/utils/parsers/svg/types.js +0 -16
  847. package/src/_esm/src/ts/utils/parsers/svg/types.js.map +0 -1
  848. package/src/_esm/utils/InitializationObserver.d.ts +0 -18
  849. package/src/_esm/utils/InitializationObserver.js +0 -61
  850. package/src/_esm/utils/InitializationObserver.js.map +0 -1
  851. package/src/_esm/utils/LissajousFigure.d.ts +0 -34
  852. package/src/_esm/utils/LissajousFigure.js +0 -99
  853. package/src/_esm/utils/LissajousFigure.js.map +0 -1
  854. package/src/_esm/utils/NGons.d.ts +0 -13
  855. package/src/_esm/utils/NGons.js +0 -36
  856. package/src/_esm/utils/NGons.js.map +0 -1
  857. package/src/_esm/utils/Params.d.ts +0 -17
  858. package/src/_esm/utils/Params.js +0 -52
  859. package/src/_esm/utils/Params.js.map +0 -1
  860. package/src/_esm/utils/PerlinNoise.d.ts +0 -19
  861. package/src/_esm/utils/PerlinNoise.js +0 -350
  862. package/src/_esm/utils/PerlinNoise.js.map +0 -1
  863. package/src/_esm/utils/SVGPathUtils.d.ts +0 -22
  864. package/src/_esm/utils/SVGPathUtils.js +0 -45
  865. package/src/_esm/utils/SVGPathUtils.js.map +0 -1
  866. package/src/_esm/utils/WebColors.d.ts +0 -35
  867. package/src/_esm/utils/WebColors.js +0 -58
  868. package/src/_esm/utils/WebColors.js.map +0 -1
  869. package/src/_esm/utils/WebColorsContrast.d.ts +0 -6
  870. package/src/_esm/utils/WebColorsContrast.js +0 -12
  871. package/src/_esm/utils/WebColorsContrast.js.map +0 -1
  872. package/src/_esm/utils/WebColorsMalachite.d.ts +0 -12
  873. package/src/_esm/utils/WebColorsMalachite.js +0 -28
  874. package/src/_esm/utils/WebColorsMalachite.js.map +0 -1
  875. package/src/_esm/utils/algorithms/CatmullRomPath.d.ts +0 -60
  876. package/src/_esm/utils/algorithms/CatmullRomPath.js +0 -107
  877. package/src/_esm/utils/algorithms/CatmullRomPath.js.map +0 -1
  878. package/src/_esm/utils/algorithms/CircleIntersections.d.ts +0 -170
  879. package/src/_esm/utils/algorithms/CircleIntersections.js +0 -307
  880. package/src/_esm/utils/algorithms/CircleIntersections.js.map +0 -1
  881. package/src/_esm/utils/algorithms/ContourLineDetection.d.ts +0 -150
  882. package/src/_esm/utils/algorithms/ContourLineDetection.js +0 -366
  883. package/src/_esm/utils/algorithms/ContourLineDetection.js.map +0 -1
  884. package/src/_esm/utils/algorithms/CubicSplinePath.d.ts +0 -63
  885. package/src/_esm/utils/algorithms/CubicSplinePath.js +0 -174
  886. package/src/_esm/utils/algorithms/CubicSplinePath.js.map +0 -1
  887. package/src/_esm/utils/algorithms/HobbyPath.d.ts +0 -81
  888. package/src/_esm/utils/algorithms/HobbyPath.js +0 -277
  889. package/src/_esm/utils/algorithms/HobbyPath.js.map +0 -1
  890. package/src/_esm/utils/algorithms/Metaballs.d.ts +0 -30
  891. package/src/_esm/utils/algorithms/Metaballs.js +0 -113
  892. package/src/_esm/utils/algorithms/Metaballs.js.map +0 -1
  893. package/src/_esm/utils/algorithms/PolygonInset.d.ts +0 -184
  894. package/src/_esm/utils/algorithms/PolygonInset.js +0 -428
  895. package/src/_esm/utils/algorithms/PolygonInset.js.map +0 -1
  896. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.d.ts +0 -145
  897. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js +0 -267
  898. package/src/_esm/utils/algorithms/PolygonTesselationOutlines.js.map +0 -1
  899. package/src/_esm/utils/algorithms/arrayFill.d.ts +0 -8
  900. package/src/_esm/utils/algorithms/arrayFill.js +0 -18
  901. package/src/_esm/utils/algorithms/arrayFill.js.map +0 -1
  902. package/src/_esm/utils/algorithms/arrayResize.d.ts +0 -8
  903. package/src/_esm/utils/algorithms/arrayResize.js +0 -24
  904. package/src/_esm/utils/algorithms/arrayResize.js.map +0 -1
  905. package/src/_esm/utils/algorithms/arrayShuffle.d.ts +0 -8
  906. package/src/_esm/utils/algorithms/arrayShuffle.js +0 -15
  907. package/src/_esm/utils/algorithms/arrayShuffle.js.map +0 -1
  908. package/src/_esm/utils/algorithms/clearDuplicateVertices.d.ts +0 -22
  909. package/src/_esm/utils/algorithms/clearDuplicateVertices.js +0 -51
  910. package/src/_esm/utils/algorithms/clearDuplicateVertices.js.map +0 -1
  911. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.d.ts +0 -24
  912. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js +0 -61
  913. package/src/_esm/utils/algorithms/clearPolygonDuplicateVertices.js.map +0 -1
  914. package/src/_esm/utils/algorithms/convexHull.d.ts +0 -23
  915. package/src/_esm/utils/algorithms/convexHull.js +0 -71
  916. package/src/_esm/utils/algorithms/convexHull.js.map +0 -1
  917. package/src/_esm/utils/algorithms/convexPolygonIncircle.d.ts +0 -41
  918. package/src/_esm/utils/algorithms/convexPolygonIncircle.js +0 -145
  919. package/src/_esm/utils/algorithms/convexPolygonIncircle.js.map +0 -1
  920. package/src/_esm/utils/algorithms/createRandomizedPolygon.d.ts +0 -14
  921. package/src/_esm/utils/algorithms/createRandomizedPolygon.js +0 -28
  922. package/src/_esm/utils/algorithms/createRandomizedPolygon.js.map +0 -1
  923. package/src/_esm/utils/algorithms/delaunay.d.ts +0 -30
  924. package/src/_esm/utils/algorithms/delaunay.js +0 -157
  925. package/src/_esm/utils/algorithms/delaunay.js.map +0 -1
  926. package/src/_esm/utils/algorithms/delaunay2voronoi.d.ts +0 -25
  927. package/src/_esm/utils/algorithms/delaunay2voronoi.js +0 -103
  928. package/src/_esm/utils/algorithms/delaunay2voronoi.js.map +0 -1
  929. package/src/_esm/utils/algorithms/detectPaths.d.ts +0 -21
  930. package/src/_esm/utils/algorithms/detectPaths.js +0 -169
  931. package/src/_esm/utils/algorithms/detectPaths.js.map +0 -1
  932. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.d.ts +0 -21
  933. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js +0 -51
  934. package/src/_esm/utils/algorithms/findPolygonSelfIntersections.js.map +0 -1
  935. package/src/_esm/utils/algorithms/getContrastColor.d.ts +0 -13
  936. package/src/_esm/utils/algorithms/getContrastColor.js +0 -26
  937. package/src/_esm/utils/algorithms/getContrastColor.js.map +0 -1
  938. package/src/_esm/utils/algorithms/matrixFill.d.ts +0 -10
  939. package/src/_esm/utils/algorithms/matrixFill.js +0 -21
  940. package/src/_esm/utils/algorithms/matrixFill.js.map +0 -1
  941. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.d.ts +0 -23
  942. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js +0 -270
  943. package/src/_esm/utils/algorithms/pixelCornersToRoundPaths.js.map +0 -1
  944. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.d.ts +0 -28
  945. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js +0 -102
  946. package/src/_esm/utils/algorithms/splitPolygonToNonIntersecting.js.map +0 -1
  947. package/src/_esm/utils/algorithms/sutherlandHodgman.d.ts +0 -16
  948. package/src/_esm/utils/algorithms/sutherlandHodgman.js +0 -76
  949. package/src/_esm/utils/algorithms/sutherlandHodgman.js.map +0 -1
  950. package/src/_esm/utils/cloneVertexArray.d.ts +0 -13
  951. package/src/_esm/utils/cloneVertexArray.js +0 -23
  952. package/src/_esm/utils/cloneVertexArray.js.map +0 -1
  953. package/src/_esm/utils/createRandomizedPolygon.d.ts +0 -14
  954. package/src/_esm/utils/createRandomizedPolygon.js +0 -32
  955. package/src/_esm/utils/createRandomizedPolygon.js.map +0 -1
  956. package/src/_esm/utils/datastructures/CircularIntervalSet.d.ts +0 -83
  957. package/src/_esm/utils/datastructures/CircularIntervalSet.js +0 -162
  958. package/src/_esm/utils/datastructures/CircularIntervalSet.js.map +0 -1
  959. package/src/_esm/utils/datastructures/Color.d.ts +0 -391
  960. package/src/_esm/utils/datastructures/Color.js +0 -1067
  961. package/src/_esm/utils/datastructures/Color.js.map +0 -1
  962. package/src/_esm/utils/datastructures/ColorGradient.d.ts +0 -81
  963. package/src/_esm/utils/datastructures/ColorGradient.js +0 -175
  964. package/src/_esm/utils/datastructures/ColorGradient.js.map +0 -1
  965. package/src/_esm/utils/datastructures/DataGrid2d.d.ts +0 -53
  966. package/src/_esm/utils/datastructures/DataGrid2d.js +0 -20
  967. package/src/_esm/utils/datastructures/DataGrid2d.js.map +0 -1
  968. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.d.ts +0 -88
  969. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js +0 -154
  970. package/src/_esm/utils/datastructures/DataGrid2dArrayMatrix.js.map +0 -1
  971. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.d.ts +0 -59
  972. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js +0 -83
  973. package/src/_esm/utils/datastructures/DataGrid2dListAdapter.js.map +0 -1
  974. package/src/_esm/utils/datastructures/GenericPath.d.ts +0 -86
  975. package/src/_esm/utils/datastructures/GenericPath.js +0 -121
  976. package/src/_esm/utils/datastructures/GenericPath.js.map +0 -1
  977. package/src/_esm/utils/datastructures/GeometryMesh.d.ts +0 -49
  978. package/src/_esm/utils/datastructures/GeometryMesh.js +0 -57
  979. package/src/_esm/utils/datastructures/GeometryMesh.js.map +0 -1
  980. package/src/_esm/utils/datastructures/Girih.d.ts +0 -181
  981. package/src/_esm/utils/datastructures/Girih.js +0 -265
  982. package/src/_esm/utils/datastructures/Girih.js.map +0 -1
  983. package/src/_esm/utils/datastructures/GirihBowtie.d.ts +0 -37
  984. package/src/_esm/utils/datastructures/GirihBowtie.js +0 -134
  985. package/src/_esm/utils/datastructures/GirihBowtie.js.map +0 -1
  986. package/src/_esm/utils/datastructures/GirihDecagon.d.ts +0 -52
  987. package/src/_esm/utils/datastructures/GirihDecagon.js +0 -114
  988. package/src/_esm/utils/datastructures/GirihDecagon.js.map +0 -1
  989. package/src/_esm/utils/datastructures/GirihHexagon.d.ts +0 -39
  990. package/src/_esm/utils/datastructures/GirihHexagon.js +0 -182
  991. package/src/_esm/utils/datastructures/GirihHexagon.js.map +0 -1
  992. package/src/_esm/utils/datastructures/GirihPenroseRhombus.d.ts +0 -46
  993. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js +0 -171
  994. package/src/_esm/utils/datastructures/GirihPenroseRhombus.js.map +0 -1
  995. package/src/_esm/utils/datastructures/GirihPentagon.d.ts +0 -37
  996. package/src/_esm/utils/datastructures/GirihPentagon.js +0 -91
  997. package/src/_esm/utils/datastructures/GirihPentagon.js.map +0 -1
  998. package/src/_esm/utils/datastructures/GirihRhombus.d.ts +0 -38
  999. package/src/_esm/utils/datastructures/GirihRhombus.js +0 -137
  1000. package/src/_esm/utils/datastructures/GirihRhombus.js.map +0 -1
  1001. package/src/_esm/utils/datastructures/GirihTile.d.ts +0 -283
  1002. package/src/_esm/utils/datastructures/GirihTile.js +0 -290
  1003. package/src/_esm/utils/datastructures/GirihTile.js.map +0 -1
  1004. package/src/_esm/utils/datastructures/Matrix4x4.d.ts +0 -244
  1005. package/src/_esm/utils/datastructures/Matrix4x4.js +0 -250
  1006. package/src/_esm/utils/datastructures/Matrix4x4.js.map +0 -1
  1007. package/src/_esm/utils/datastructures/VoronoiCell.d.ts +0 -122
  1008. package/src/_esm/utils/datastructures/VoronoiCell.js +0 -182
  1009. package/src/_esm/utils/datastructures/VoronoiCell.js.map +0 -1
  1010. package/src/_esm/utils/datastructures/interfaces.d.ts +0 -13
  1011. package/src/_esm/utils/datastructures/interfaces.js +0 -10
  1012. package/src/_esm/utils/datastructures/interfaces.js.map +0 -1
  1013. package/src/_esm/utils/detectDarkMode.d.ts +0 -10
  1014. package/src/_esm/utils/detectDarkMode.js +0 -41
  1015. package/src/_esm/utils/detectDarkMode.js.map +0 -1
  1016. package/src/_esm/utils/dom/components/ColorGradientPicker.d.ts +0 -246
  1017. package/src/_esm/utils/dom/components/ColorGradientPicker.js +0 -780
  1018. package/src/_esm/utils/dom/components/ColorGradientPicker.js.map +0 -1
  1019. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.d.ts +0 -129
  1020. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js +0 -582
  1021. package/src/_esm/utils/dom/components/ColorGradientPickerJSX.js.map +0 -1
  1022. package/src/_esm/utils/dom/components/ColorGradientSelector.d.ts +0 -118
  1023. package/src/_esm/utils/dom/components/ColorGradientSelector.js +0 -376
  1024. package/src/_esm/utils/dom/components/ColorGradientSelector.js.map +0 -1
  1025. package/src/_esm/utils/dom/components/Test.d.ts +0 -7
  1026. package/src/_esm/utils/dom/components/Test.js +0 -63
  1027. package/src/_esm/utils/dom/components/Test.js.map +0 -1
  1028. package/src/_esm/utils/dom/getAvailableContainerSpace.d.ts +0 -2
  1029. package/src/_esm/utils/dom/getAvailableContainerSpace.js +0 -29
  1030. package/src/_esm/utils/dom/getAvailableContainerSpace.js.map +0 -1
  1031. package/src/_esm/utils/dom/getFProp.d.ts +0 -5
  1032. package/src/_esm/utils/dom/getFProp.js +0 -12
  1033. package/src/_esm/utils/dom/getFProp.js.map +0 -1
  1034. package/src/_esm/utils/dom/guiSizeToggler.d.ts +0 -18
  1035. package/src/_esm/utils/dom/guiSizeToggler.js +0 -44
  1036. package/src/_esm/utils/dom/guiSizeToggler.js.map +0 -1
  1037. package/src/_esm/utils/findInVertexArray.d.ts +0 -19
  1038. package/src/_esm/utils/findInVertexArray.js +0 -29
  1039. package/src/_esm/utils/findInVertexArray.js.map +0 -1
  1040. package/src/_esm/utils/getFProp.d.ts +0 -5
  1041. package/src/_esm/utils/getFProp.js +0 -8
  1042. package/src/_esm/utils/getFProp.js.map +0 -1
  1043. package/src/_esm/utils/gup.d.ts +0 -14
  1044. package/src/_esm/utils/gup.js +0 -31
  1045. package/src/_esm/utils/gup.js.map +0 -1
  1046. package/src/_esm/utils/helpers/BezierPathInteractionHelper.d.ts +0 -272
  1047. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js +0 -655
  1048. package/src/_esm/utils/helpers/BezierPathInteractionHelper.js.map +0 -1
  1049. package/src/_esm/utils/helpers/CircleHelper.d.ts +0 -73
  1050. package/src/_esm/utils/helpers/CircleHelper.js +0 -92
  1051. package/src/_esm/utils/helpers/CircleHelper.js.map +0 -1
  1052. package/src/_esm/utils/helpers/CircleSectorHelper.d.ts +0 -90
  1053. package/src/_esm/utils/helpers/CircleSectorHelper.js +0 -113
  1054. package/src/_esm/utils/helpers/CircleSectorHelper.js.map +0 -1
  1055. package/src/_esm/utils/helpers/TriangleHelper.d.ts +0 -57
  1056. package/src/_esm/utils/helpers/TriangleHelper.js +0 -82
  1057. package/src/_esm/utils/helpers/TriangleHelper.js.map +0 -1
  1058. package/src/_esm/utils/helpers/VEllipseHelper.d.ts +0 -32
  1059. package/src/_esm/utils/helpers/VEllipseHelper.js +0 -87
  1060. package/src/_esm/utils/helpers/VEllipseHelper.js.map +0 -1
  1061. package/src/_esm/utils/helpers/VEllipseSectorHelper.d.ts +0 -52
  1062. package/src/_esm/utils/helpers/VEllipseSectorHelper.js +0 -134
  1063. package/src/_esm/utils/helpers/VEllipseSectorHelper.js.map +0 -1
  1064. package/src/_esm/utils/io/DndFileHandler.d.ts +0 -63
  1065. package/src/_esm/utils/io/DndFileHandler.js +0 -106
  1066. package/src/_esm/utils/io/DndFileHandler.js.map +0 -1
  1067. package/src/_esm/utils/io/FileDrop.d.ts +0 -110
  1068. package/src/_esm/utils/io/FileDrop.js +0 -175
  1069. package/src/_esm/utils/io/FileDrop.js.map +0 -1
  1070. package/src/_esm/utils/parsers/LinearColorGradientParser.d.ts +0 -78
  1071. package/src/_esm/utils/parsers/LinearColorGradientParser.js +0 -223
  1072. package/src/_esm/utils/parsers/LinearColorGradientParser.js.map +0 -1
  1073. package/src/_esm/utils/parsers/OBJParser.d.ts +0 -25
  1074. package/src/_esm/utils/parsers/OBJParser.js +0 -78
  1075. package/src/_esm/utils/parsers/OBJParser.js.map +0 -1
  1076. package/src/_esm/utils/parsers/STLParser.d.ts +0 -61
  1077. package/src/_esm/utils/parsers/STLParser.js +0 -179
  1078. package/src/_esm/utils/parsers/STLParser.js.map +0 -1
  1079. package/src/_esm/utils/parsers/svg/parseSVGPathData.d.ts +0 -27
  1080. package/src/_esm/utils/parsers/svg/parseSVGPathData.js +0 -486
  1081. package/src/_esm/utils/parsers/svg/parseSVGPathData.js.map +0 -1
  1082. package/src/_esm/utils/parsers/svg/splitSVGPathData.d.ts +0 -20
  1083. package/src/_esm/utils/parsers/svg/splitSVGPathData.js +0 -53
  1084. package/src/_esm/utils/parsers/svg/splitSVGPathData.js.map +0 -1
  1085. package/src/_esm/utils/parsers/svg/types.d.ts +0 -63
  1086. package/src/_esm/utils/parsers/svg/types.js +0 -17
  1087. package/src/_esm/utils/parsers/svg/types.js.map +0 -1
@@ -1,1120 +0,0 @@
1
- /**
2
- * @author Ikaros Kappler
3
- * @date 2013-08-19
4
- * @modified 2018-08-16 Added closure. Removed the 'IKRS' wrapper.
5
- * @modified 2018-11-20 Added circular auto-adjustment.
6
- * @modified 2018-11-25 Added the point constants to the BezierPath class itself.
7
- * @modified 2018-11-28 Added the locateCurveByStartPoint() function.
8
- * @modified 2018-12-04 Added the toSVGString() function.
9
- * @modified 2019-03-23 Added JSDoc tags.
10
- * @modified 2019-03-23 Changed the fuctions getPoint and getPointAt to match semantics in the Line class.
11
- * @modified 2019-11-18 Fixed the clone function: adjustCircular attribute was not cloned.
12
- * @modified 2019-12-02 Removed some excessive comments.
13
- * @modified 2019-12-04 Fixed the missing obtainHandleLengths behavior in the adjustNeightbourControlPoint function.
14
- * @modified 2020-02-06 Added function locateCurveByEndPoint( Vertex ).
15
- * @modified 2020-02-11 Added 'return this' to the scale(Vertex,number) and to the translate(Vertex) function.
16
- * @modified 2020-03-24 Ported this class from vanilla-JS to Typescript.
17
- * @modified 2020-06-03 Made the private helper function _locateUIndex to a private function.
18
- * @modified 2020-06-03 Added the getBounds() function.
19
- * @modified 2020-07-14 Changed the moveCurvePoint(...,Vertex) to moveCurvePoint(...,XYCoords).
20
- * @modified 2020-07-24 Added the getClosestT(Vertex) function.
21
- * @modified 2020-12-29 Constructor is now private (no explicit use intended).
22
- * @modified 2021-05-25 Added BezierPath.fromReducedList( Array<number> ).
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
- * @modified 2023-10-06 Adding the `BezierPath.toPathPoints()` method.
27
- * @modified 2023-10-07 Adding the `BezierPath.fromCurve(CubicBezierCurve)` static function.
28
- * @modified 2025-04-09 Added the `BezierPath.move` method to match the convention – which just calls `translate`.
29
- * @modified 2025-04-09 Modified the `BezierPath.translate` method: chaning parameter `Vertex` to more generalized `XYCoords`.
30
- * @modified 2025-04-14 Class `BezierPath` is now implementing interface `Intersectable`.
31
- * @version 2.7.0
32
- *
33
- * @file BezierPath
34
- * @public
35
- **/
36
- import { Bounds } from "./Bounds";
37
- import { CubicBezierCurve } from "./CubicBezierCurve";
38
- import { UIDGenerator } from "./UIDGenerator";
39
- import { Vertex } from "./Vertex";
40
- /**
41
- * @classdesc A BezierPath class.
42
- *
43
- * This was refactored from an older project.
44
- *
45
- * @requires Bounds
46
- * @requires Vertex
47
- * @requires CubicBezierCurve
48
- * @requires XYCoords
49
- * @requires SVGSerializable
50
- * @requires UID
51
- * @requires UIDGenerator
52
- **/
53
- export class BezierPath {
54
- /**
55
- * The constructor.<br>
56
- * <br>
57
- * This constructor expects a sequence of path points and will approximate
58
- * the location of control points by picking some between the points.<br>
59
- * You should consider just constructing empty paths and then add more curves later using
60
- * the addCurve() function.
61
- *
62
- * @constructor
63
- * @name BezierPath
64
- * @param {Vertex[]} pathPoints - An array of path vertices (no control points).
65
- **/
66
- constructor() {
67
- /**
68
- * Required to generate proper CSS classes and other class related IDs.
69
- **/
70
- this.className = "BezierPath";
71
- /** @constant {number} */
72
- this.START_POINT = 0;
73
- /** @constant {number} */
74
- this.START_CONTROL_POINT = 1;
75
- /** @constant {number} */
76
- this.END_CONTROL_POINT = 2;
77
- /** @constant {number} */
78
- this.END_POINT = 3;
79
- // pathPoints: Array<Vertex> | undefined | null) {
80
- this.uid = UIDGenerator.next();
81
- // if (!pathPoints) {
82
- // pathPoints = [];
83
- // }
84
- this.totalArcLength = 0.0;
85
- // Set this flag to true if you want the first point and
86
- // last point of the path to be auto adjusted, too.
87
- this.adjustCircular = false;
88
- this.bezierCurves = [];
89
- }
90
- /**
91
- * Add a cubic bezier curve to the end of this path.
92
- *
93
- * @method addCurve
94
- * @param {CubicBezierCurve} curve - The curve to be added to the end of the path.
95
- * @instance
96
- * @memberof BezierPath
97
- * @return {void}
98
- **/
99
- addCurve(curve) {
100
- if (curve == null || typeof curve == "undefined")
101
- throw "Cannot add null curve to bézier path.";
102
- this.bezierCurves.push(curve);
103
- if (this.bezierCurves.length > 1) {
104
- curve.startPoint = this.bezierCurves[this.bezierCurves.length - 2].endPoint;
105
- this.adjustSuccessorControlPoint(this.bezierCurves.length - 2, // curveIndex,
106
- true, // obtainHandleLength,
107
- true // updateArcLengths
108
- );
109
- }
110
- else {
111
- this.totalArcLength += curve.getLength();
112
- }
113
- }
114
- /**
115
- * Locate the curve with the given start point (function returns the index).
116
- *
117
- * @method locateCurveByStartPoint
118
- * @param {Vertex} point - The (curve start-) point to look for.
119
- * @instance
120
- * @memberof BezierPath
121
- * @return {number} The curve index or -1 if curve (start-) point not found
122
- **/
123
- locateCurveByStartPoint(point) {
124
- // for( var i in this.bezierCurves ) {
125
- for (var i = 0; i < this.bezierCurves.length; i++) {
126
- if (this.bezierCurves[i].startPoint.equals(point))
127
- return i;
128
- }
129
- return -1;
130
- }
131
- /**
132
- * Locate the curve with the given end point (function returns the index).
133
- *
134
- * @method locateCurveByEndPoint
135
- * @param {Vertex} point - The (curve end-) point to look for.
136
- * @instance
137
- * @memberof BezierPath
138
- * @return {number} The curve index or -1 if curve (end-) point not found
139
- **/
140
- locateCurveByEndPoint(point) {
141
- // for( var i in this.bezierCurves ) {
142
- for (var i = 0; i < this.bezierCurves.length; i++) {
143
- if (this.bezierCurves[i].endPoint.equals(point))
144
- return i;
145
- }
146
- return -1;
147
- }
148
- /**
149
- * Locate the curve with the given start point (function returns the index).
150
- *
151
- * @method locateCurveByStartControlPoint
152
- * @param {Vertex} point - The (curve endt-) point to look for.
153
- * @instance
154
- * @memberof BezierPath
155
- * @return {number} The curve index or -1 if curve (end-) point not found
156
- **/
157
- locateCurveByStartControlPoint(point) {
158
- // for( var i in this.bezierCurves ) {
159
- for (var i = 0; i < this.bezierCurves.length; i++) {
160
- if (this.bezierCurves[i].startControlPoint.equals(point))
161
- return i;
162
- }
163
- return -1;
164
- }
165
- // +---------------------------------------------------------------------------------
166
- // | Locate the curve with the given end control point.
167
- // |
168
- // | @param point:Vertex The point to look for.
169
- // | @return Number The index or -1 if not found.
170
- // +-------------------------------
171
- locateCurveByEndControlPoint(point) {
172
- // for( var i in this.bezierCurves ) {
173
- for (var i = 0; i < this.bezierCurves.length; i++) {
174
- if (this.bezierCurves[i].endControlPoint.equals(point))
175
- return i;
176
- }
177
- return -1;
178
- }
179
- /**
180
- * Get the total length of this path.<br>
181
- * <br>
182
- * Note that the returned value comes from the curve buffer. Unregistered changes
183
- * to the curve points will result in invalid path length values.
184
- *
185
- * @method getLength
186
- * @instance
187
- * @memberof BezierPath
188
- * @return {number} The (buffered) length of the path.
189
- **/
190
- getLength() {
191
- return this.totalArcLength;
192
- }
193
- /**
194
- * This function is internally called whenever the curve or path configuration
195
- * changed. It updates the attribute that stores the path length information.<br>
196
- * <br>
197
- * If you perform any unregistered changes to the curve points you should call
198
- * this function afterwards to update the curve buffer. Not updating may
199
- * result in unexpected behavior.
200
- *
201
- * @method updateArcLengths
202
- * @instance
203
- * @memberof BezierPath
204
- * @return {void}
205
- **/
206
- updateArcLengths() {
207
- this.totalArcLength = 0.0;
208
- for (var i = 0; i < this.bezierCurves.length; i++) {
209
- this.bezierCurves[i].updateArcLengths();
210
- this.totalArcLength += this.bezierCurves[i].getLength();
211
- }
212
- }
213
- /**
214
- * Get the number of curves in this path.
215
- *
216
- * @method getCurveCount
217
- * @instance
218
- * @memberof BezierPath
219
- * @return {number} The number of curves in this path.
220
- **/
221
- getCurveCount() {
222
- return this.bezierCurves.length;
223
- }
224
- /**
225
- * Get the cubic bezier curve at the given index.
226
- *
227
- * @method getCurveAt
228
- * @param {number} index - The curve index from 0 to getCurveCount()-1.
229
- * @instance
230
- * @memberof BezierPath
231
- * @return {CubicBezierCurve} The curve at the specified index.
232
- **/
233
- getCurveAt(curveIndex) {
234
- return this.bezierCurves[curveIndex];
235
- }
236
- /**
237
- * Move the whole bezier path by the given (x,y)-amount.
238
- *
239
- * @method translate
240
- * @param {XYCoords} amount - The amount to be added (amount.x and amount.y)
241
- * to each vertex of the curve.
242
- * @instance
243
- * @memberof BezierPath
244
- * @return {BezierPath} this for chaining
245
- **/
246
- translate(amount) {
247
- for (var i = 0; i < this.bezierCurves.length; i++) {
248
- var curve = this.bezierCurves[i];
249
- curve.getStartPoint().add(amount);
250
- curve.getStartControlPoint().add(amount);
251
- curve.getEndControlPoint().add(amount);
252
- }
253
- // Don't forget to translate the last curve's last point
254
- var curve = this.bezierCurves[this.bezierCurves.length - 1];
255
- curve.getEndPoint().add(amount);
256
- this.updateArcLengths();
257
- return this;
258
- }
259
- /**
260
- * Move the whole bezier path by the given (x,y)-amount.
261
- *
262
- * @method move
263
- * @param {XYCoords} amount - The amount to be added (amount.x and amount.y)
264
- * to each vertex of the curve.
265
- * @instance
266
- * @memberof BezierPath
267
- * @return {BezierPath} this for chaining
268
- **/
269
- move(amount) {
270
- return this.translate(amount);
271
- }
272
- /**
273
- * Scale the whole bezier path by the given uniform factor.
274
- *
275
- * @method scale
276
- * @param {Vertex} anchor - The scale origin to scale from.
277
- * @param {number} scaleFactor - The scalar to be multiplied with.
278
- * @instance
279
- * @memberof BezierPath
280
- * @return {BezierPath} this for chaining.
281
- **/
282
- scale(anchor, scaleFactor) {
283
- return this.scaleXY({ x: scaleFactor, y: scaleFactor }, anchor);
284
- }
285
- /**
286
- * Scale the whole bezier path by the given (x,y)-factors.
287
- *
288
- * @method scale
289
- * @param {Vertex} anchor - The scale origin to scale from.
290
- * @param {number} amount - The scalar to be multiplied with.
291
- * @instance
292
- * @memberof BezierPath
293
- * @return {BezierPath} this for chaining.
294
- **/
295
- scaleXY(scaleFactors, anchor) {
296
- for (var i = 0; i < this.bezierCurves.length; i++) {
297
- var curve = this.bezierCurves[i];
298
- curve.getStartPoint().scaleXY(scaleFactors, anchor);
299
- curve.getStartControlPoint().scaleXY(scaleFactors, anchor);
300
- curve.getEndControlPoint().scaleXY(scaleFactors, anchor);
301
- // Do NOT scale the end point here!
302
- // Don't forget that the curves are connected and on curve's end point
303
- // the the successor's start point (same instance)!
304
- }
305
- // Finally move the last end point (was not scaled yet)
306
- if (this.bezierCurves.length > 0 && !this.adjustCircular) {
307
- this.bezierCurves[this.bezierCurves.length - 1].getEndPoint().scaleXY(scaleFactors, anchor);
308
- }
309
- this.updateArcLengths();
310
- return this;
311
- }
312
- /**
313
- * Rotate the whole bezier path around a point..
314
- *
315
- * @method rotate
316
- * @param {Vertex} angle - The angle to rotate this path by.
317
- * @param {Vertex} center - The rotation center.
318
- * @instance
319
- * @memberof BezierPath
320
- * @return {void}
321
- **/
322
- rotate(angle, center) {
323
- for (var i = 0; i < this.bezierCurves.length; i++) {
324
- var curve = this.bezierCurves[i];
325
- curve.getStartPoint().rotate(angle, center);
326
- curve.getStartControlPoint().rotate(angle, center);
327
- curve.getEndControlPoint().rotate(angle, center);
328
- // Do NOT rotate the end point here!
329
- // Don't forget that the curves are connected and on curve's end point
330
- // the the successor's start point (same instance)!
331
- }
332
- // Finally move the last end point (was not scaled yet)
333
- if (this.bezierCurves.length > 0 && !this.adjustCircular) {
334
- this.bezierCurves[this.bezierCurves.length - 1].getEndPoint().rotate(angle, center);
335
- }
336
- }
337
- /**
338
- * Get the 't' position on this curve with the minimal distance to point p.
339
- *
340
- * @param {Vertex} p - The point to find the closest curve point for.
341
- * @return {number} A value t with 0.0 <= t <= 1.0.
342
- **/
343
- getClosestT(p) {
344
- // Find the spline to extract the value from
345
- var minIndex = -1;
346
- var minDist = 0.0;
347
- var dist = 0.0;
348
- var curveT = 0.0;
349
- var uMin = 0.0;
350
- var u = 0.0;
351
- for (var i = 0; i < this.bezierCurves.length; i++) {
352
- curveT = this.bezierCurves[i].getClosestT(p);
353
- dist = this.bezierCurves[i].getPointAt(curveT).distance(p);
354
- if (minIndex == -1 || dist < minDist) {
355
- minIndex = i;
356
- minDist = dist;
357
- uMin = u + curveT * this.bezierCurves[i].getLength();
358
- }
359
- u += this.bezierCurves[i].getLength();
360
- }
361
- return Math.max(0.0, Math.min(1.0, uMin / this.totalArcLength));
362
- }
363
- /**
364
- * Get the point on the bézier path at the given relative path location.
365
- *
366
- * @method getPoint
367
- * @param {number} u - The relative path position: <pre>0 <= u <= this.getLength()</pre>
368
- * @instance
369
- * @memberof BezierPath
370
- * @return {Vertex} The point at the relative path position.
371
- **/
372
- getPoint(u) {
373
- if (u < 0 || u > this.totalArcLength) {
374
- console.warn("[BezierPath.getPoint(u)] u is out of bounds: " + u + ".");
375
- u = Math.min(this.totalArcLength, Math.max(u, 0));
376
- }
377
- // Find the spline to extract the value from
378
- var i = 0;
379
- var uTemp = 0.0;
380
- while (i < this.bezierCurves.length && uTemp + this.bezierCurves[i].getLength() < u) {
381
- uTemp += this.bezierCurves[i].getLength();
382
- i++;
383
- }
384
- // if u == arcLength
385
- // -> i is max
386
- if (i >= this.bezierCurves.length)
387
- return this.bezierCurves[this.bezierCurves.length - 1].getEndPoint().clone();
388
- var bCurve = this.bezierCurves[i];
389
- var relativeU = u - uTemp;
390
- return bCurve.getPoint(relativeU);
391
- }
392
- /**
393
- * Get the point on the bézier path at the given path fraction.
394
- *
395
- * @method getPointAt
396
- * @param {number} t - The absolute path position: <pre>0.0 <= t <= 1.0</pre>
397
- * @instance
398
- * @memberof BezierPath
399
- * @return {Vertex} The point at the absolute path position.
400
- **/
401
- getPointAt(t) {
402
- return this.getPoint(t * this.totalArcLength);
403
- }
404
- /**
405
- * Get the tangent of the bézier path at the given path fraction.<br>
406
- * <br>
407
- * Note that the returned vector is not normalized.
408
- *
409
- * @method getTangentAt
410
- * @param {number} t - The absolute path position: <pre>0.0 <= t <= 1.0</pre>
411
- * @instance
412
- * @memberof BezierPath
413
- * @return {Vertex} The tangent vector at the absolute path position.
414
- **/
415
- getTangentAt(t) {
416
- return this.getTangent(t * this.totalArcLength);
417
- }
418
- /**
419
- * Get the tangent of the bézier path at the given path location.<br>
420
- * <br>
421
- * Note that the returned vector is not normalized.
422
- *
423
- * @method getTangent
424
- * @param {number} u - The relative path position: <pre>0 <= u <= getLength()</pre>
425
- * @instance
426
- * @memberof BezierPath
427
- * @return {Vertex} The tangent vector at the relative path position.
428
- **/
429
- getTangent(u) {
430
- if (u < 0 || u > this.totalArcLength) {
431
- console.warn("[BezierPath.getTangent(u)] u is out of bounds: " + u + ".");
432
- // return undefined;
433
- u = Math.min(this.totalArcLength, Math.max(0, u));
434
- }
435
- // Find the spline to extract the value from
436
- var i = 0;
437
- var uTemp = 0.0;
438
- while (i < this.bezierCurves.length && uTemp + this.bezierCurves[i].getLength() < u) {
439
- uTemp += this.bezierCurves[i].getLength();
440
- i++;
441
- }
442
- var bCurve = this.bezierCurves[i];
443
- var relativeU = u - uTemp;
444
- return bCurve.getTangent(relativeU);
445
- }
446
- /**
447
- * Get the perpendicular of the bézier path at the given absolute path location (fraction).<br>
448
- * <br>
449
- * Note that the returned vector is not normalized.
450
- *
451
- * @method getPerpendicularAt
452
- * @param {number} t - The absolute path position: <pre>0.0 <= t <= 1.0</pre>
453
- * @instance
454
- * @memberof BezierPath
455
- * @return {Vertex} The perpendicluar vector at the absolute path position.
456
- **/
457
- getPerpendicularAt(t) {
458
- return this.getPerpendicular(t * this.totalArcLength);
459
- }
460
- /**
461
- * Get the perpendicular of the bézier path at the given relative path location.<br>
462
- * <br>
463
- * Note that the returned vector is not normalized.
464
- *
465
- * @method getPerpendicular
466
- * @param {number} u - The relative path position: <pre>0 <= u <= getLength()</pre>
467
- * @instance
468
- * @memberof BezierPath
469
- * @return {Vertex} The perpendicluar vector at the relative path position.
470
- **/
471
- getPerpendicular(u) {
472
- if (u < 0 || u > this.totalArcLength) {
473
- console.log("[BezierPath.getPerpendicular(u)] u is out of bounds: " + u + ".");
474
- u = Math.min(this.totalArcLength, Math.max(0, u));
475
- }
476
- // Find the spline to extract the value from
477
- var uResult = BezierPath._locateUIndex(this, u);
478
- var bCurve = this.bezierCurves[uResult.i];
479
- var relativeU = u - uResult.uPart;
480
- return bCurve.getPerpendicular(relativeU);
481
- }
482
- //--- BEGIN --- Implement interface `Intersectable`
483
- /**
484
- * Get all line intersections with this shape.
485
- *
486
- * This method returns all intersections (as vertices) with this shape. The returned array of vertices is in no specific order.
487
- *
488
- * @param {VertTuple} line - The line to find intersections with.
489
- * @param {boolean} inVectorBoundsOnly - If set to true only intersecion points on the passed vector are returned (located strictly between start and end vertex).
490
- * @returns {Array<Vertex>} - An array of all intersections with the shape's outline.
491
- */
492
- lineIntersections(line, inVectorBoundsOnly = false) {
493
- return this.bezierCurves.reduce((accu, curCurve) => {
494
- return accu.concat(curCurve.lineIntersections(line, inVectorBoundsOnly));
495
- }, []);
496
- }
497
- /**
498
- * Get all line intersections of this polygon and their tangents along the shape.
499
- *
500
- * This method returns all intersection tangents (as vectors) with this shape. The returned array of vectors is in no specific order.
501
- *
502
- * @param line
503
- * @param lineIntersectionTangents
504
- * @returns
505
- */
506
- lineIntersectionTangents(line, inVectorBoundsOnly = false) {
507
- return this.bezierCurves.reduce((accu, curCurve) => {
508
- return accu.concat(curCurve.lineIntersectionTangents(line, inVectorBoundsOnly));
509
- }, []);
510
- }
511
- //--- END --- Implement interface `Intersectable`
512
- /**
513
- * This is a helper function to locate the curve index for a given
514
- * absolute path position u.
515
- *
516
- * I decided to put this into privat scope as it is really specific. Maybe
517
- * put this into a utils wrapper.
518
- *
519
- * Returns:
520
- * - {number} i - the index of the containing curve.
521
- * - {number} uPart - the absolute curve length sum (length from the beginning to u, should equal u itself).
522
- * - {number} uBefore - the absolute curve length for all segments _before_ the matched curve (usually uBefore <= uPart).
523
- **/
524
- static _locateUIndex(path, u) {
525
- var i = 0;
526
- var uTemp = 0.0;
527
- var uBefore = 0.0;
528
- while (i < path.bezierCurves.length && uTemp + path.bezierCurves[i].getLength() < u) {
529
- uTemp += path.bezierCurves[i].getLength();
530
- if (i + 1 < path.bezierCurves.length)
531
- uBefore += path.bezierCurves[i].getLength();
532
- i++;
533
- }
534
- return { i: i, uPart: uTemp, uBefore: uBefore };
535
- }
536
- /**
537
- * Get a specific sub path from this path. The start and end position are specified by
538
- * ratio number in [0..1].
539
- *
540
- * 0.0 is at the beginning of the path.
541
- * 1.0 is at the end of the path.
542
- *
543
- * Values below 0 or beyond 1 are cropped down to the [0..1] interval.
544
- *
545
- * startT > endT is allowed, the returned sub path will have inverse direction then.
546
- *
547
- * @method getSubPathAt
548
- * @param {number} startT - The start position of the sub path.
549
- * @param {number} endT - The end position of the sub path.
550
- * @instance
551
- * @memberof BezierPath
552
- * @return {BezierPath} The desired sub path in the bounds [startT..endT].
553
- **/
554
- getSubPathAt(startT, endT) {
555
- startT = Math.max(0, startT);
556
- endT = Math.min(1.0, endT);
557
- let startU = startT * this.totalArcLength;
558
- let endU = endT * this.totalArcLength;
559
- var uStartResult = BezierPath._locateUIndex(this, startU); // { i:int, uPart:float, uBefore:float }
560
- var uEndResult = BezierPath._locateUIndex(this, endU); // { i:int, uPart:float, uBefore:float }
561
- var firstT = (startU - uStartResult.uBefore) / this.bezierCurves[uStartResult.i].getLength();
562
- if (uStartResult.i == uEndResult.i) {
563
- // Subpath begins and ends in the same path segment (just get a simple sub curve from that path element).
564
- var lastT = (endU - uEndResult.uBefore) / this.bezierCurves[uEndResult.i].getLength();
565
- var firstCurve = this.bezierCurves[uStartResult.i].getSubCurveAt(firstT, lastT);
566
- return BezierPath.fromArray([firstCurve]);
567
- }
568
- else {
569
- var curves = [];
570
- if (uStartResult.i > uEndResult.i) {
571
- // Back to front direction
572
- var firstCurve = this.bezierCurves[uStartResult.i].getSubCurveAt(firstT, 0.0);
573
- curves.push(firstCurve);
574
- for (var i = uStartResult.i - 1; i > uEndResult.i; i--) {
575
- curves.push(this.bezierCurves[i].clone().reverse());
576
- }
577
- var lastT = (endU - uEndResult.uBefore) / this.bezierCurves[uEndResult.i].getLength();
578
- curves.push(this.bezierCurves[uEndResult.i].getSubCurveAt(1.0, lastT));
579
- }
580
- else {
581
- // Front to back direction
582
- var firstCurve = this.bezierCurves[uStartResult.i].getSubCurveAt(firstT, 1.0);
583
- curves.push(firstCurve);
584
- for (var i = uStartResult.i + 1; i < uEndResult.i && i < this.bezierCurves.length; i++) {
585
- curves.push(this.bezierCurves[i].clone());
586
- }
587
- var lastT = (endU - uEndResult.uBefore) / this.bezierCurves[uEndResult.i].getLength();
588
- curves.push(this.bezierCurves[uEndResult.i].getSubCurveAt(0, lastT));
589
- }
590
- return BezierPath.fromArray(curves);
591
- }
592
- }
593
- /**
594
- * This function moves the addressed curve point (or control point) with
595
- * keeping up the path's curve integrity.<br>
596
- * <br>
597
- * Thus is done by moving neighbour- and control- points as needed.
598
- *
599
- * @method moveCurvePoint
600
- * @param {number} curveIndex - The curve index to move a point from.
601
- * @param {number} pointID - One of the curve's four point IDs (START_POINT,
602
- * START_CONTROL_POINT, END_CONTRO_POINT or END_POINT).
603
- * @param {XYCoords} moveAmount - The amount to move the addressed vertex by.
604
- * @instance
605
- * @memberof BezierPath
606
- * @return {void}
607
- **/
608
- moveCurvePoint(curveIndex, pointID, moveAmount) {
609
- var bCurve = this.getCurveAt(curveIndex);
610
- bCurve.moveCurvePoint(pointID, moveAmount, true, // move control point, too
611
- true // updateArcLengths
612
- );
613
- // If inner point and NOT control point
614
- // --> move neightbour
615
- if (pointID == this.START_POINT && (curveIndex > 0 || this.adjustCircular)) {
616
- // Set predecessor's control point!
617
- var predecessor = this.getCurveAt(curveIndex - 1 < 0 ? this.bezierCurves.length + (curveIndex - 1) : curveIndex - 1);
618
- predecessor.moveCurvePoint(this.END_CONTROL_POINT, moveAmount, true, // move control point, too
619
- false // updateArcLengths
620
- );
621
- }
622
- else if (pointID == this.END_POINT && (curveIndex + 1 < this.bezierCurves.length || this.adjustCircular)) {
623
- // Set successcor
624
- var successor = this.getCurveAt((curveIndex + 1) % this.bezierCurves.length);
625
- successor.moveCurvePoint(this.START_CONTROL_POINT, moveAmount, true, // move control point, too
626
- false // updateArcLengths
627
- );
628
- }
629
- else if (pointID == this.START_CONTROL_POINT && curveIndex > 0) {
630
- this.adjustPredecessorControlPoint(curveIndex, true, // obtain handle length?
631
- false // update arc lengths
632
- );
633
- }
634
- else if (pointID == this.END_CONTROL_POINT && curveIndex + 1 < this.getCurveCount()) {
635
- this.adjustSuccessorControlPoint(curveIndex, true, // obtain handle length?
636
- false // update arc lengths
637
- );
638
- }
639
- // Don't forget to update the arc lengths!
640
- // Note: this can be optimized as only two curves have changed their lengths!
641
- this.updateArcLengths();
642
- }
643
- /**
644
- * This helper function adjusts the given point's predecessor's control point.
645
- *
646
- * @method adjustPredecessorControlPoint
647
- * @param {number} curveIndex - The curve index to move a point from.
648
- * @param {boolean} obtainHandleLength - Moves the point with keeping the original handle length.
649
- * @param {boolean} updateArcLength - The amount to move the addressed vertex by.
650
- * @instance
651
- * @private
652
- * @memberof BezierPath
653
- * @return {void}
654
- **/
655
- adjustPredecessorControlPoint(curveIndex, obtainHandleLength, updateArcLengths) {
656
- if (!this.adjustCircular && curveIndex <= 0)
657
- return; // false;
658
- var mainCurve = this.getCurveAt(curveIndex);
659
- var neighbourCurve = this.getCurveAt(curveIndex - 1 < 0 ? this.getCurveCount() + (curveIndex - 1) : curveIndex - 1);
660
- BezierPath.adjustNeighbourControlPoint(mainCurve, neighbourCurve, mainCurve.getStartPoint(), // the reference point
661
- mainCurve.getStartControlPoint(), // the dragged control point
662
- neighbourCurve.getEndPoint(), // the neighbour's point
663
- neighbourCurve.getEndControlPoint(), // the neighbour's control point to adjust
664
- obtainHandleLength, updateArcLengths);
665
- }
666
- /**
667
- * This helper function adjusts the given point's successor's control point.
668
- *
669
- * @method adjustSuccessorControlPoint
670
- * @param {number} curveIndex - The curve index to move a point from.
671
- * @param {boolean} obtainHandleLength - Moves the point with keeping the original handle length.
672
- * @param {boolean} updateArcLength - The amount to move the addressed vertex by.
673
- * @instance
674
- * @private
675
- * @memberof BezierPath
676
- * @return {void}
677
- **/
678
- adjustSuccessorControlPoint(curveIndex, obtainHandleLength, updateArcLengths) {
679
- if (!this.adjustCircular && curveIndex + 1 > this.getCurveCount())
680
- return; // false;
681
- var mainCurve = this.getCurveAt(curveIndex);
682
- var neighbourCurve = this.getCurveAt((curveIndex + 1) % this.getCurveCount());
683
- /* return */ BezierPath.adjustNeighbourControlPoint(mainCurve, neighbourCurve, mainCurve.getEndPoint(), // the reference point
684
- mainCurve.getEndControlPoint(), // the dragged control point
685
- neighbourCurve.getStartPoint(), // the neighbour's point
686
- neighbourCurve.getStartControlPoint(), // the neighbour's control point to adjust
687
- obtainHandleLength, updateArcLengths);
688
- }
689
- /**
690
- * This helper function adjusts the given point's successor's control point.
691
- *
692
- * @method adjustNeighbourControlPoint
693
- * @param {CubicBezierCurve} mainCurve
694
- * @param {CubicBezierCurve} neighbourCurve
695
- * @param {Vertex} mainPoint
696
- * @param {Vertex} mainControlPoint
697
- * @param {Vertex} neighbourPoint
698
- * @param {Vertex} neighbourControlPoint
699
- * @param {boolean} obtainHandleLengths
700
- * @param {boolean} updateArcLengths
701
- * @instance
702
- * @private
703
- * @memberof BezierPath
704
- * @return {void}
705
- **/
706
- static adjustNeighbourControlPoint(_mainCurve, // TODO: remove param
707
- neighbourCurve, mainPoint, mainControlPoint, neighbourPoint, neighbourControlPoint, obtainHandleLengths, _updateArcLengths // TODO: remove param
708
- ) {
709
- // Calculate start handle length
710
- var mainHandleBounds = new Vertex(mainControlPoint.x - mainPoint.x, mainControlPoint.y - mainPoint.y);
711
- var neighbourHandleBounds = new Vertex(neighbourControlPoint.x - neighbourPoint.x, neighbourControlPoint.y - neighbourPoint.y);
712
- var mainHandleLength = Math.sqrt(Math.pow(mainHandleBounds.x, 2) + Math.pow(mainHandleBounds.y, 2));
713
- var neighbourHandleLength = Math.sqrt(Math.pow(neighbourHandleBounds.x, 2) + Math.pow(neighbourHandleBounds.y, 2));
714
- if (mainHandleLength <= 0.1)
715
- return; // no secure length available for division? What about zoom? Use EPSILON?
716
- // Just invert the main handle (keep length or not?
717
- if (obtainHandleLengths) {
718
- neighbourControlPoint.set(neighbourPoint.x - mainHandleBounds.x * (neighbourHandleLength / mainHandleLength), neighbourPoint.y - mainHandleBounds.y * (neighbourHandleLength / mainHandleLength));
719
- }
720
- else {
721
- neighbourControlPoint.set(neighbourPoint.x - mainHandleBounds.x, neighbourPoint.y - mainHandleBounds.y);
722
- }
723
- neighbourCurve.updateArcLengths();
724
- }
725
- //--- BEGIN --- Implement interface `IBounded`
726
- /**
727
- * Get the bounds of this Bézier path.
728
- *
729
- * Note the the curves' underlyung segment buffers are used to determine the bounds. The more
730
- * elements the segment buffers have, the more precise the returned bounds will be.
731
- *
732
- * @return {Bounds} The bounds of this Bézier path.
733
- **/
734
- getBounds() {
735
- const min = new Vertex(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY);
736
- const max = new Vertex(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY);
737
- var b;
738
- for (var i = 0; i < this.bezierCurves.length; i++) {
739
- b = this.bezierCurves[i].getBounds();
740
- min.x = Math.min(min.x, b.min.x);
741
- min.y = Math.min(min.y, b.min.y);
742
- max.x = Math.max(max.x, b.max.x);
743
- max.y = Math.max(max.y, b.max.y);
744
- }
745
- return new Bounds(min, max);
746
- }
747
- //--- END --- Implement interface `IBounded`
748
- /**
749
- * Get n 'equally' distributed vertices along this Bézier path.
750
- *
751
- * As the changing curvature of the B slines makes prediction of distances difficult, the
752
- * returned vertices' distances are only relatively equal:
753
- * - the distance grows where curvature is large.
754
- * - the distance shrinks where curvature is small.
755
- *
756
- * Only the distance mean of all consecutive is 1/n-th of the total arc length.
757
- *
758
- * Usually this approximation is good enough for most use cases.
759
- *
760
- * @param {number} pointCount - (must be at least 2) The number of desired points (start and end point included).
761
- * @return {Array<Vertex>}
762
- */
763
- getEvenDistributionVertices(pointCount) {
764
- if (pointCount < 2) {
765
- throw new Error("pointCount must be larger than one; is " + pointCount + ".");
766
- }
767
- const result = [];
768
- if (this.bezierCurves.length === 0) {
769
- return result;
770
- }
771
- // Fetch and add the start point from the source polygon
772
- var polygonPoint = new Vertex(this.bezierCurves[0].startPoint);
773
- result.push(polygonPoint);
774
- // if (this.bezierCurves.length === 1) {
775
- // return result;
776
- // }
777
- const perimeter = this.totalArcLength;
778
- const stepSize = perimeter / (pointCount - 1);
779
- const n = this.bezierCurves.length;
780
- let curveIndex = 0;
781
- let segmentLength = this.bezierCurves[0].arcLength;
782
- let curSegmentU = stepSize;
783
- let i = 1;
784
- while (i < pointCount && curveIndex < n) {
785
- // Check if next eq point is inside this segment
786
- if (curSegmentU < segmentLength) {
787
- var newPoint = this.bezierCurves[curveIndex].getPoint(curSegmentU);
788
- result.push(newPoint);
789
- curSegmentU += stepSize;
790
- i++;
791
- }
792
- else {
793
- curveIndex++;
794
- curSegmentU = curSegmentU - segmentLength;
795
- segmentLength = curveIndex < n ? this.bezierCurves[curveIndex].arcLength : 0;
796
- }
797
- }
798
- result.push(new Vertex(this.bezierCurves[n - 1].endPoint));
799
- return result;
800
- }
801
- /**
802
- * Clone this BezierPath (deep clone).
803
- *
804
- * @method clone
805
- * @instance
806
- * @memberof BezierPath
807
- * @return {BezierPath}
808
- **/
809
- clone() {
810
- var path = new BezierPath(); // undefined);
811
- for (var i = 0; i < this.bezierCurves.length; i++) {
812
- path.bezierCurves.push(this.bezierCurves[i].clone());
813
- // Connect splines
814
- if (i > 0)
815
- path.bezierCurves[i - 1].endPoint = path.bezierCurves[i].startPoint;
816
- }
817
- path.updateArcLengths();
818
- path.adjustCircular = this.adjustCircular;
819
- return path;
820
- }
821
- /**
822
- * Compare this and the passed Bézier path.
823
- *
824
- * @method equals
825
- * @param {BezierPath} path - The pass to compare with.
826
- * @instance
827
- * @memberof BezierPath
828
- * @return {boolean}
829
- **/
830
- equals(path) {
831
- if (!path)
832
- return false;
833
- // Check if path contains the credentials
834
- if (!path.bezierCurves)
835
- return false;
836
- if (typeof path.bezierCurves.length == "undefined")
837
- return false;
838
- if (path.bezierCurves.length != this.bezierCurves.length)
839
- return false;
840
- for (var i = 0; i < this.bezierCurves.length; i++) {
841
- if (!this.bezierCurves[i].equals(path.bezierCurves[i]))
842
- return false;
843
- }
844
- return true;
845
- }
846
- /**
847
- * This function should invalidate any installed listeners and invalidate this object.
848
- * After calling this function the object might not hold valid data any more and
849
- * should not be used.
850
- *
851
- * @method destroy
852
- * @instance
853
- * @memberof BezierPath
854
- */
855
- destroy() {
856
- for (var i = 0; i < this.bezierCurves.length; i++) {
857
- this.bezierCurves[i].destroy();
858
- }
859
- this.isDestroyed = true;
860
- }
861
- /**
862
- * Convert this path to an array of path points that can be drawn by the default DrawLib
863
- * implementations.
864
- *
865
- * @method toPathPoints
866
- * @instance
867
- * @memberof BezierPath
868
- * @return {Array<XYCoords>}
869
- */
870
- toPathPoints() {
871
- if (this.bezierCurves.length === 0) {
872
- return [];
873
- }
874
- if (this.bezierCurves.length === 1) {
875
- return [
876
- this.bezierCurves[0].startPoint,
877
- this.bezierCurves[0].startControlPoint,
878
- this.bezierCurves[0].endControlPoint,
879
- this.bezierCurves[0].endPoint
880
- ];
881
- }
882
- const arr = [];
883
- arr.push(this.bezierCurves[0].startPoint);
884
- arr.push(this.bezierCurves[0].startControlPoint);
885
- for (var i = 1; i < this.bezierCurves.length; i++) {
886
- arr.push(this.bezierCurves[i - 1].endControlPoint);
887
- arr.push(this.bezierCurves[i - 1].endPoint);
888
- arr.push(this.bezierCurves[i].startPoint);
889
- arr.push(this.bezierCurves[i].startControlPoint);
890
- }
891
- arr.push(this.bezierCurves[0].endControlPoint);
892
- arr.push(this.bezierCurves[0].endPoint);
893
- return arr;
894
- }
895
- /**
896
- * Create a JSON string representation of this bézier curve.
897
- *
898
- * @method toJSON
899
- * @param {boolean} prettyFormat - If true then the function will add line breaks.
900
- * @instance
901
- * @memberof BezierPath
902
- * @return {string} The JSON string.
903
- **/
904
- toJSON(prettyFormat) {
905
- var buffer = [];
906
- buffer.push("["); // array begin
907
- for (var i = 0; i < this.bezierCurves.length; i++) {
908
- if (i > 0)
909
- buffer.push(",");
910
- if (prettyFormat)
911
- buffer.push("\n\t");
912
- else
913
- buffer.push(" ");
914
- buffer.push(this.bezierCurves[i].toJSON(prettyFormat));
915
- }
916
- if (this.bezierCurves.length != 0)
917
- buffer.push(" ");
918
- buffer.push("]"); // array end
919
- return buffer.join(""); // Convert to string, with empty separator.
920
- }
921
- /**
922
- * Parse a BezierPath from the given JSON string.
923
- *
924
- * @method fromJSON
925
- * @param {string} jsonString - The string with the JSON data.
926
- * @throw An error if the string is not JSON or does not contain a bezier path object.
927
- * @static
928
- * @memberof BezierPath
929
- * @return {BezierPath} The parsed bezier path instance.
930
- **/
931
- static fromJSON(jsonString) {
932
- var obj = JSON.parse(jsonString);
933
- return BezierPath.fromArray(obj);
934
- }
935
- /**
936
- * Construct a new path with a single curve. Adding more curves is always possible.
937
- *
938
- * @method fromCurve
939
- * @param {CubicBezierCurve} curve - The curve to construct a new path from.
940
- * @static
941
- * @memberof BezierPath
942
- * @return {BezierPath} The constructed bezier path instance.
943
- */
944
- static fromCurve(curve) {
945
- const path = new BezierPath(); // []);
946
- path.addCurve(curve);
947
- return path;
948
- }
949
- /**
950
- * Create a BezierPath instance from the given array.
951
- *
952
- * @method fromArray
953
- * @param {Vertex[][]} arr - A two-dimensional array containing the bezier path vertices.
954
- * @throw An error if the array does not contain proper bezier path data.
955
- * @static
956
- * @memberof BezierPath
957
- * @return {BezierPath} The bezier path instance retrieved from the array data.
958
- **/
959
- static fromArray(obj) {
960
- if (!Array.isArray(obj)) {
961
- throw "[BezierPath.fromArray] Passed object must be an array.";
962
- }
963
- const arr = obj; // FORCE?
964
- if (arr.length < 1) {
965
- throw "[BezierPath.fromArray] Passed array must contain at least one bezier curve (has " + arr.length + ").";
966
- }
967
- // Create an empty bezier path
968
- var bPath = new BezierPath(); // undefined);
969
- var lastCurve = null;
970
- for (var i = 0; i < arr.length; i++) {
971
- // Convert object (or array?) to bezier curve
972
- var bCurve;
973
- if (CubicBezierCurve.isInstance(arr[i])) {
974
- bCurve = arr[i].clone();
975
- }
976
- else if (0 in arr[i] && 1 in arr[i] && 2 in arr[i] && 3 in arr[i]) {
977
- if (!arr[i][0] || !arr[i][1] || !arr[i][2] || !arr[i][3])
978
- throw "Cannot convert path data to BezierPath instance. At least one element is undefined (index=" + i + "): " + arr[i];
979
- bCurve = CubicBezierCurve.fromArray(arr[i]);
980
- }
981
- else {
982
- bCurve = CubicBezierCurve.fromObject(arr[i]);
983
- }
984
- // Set curve start point?
985
- // (avoid duplicate point instances!)
986
- if (lastCurve)
987
- bCurve.startPoint = lastCurve.endPoint;
988
- // Add to path's internal list
989
- bPath.bezierCurves.push(bCurve);
990
- // bPath.totalArcLength += bCurve.getLength();
991
- lastCurve = bCurve;
992
- }
993
- bPath.updateArcLengths();
994
- // Bezier segments added. Done
995
- return bPath;
996
- }
997
- /**
998
- * This function converts the bezier path into a string containing
999
- * integer values only.
1000
- * The points' float values are rounded to 1 digit after the comma.
1001
- *
1002
- * The returned string represents a JSON array (with leading '[' and
1003
- * trailing ']', the separator is ',').
1004
- *
1005
- * @method toReducedListRepresentation
1006
- * @param {number} digits - The number of digits to be used after the comma '.'.
1007
- * @instance
1008
- * @memberof BezierPath
1009
- * @return {string} The reduced list representation of this path.
1010
- **/
1011
- toReducedListRepresentation(digits) {
1012
- if (typeof digits == "undefined")
1013
- digits = 1;
1014
- var buffer = [];
1015
- buffer.push("["); // array begin
1016
- for (var i = 0; i < this.bezierCurves.length; i++) {
1017
- var curve = this.bezierCurves[i];
1018
- buffer.push(curve.getStartPoint().x.toFixed(digits));
1019
- buffer.push(",");
1020
- buffer.push(curve.getStartPoint().y.toFixed(digits));
1021
- buffer.push(",");
1022
- buffer.push(curve.getStartControlPoint().x.toFixed(digits));
1023
- buffer.push(",");
1024
- buffer.push(curve.getStartControlPoint().y.toFixed(digits));
1025
- buffer.push(",");
1026
- buffer.push(curve.getEndControlPoint().x.toFixed(digits));
1027
- buffer.push(",");
1028
- buffer.push(curve.getEndControlPoint().y.toFixed(digits));
1029
- buffer.push(",");
1030
- }
1031
- if (this.bezierCurves.length != 0) {
1032
- var curve = this.bezierCurves[this.bezierCurves.length - 1];
1033
- buffer.push(curve.getEndPoint().x.toFixed(digits));
1034
- buffer.push(",");
1035
- buffer.push(curve.getEndPoint().y.toFixed(digits));
1036
- }
1037
- buffer.push("]"); // array end
1038
- return buffer.join(""); // Convert to string, with empty separator.
1039
- }
1040
- /**
1041
- * Parse a BezierPath instance from the reduced list representation.<br>
1042
- * <br>
1043
- * The passed string must represent a JSON array containing numbers only.
1044
- *
1045
- * @method fromReducedListRepresentation
1046
- * @param {string} listJSON - The number of digits to be used after the floating point.
1047
- * @throw An error if the string is malformed.
1048
- * @instance
1049
- * @memberof BezierPath
1050
- * @return {BezierPath} The bezier path instance retrieved from the string.
1051
- **/
1052
- static fromReducedListRepresentation(listJSON, adjustCircular) {
1053
- // Parse the array
1054
- var pointArray = JSON.parse(listJSON);
1055
- if (!pointArray.length) {
1056
- console.log("Cannot parse bezier path from non-array object nor from empty point list.");
1057
- throw "Cannot parse bezier path from non-array object nor from empty point list.";
1058
- }
1059
- if (pointArray.length < 8) {
1060
- console.log("Cannot build bezier path. The passed array must contain at least 8 elements (numbers).");
1061
- throw "Cannot build bezier path. The passed array must contain at least 8 elements (numbers).";
1062
- }
1063
- return BezierPath.fromReducedList(pointArray, adjustCircular);
1064
- }
1065
- /**
1066
- * Convert a reduced list representation (array of numeric coordinates) to a BezierPath instance.
1067
- *
1068
- * The array's length must be 6*n + 2:
1069
- * - [sx, sy, scx, scy, ecx, ecy, ... , ex, ey ]
1070
- * | | | |
1071
- * +--- sequence of curves --------+ +-end-+
1072
- *
1073
- * @param {number[]} pointArray
1074
- * @returns BezierPath
1075
- */
1076
- static fromReducedList(pointArray, adjustCircular) {
1077
- // Convert to object
1078
- var bezierPath = new BezierPath(); // null); // No points yet
1079
- var startPoint = new Vertex();
1080
- var startControlPoint;
1081
- var endControlPoint;
1082
- var endPoint;
1083
- var i = 0;
1084
- do {
1085
- if (i == 0) {
1086
- // firstStartPoint =
1087
- startPoint = new Vertex(pointArray[i], pointArray[i + 1]);
1088
- }
1089
- startControlPoint = new Vertex(pointArray[i + 2], pointArray[i + 3]);
1090
- endControlPoint = new Vertex(pointArray[i + 4], pointArray[i + 5]);
1091
- // if (i + 8 >= pointArray.length) {
1092
- // endPoint = firstStartPoint;
1093
- // } else {
1094
- endPoint = new Vertex(pointArray[i + 6], pointArray[i + 7]);
1095
- // }
1096
- var bCurve = new CubicBezierCurve(startPoint, endPoint, startControlPoint, endControlPoint);
1097
- bezierPath.bezierCurves.push(bCurve);
1098
- startPoint = endPoint;
1099
- i += 6;
1100
- } while (i + 2 < pointArray.length);
1101
- bezierPath.adjustCircular = adjustCircular !== null && adjustCircular !== void 0 ? adjustCircular : false;
1102
- if (adjustCircular) {
1103
- bezierPath.bezierCurves[bezierPath.bezierCurves.length - 1].endPoint = bezierPath.bezierCurves[0].startPoint;
1104
- }
1105
- bezierPath.updateArcLengths();
1106
- return bezierPath;
1107
- }
1108
- }
1109
- // +---------------------------------------------------------------------------------
1110
- // | These constants equal the values from CubicBezierCurve.
1111
- // +-------------------------------
1112
- /** @constant {number} */
1113
- BezierPath.START_POINT = 0;
1114
- /** @constant {number} */
1115
- BezierPath.START_CONTROL_POINT = 1;
1116
- /** @constant {number} */
1117
- BezierPath.END_CONTROL_POINT = 2;
1118
- /** @constant {number} */
1119
- BezierPath.END_POINT = 3;
1120
- //# sourceMappingURL=BezierPath.js.map