flo-mat 2.0.1 → 2.0.3

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 (405) hide show
  1. package/.eslintrc.cjs +69 -0
  2. package/README.md +9 -27
  3. package/browser/index.js +29604 -7008
  4. package/browser/index.min.js +1 -2
  5. package/node/circle.d.ts +20 -20
  6. package/node/circle.js +31 -31
  7. package/node/circle.js.map +1 -1
  8. package/node/compare-curvatures-at-interface.d.ts +19 -19
  9. package/node/compare-curvatures-at-interface.js +124 -124
  10. package/node/compare-curvatures-at-interface.js.map +1 -1
  11. package/node/contact-point.d.ts +26 -26
  12. package/node/contact-point.js +25 -25
  13. package/node/cp-node/clone.d.ts +8 -8
  14. package/node/cp-node/clone.js +31 -31
  15. package/node/cp-node/clone.js.map +1 -1
  16. package/node/cp-node/remove.d.ts +9 -9
  17. package/node/cp-node/remove.js +19 -19
  18. package/node/cp-node/remove.js.map +1 -1
  19. package/node/cp-node.d.ts +202 -202
  20. package/node/cp-node.js +320 -320
  21. package/node/cp-node.js.map +1 -1
  22. package/node/curve.d.ts +46 -46
  23. package/node/curve.js +88 -88
  24. package/node/curve.js.map +1 -1
  25. package/node/debug/cp-node-for-debugging.d.ts +11 -11
  26. package/node/debug/cp-node-for-debugging.js +1 -1
  27. package/node/debug/debug-elem-types.d.ts +32 -32
  28. package/node/debug/debug-elem-types.js +1 -1
  29. package/node/debug/debug.d.ts +50 -50
  30. package/node/debug/debug.js +75 -75
  31. package/node/debug/functions/draw-elem/bounding-hull.d.ts +3 -3
  32. package/node/debug/functions/draw-elem/bounding-hull.js +7 -7
  33. package/node/debug/functions/draw-elem/bounding-hull.js.map +1 -1
  34. package/node/debug/functions/draw-elem/branch.d.ts +4 -4
  35. package/node/debug/functions/draw-elem/branch.js +22 -22
  36. package/node/debug/functions/draw-elem/branch.js.map +1 -1
  37. package/node/debug/functions/draw-elem/culls.d.ts +4 -4
  38. package/node/debug/functions/draw-elem/culls.js +21 -21
  39. package/node/debug/functions/draw-elem/culls.js.map +1 -1
  40. package/node/debug/functions/draw-elem/draw-circle-percent.d.ts +3 -3
  41. package/node/debug/functions/draw-elem/draw-circle-percent.js +12 -12
  42. package/node/debug/functions/draw-elem/draw-circle-percent.js.map +1 -1
  43. package/node/debug/functions/draw-elem/draw-elem.d.ts +8 -8
  44. package/node/debug/functions/draw-elem/draw-elem.js +45 -45
  45. package/node/debug/functions/draw-elem/draw-elem.js.map +1 -1
  46. package/node/debug/functions/draw-elem/dull-corner.d.ts +4 -4
  47. package/node/debug/functions/draw-elem/dull-corner.js +10 -10
  48. package/node/debug/functions/draw-elem/dull-corner.js.map +1 -1
  49. package/node/debug/functions/draw-elem/leaves.d.ts +4 -4
  50. package/node/debug/functions/draw-elem/leaves.js +12 -12
  51. package/node/debug/functions/draw-elem/leaves.js.map +1 -1
  52. package/node/debug/functions/draw-elem/loop.d.ts +4 -4
  53. package/node/debug/functions/draw-elem/loop.js +11 -11
  54. package/node/debug/functions/draw-elem/loops.d.ts +4 -4
  55. package/node/debug/functions/draw-elem/loops.js +6 -6
  56. package/node/debug/functions/draw-elem/loose-bounding-box.d.ts +3 -3
  57. package/node/debug/functions/draw-elem/loose-bounding-box.js +9 -9
  58. package/node/debug/functions/draw-elem/loose-bounding-box.js.map +1 -1
  59. package/node/debug/functions/draw-elem/mat.d.ts +4 -4
  60. package/node/debug/functions/draw-elem/mat.js +30 -30
  61. package/node/debug/functions/draw-elem/mat.js.map +1 -1
  62. package/node/debug/functions/draw-elem/max-vertex.d.ts +4 -4
  63. package/node/debug/functions/draw-elem/max-vertex.js +8 -8
  64. package/node/debug/functions/draw-elem/max-vertex.js.map +1 -1
  65. package/node/debug/functions/draw-elem/min-y.d.ts +4 -4
  66. package/node/debug/functions/draw-elem/min-y.js +13 -13
  67. package/node/debug/functions/draw-elem/min-y.js.map +1 -1
  68. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.d.ts +4 -4
  69. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js +12 -12
  70. package/node/debug/functions/draw-elem/one-prong-at-dull-corner.js.map +1 -1
  71. package/node/debug/functions/draw-elem/one-prong.d.ts +4 -4
  72. package/node/debug/functions/draw-elem/one-prong.js +16 -16
  73. package/node/debug/functions/draw-elem/one-prong.js.map +1 -1
  74. package/node/debug/functions/draw-elem/sharp-corner.d.ts +4 -4
  75. package/node/debug/functions/draw-elem/sharp-corner.js +9 -9
  76. package/node/debug/functions/draw-elem/sharp-corner.js.map +1 -1
  77. package/node/debug/functions/draw-elem/three-prong.d.ts +4 -4
  78. package/node/debug/functions/draw-elem/three-prong.js +16 -16
  79. package/node/debug/functions/draw-elem/three-prong.js.map +1 -1
  80. package/node/debug/functions/draw-elem/tight-bounding-box.d.ts +3 -3
  81. package/node/debug/functions/draw-elem/tight-bounding-box.js +7 -7
  82. package/node/debug/functions/draw-elem/tight-bounding-box.js.map +1 -1
  83. package/node/debug/functions/draw-elem/two-prong.d.ts +4 -4
  84. package/node/debug/functions/draw-elem/two-prong.js +36 -36
  85. package/node/debug/functions/draw-elem/two-prong.js.map +1 -1
  86. package/node/debug/functions/draw-elem/vertex.d.ts +4 -4
  87. package/node/debug/functions/draw-elem/vertex.js +27 -27
  88. package/node/debug/functions/draw-elem/vertex.js.map +1 -1
  89. package/node/debug/functions/general.d.ts +48 -48
  90. package/node/debug/functions/general.js +52 -52
  91. package/node/debug/functions/general.js.map +1 -1
  92. package/node/debug/functions/three-prong.d.ts +11 -11
  93. package/node/debug/functions/three-prong.js +184 -184
  94. package/node/debug/functions/three-prong.js.map +1 -1
  95. package/node/debug/functions/two-prong.d.ts +13 -13
  96. package/node/debug/functions/two-prong.js +117 -117
  97. package/node/debug/functions/two-prong.js.map +1 -1
  98. package/node/debug/three-prong-for-debugging.d.ts +31 -31
  99. package/node/debug/three-prong-for-debugging.js +20 -20
  100. package/node/debug/two-prong-for-debugging.d.ts +26 -26
  101. package/node/debug/two-prong-for-debugging.js +1 -1
  102. package/node/find-mats.d.ts +26 -26
  103. package/node/find-mats.js +122 -125
  104. package/node/find-mats.js.map +1 -1
  105. package/node/get-boundary-bezier-parts-to-next.d.ts +9 -9
  106. package/node/get-boundary-bezier-parts-to-next.js +42 -42
  107. package/node/get-boundary-bezier-parts-to-next.js.map +1 -1
  108. package/node/get-boundary-beziers-to-next.d.ts +8 -8
  109. package/node/get-boundary-beziers-to-next.js +44 -44
  110. package/node/get-boundary-beziers-to-next.js.map +1 -1
  111. package/node/get-bounding-box-.d.ts +2 -2
  112. package/node/get-bounding-box-.js +4 -4
  113. package/node/get-branches.d.ts +12 -12
  114. package/node/get-branches.js +68 -68
  115. package/node/get-branches.js.map +1 -1
  116. package/node/get-curve/get-curve-between.d.ts +9 -9
  117. package/node/get-curve/get-curve-between.js +56 -56
  118. package/node/get-curve/get-curve-between.js.map +1 -1
  119. package/node/get-curve/get-edge-direction.d.ts +9 -9
  120. package/node/get-curve/get-edge-direction.js +53 -53
  121. package/node/get-curve/get-edge-direction.js.map +1 -1
  122. package/node/get-curve-to-next.d.ts +9 -9
  123. package/node/get-curve-to-next.js +11 -11
  124. package/node/get-interface-ccw.d.ts +24 -24
  125. package/node/get-interface-ccw.js +97 -97
  126. package/node/get-interface-ccw.js.map +1 -1
  127. package/node/index.d.ts +36 -36
  128. package/node/index.js +32 -32
  129. package/node/loop/get-max-coordinate.d.ts +10 -10
  130. package/node/loop/get-max-coordinate.js +43 -43
  131. package/node/loop/get-max-coordinate.js.map +1 -1
  132. package/node/loop.d.ts +16 -16
  133. package/node/loop.js +34 -34
  134. package/node/loop.js.map +1 -1
  135. package/node/mat/add-to-cp-graph.d.ts +16 -16
  136. package/node/mat/add-to-cp-graph.js +30 -30
  137. package/node/mat/add-to-cp-graph.js.map +1 -1
  138. package/node/mat/bezier-piece.d.ts +12 -12
  139. package/node/mat/bezier-piece.js +1 -1
  140. package/node/mat/closest-boundary-point/closest-points-on-curve.d.ts +14 -14
  141. package/node/mat/closest-boundary-point/closest-points-on-curve.js +72 -73
  142. package/node/mat/closest-boundary-point/closest-points-on-curve.js.map +1 -1
  143. package/node/mat/closest-boundary-point/cull-bezier-pieces.d.ts +9 -9
  144. package/node/mat/closest-boundary-point/cull-bezier-pieces.js +19 -19
  145. package/node/mat/closest-boundary-point/cull-bezier-pieces.js.map +1 -1
  146. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.d.ts +11 -11
  147. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js +24 -24
  148. package/node/mat/closest-boundary-point/cull-by-loose-bounding-box.js.map +1 -1
  149. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.d.ts +11 -11
  150. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js +26 -26
  151. package/node/mat/closest-boundary-point/cull-by-tight-boundary-box.js.map +1 -1
  152. package/node/mat/closest-boundary-point/get-best-distance-squared.d.ts +8 -8
  153. package/node/mat/closest-boundary-point/get-best-distance-squared.js +24 -24
  154. package/node/mat/closest-boundary-point/get-best-distance-squared.js.map +1 -1
  155. package/node/mat/closest-boundary-point/get-close-boundary-points.d.ts +17 -17
  156. package/node/mat/closest-boundary-point/get-close-boundary-points.js +80 -80
  157. package/node/mat/closest-boundary-point/get-close-boundary-points.js.map +1 -1
  158. package/node/mat/closest-boundary-point/get-closest-boundary-point.d.ts +18 -18
  159. package/node/mat/closest-boundary-point/get-closest-boundary-point.js +40 -40
  160. package/node/mat/closest-boundary-point/get-closest-boundary-point.js.map +1 -1
  161. package/node/mat/corner.d.ts +37 -37
  162. package/node/mat/corner.js +1 -1
  163. package/node/mat/create-new-cp-tree.d.ts +9 -9
  164. package/node/mat/create-new-cp-tree.js +23 -23
  165. package/node/mat/create-new-cp-tree.js.map +1 -1
  166. package/node/mat/elem-type-two-prong.d.ts +3 -3
  167. package/node/mat/elem-type-two-prong.js +1 -1
  168. package/node/mat/find-mat/add-1-prong.d.ts +12 -12
  169. package/node/mat/find-mat/add-1-prong.js +42 -42
  170. package/node/mat/find-mat/add-1-prong.js.map +1 -1
  171. package/node/mat/find-mat/add-2-prong.d.ts +21 -21
  172. package/node/mat/find-mat/add-2-prong.js +192 -192
  173. package/node/mat/find-mat/add-2-prong.js.map +1 -1
  174. package/node/mat/find-mat/add-3-prong.d.ts +19 -19
  175. package/node/mat/find-mat/add-3-prong.js +54 -54
  176. package/node/mat/find-mat/add-3-prong.js.map +1 -1
  177. package/node/mat/find-mat/add-debug-info.d.ts +9 -9
  178. package/node/mat/find-mat/add-debug-info.js +67 -69
  179. package/node/mat/find-mat/add-debug-info.js.map +1 -1
  180. package/node/mat/find-mat/create-get-interesting-points-on-loop.d.ts +11 -11
  181. package/node/mat/find-mat/create-get-interesting-points-on-loop.js +51 -51
  182. package/node/mat/find-mat/create-get-interesting-points-on-loop.js.map +1 -1
  183. package/node/mat/find-mat/create-initial-cp-graph.d.ts +12 -12
  184. package/node/mat/find-mat/create-initial-cp-graph.js +40 -40
  185. package/node/mat/find-mat/create-initial-cp-graph.js.map +1 -1
  186. package/node/mat/find-mat/find-2-prong/add-debug-info.d.ts +8 -8
  187. package/node/mat/find-mat/find-2-prong/add-debug-info.js +21 -21
  188. package/node/mat/find-mat/find-2-prong/add-debug-info.js.map +1 -1
  189. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.d.ts +11 -11
  190. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js +29 -29
  191. package/node/mat/find-mat/find-2-prong/cull-bezier-pieces.js.map +1 -1
  192. package/node/mat/find-mat/find-2-prong/find-2-prong.d.ts +37 -37
  193. package/node/mat/find-mat/find-2-prong/find-2-prong.js +232 -232
  194. package/node/mat/find-mat/find-2-prong/find-2-prong.js.map +1 -1
  195. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.d.ts +9 -9
  196. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js +39 -39
  197. package/node/mat/find-mat/find-2-prong/find-equidistant-point-on-line.js.map +1 -1
  198. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.d.ts +11 -11
  199. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js +37 -37
  200. package/node/mat/find-mat/find-2-prong/get-initial-bezier-pieces.js.map +1 -1
  201. package/node/mat/find-mat/find-2-prong/x-for-debugging.d.ts +9 -9
  202. package/node/mat/find-mat/find-2-prong/x-for-debugging.js +1 -1
  203. package/node/mat/find-mat/find-3-prong/calc-better-x.d.ts +19 -19
  204. package/node/mat/find-mat/find-3-prong/calc-better-x.js +36 -36
  205. package/node/mat/find-mat/find-3-prong/calc-better-x.js.map +1 -1
  206. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.d.ts +13 -13
  207. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js +25 -25
  208. package/node/mat/find-mat/find-3-prong/calc-initial-3-prong-center.js.map +1 -1
  209. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.d.ts +22 -22
  210. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js +159 -159
  211. package/node/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.js.map +1 -1
  212. package/node/mat/find-mat/find-3-prong/find-3-prong.d.ts +16 -16
  213. package/node/mat/find-mat/find-3-prong/find-3-prong.js +76 -76
  214. package/node/mat/find-mat/find-3-prong/find-3-prong.js.map +1 -1
  215. package/node/mat/find-mat/find-3-prong/get-closest-points.d.ts +9 -9
  216. package/node/mat/find-mat/find-3-prong/get-closest-points.js +16 -16
  217. package/node/mat/find-mat/find-3-prong/get-closest-points.js.map +1 -1
  218. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.d.ts +15 -15
  219. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js +20 -20
  220. package/node/mat/find-mat/find-and-add-2-prongs-on-all-paths.js.map +1 -1
  221. package/node/mat/find-mat/find-and-add-2-prongs.d.ts +16 -16
  222. package/node/mat/find-mat/find-and-add-2-prongs.js +73 -74
  223. package/node/mat/find-mat/find-and-add-2-prongs.js.map +1 -1
  224. package/node/mat/find-mat/find-and-add-3-prongs.d.ts +13 -13
  225. package/node/mat/find-mat/find-and-add-3-prongs.js +146 -147
  226. package/node/mat/find-mat/find-and-add-3-prongs.js.map +1 -1
  227. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.d.ts +14 -14
  228. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js +33 -33
  229. package/node/mat/find-mat/find-and-add-hole-closing-2-prongs.js.map +1 -1
  230. package/node/mat/find-mat/get-potential-2-prongs.d.ts +4 -4
  231. package/node/mat/find-mat/get-potential-2-prongs.js +16 -16
  232. package/node/mat/find-mat/get-potential-2-prongs.js.map +1 -1
  233. package/node/mat/find-mat/get-sharp-corners.d.ts +4 -4
  234. package/node/mat/find-mat/get-sharp-corners.js +17 -17
  235. package/node/mat/find-mat/get-sharp-corners.js.map +1 -1
  236. package/node/mat/geometry/get-closest-square-distance-to-rect.d.ts +5 -5
  237. package/node/mat/geometry/get-closest-square-distance-to-rect.js +49 -49
  238. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.d.ts +5 -5
  239. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js +15 -15
  240. package/node/mat/geometry/get-closest-squared-distance-to-rotated-rect.js.map +1 -1
  241. package/node/mat/get-boundary-piece-beziers.d.ts +11 -11
  242. package/node/mat/get-boundary-piece-beziers.js +58 -58
  243. package/node/mat/get-boundary-piece-beziers.js.map +1 -1
  244. package/node/mat/get-contact-circles-at-interface.d.ts +8 -8
  245. package/node/mat/get-contact-circles-at-interface.js +20 -20
  246. package/node/mat/get-contact-circles-at-interface.js.map +1 -1
  247. package/node/mat/get-largest-vertex.d.ts +4 -4
  248. package/node/mat/get-largest-vertex.js +9 -9
  249. package/node/mat/get-leaves.d.ts +4 -4
  250. package/node/mat/get-leaves.js +12 -12
  251. package/node/mat/get-leaves.js.map +1 -1
  252. package/node/mat/get-neighboring-cps.d.ts +14 -14
  253. package/node/mat/get-neighboring-cps.js +30 -30
  254. package/node/mat/get-neighboring-cps.js.map +1 -1
  255. package/node/mat/get-two-prong-type.d.ts +5 -5
  256. package/node/mat/get-two-prong-type.js +8 -8
  257. package/node/mat/is-another-cp-closeby.d.ts +20 -20
  258. package/node/mat/is-another-cp-closeby.js +55 -55
  259. package/node/mat/is-another-cp-closeby.js.map +1 -1
  260. package/node/mat/simplify-mat-map-only.d.ts +23 -23
  261. package/node/mat/simplify-mat-map-only.js +80 -80
  262. package/node/mat/simplify-mat-map-only.js.map +1 -1
  263. package/node/mat/to-scale-axis/add-debug-info.d.ts +7 -7
  264. package/node/mat/to-scale-axis/add-debug-info.js +13 -13
  265. package/node/mat/to-scale-axis/add-debug-info.js.map +1 -1
  266. package/node/mat/to-scale-axis/cull-non-cycles.d.ts +9 -9
  267. package/node/mat/to-scale-axis/cull-non-cycles.js +51 -51
  268. package/node/mat/to-scale-axis/cull-non-cycles.js.map +1 -1
  269. package/node/mat/to-scale-axis/cull.d.ts +12 -12
  270. package/node/mat/to-scale-axis/cull.js +132 -132
  271. package/node/mat/to-scale-axis/cull.js.map +1 -1
  272. package/node/mat/trim-mat.d.ts +8 -8
  273. package/node/mat/trim-mat.js +16 -16
  274. package/node/mat/trim-mat.js.map +1 -1
  275. package/node/mat.d.ts +22 -22
  276. package/node/mat.js +1 -1
  277. package/node/point-on-shape.d.ts +73 -73
  278. package/node/point-on-shape.js +167 -167
  279. package/node/point-on-shape.js.map +1 -1
  280. package/node/simplify-mat.d.ts +16 -16
  281. package/node/simplify-mat.js +71 -71
  282. package/node/simplify-mat.js.map +1 -1
  283. package/node/svg/get-loop-bounds.d.ts +12 -12
  284. package/node/svg/get-loop-bounds.js +80 -80
  285. package/node/svg/get-loop-bounds.js.map +1 -1
  286. package/node/svg/get-min-y-pos.d.ts +8 -8
  287. package/node/svg/get-min-y-pos.js +9 -9
  288. package/node/svg/get-shape-bounds.d.ts +9 -9
  289. package/node/svg/get-shape-bounds.js +35 -35
  290. package/node/svg/get-shape-bounds.js.map +1 -1
  291. package/node/sweep-line/sweep-line.d.ts +18 -18
  292. package/node/sweep-line/sweep-line.js +72 -72
  293. package/node/sweep-line/sweep-line.js.map +1 -1
  294. package/node/to-scale-axis.d.ts +16 -16
  295. package/node/to-scale-axis.js +74 -73
  296. package/node/to-scale-axis.js.map +1 -1
  297. package/node/traverse-edges.d.ts +10 -10
  298. package/node/traverse-edges.js +21 -21
  299. package/node/traverse-edges.js.map +1 -1
  300. package/node/traverse-vertices.d.ts +12 -12
  301. package/node/traverse-vertices.js +27 -27
  302. package/node/traverse-vertices.js.map +1 -1
  303. package/package.json +29 -24
  304. package/src/circle.ts +3 -3
  305. package/src/compare-curvatures-at-interface.ts +36 -36
  306. package/src/cp-node/clone.ts +6 -6
  307. package/src/cp-node/remove.ts +4 -4
  308. package/src/cp-node.ts +20 -20
  309. package/src/curve.ts +19 -19
  310. package/src/debug/functions/draw-elem/bounding-hull.ts +2 -2
  311. package/src/debug/functions/draw-elem/branch.ts +4 -4
  312. package/src/debug/functions/draw-elem/culls.ts +4 -4
  313. package/src/debug/functions/draw-elem/draw-circle-percent.ts +2 -2
  314. package/src/debug/functions/draw-elem/draw-elem.ts +1 -1
  315. package/src/debug/functions/draw-elem/dull-corner.ts +3 -3
  316. package/src/debug/functions/draw-elem/leaves.ts +4 -4
  317. package/src/debug/functions/draw-elem/loose-bounding-box.ts +2 -2
  318. package/src/debug/functions/draw-elem/mat.ts +4 -4
  319. package/src/debug/functions/draw-elem/max-vertex.ts +2 -2
  320. package/src/debug/functions/draw-elem/min-y.ts +3 -3
  321. package/src/debug/functions/draw-elem/one-prong-at-dull-corner.ts +4 -4
  322. package/src/debug/functions/draw-elem/one-prong.ts +4 -4
  323. package/src/debug/functions/draw-elem/sharp-corner.ts +2 -2
  324. package/src/debug/functions/draw-elem/three-prong.ts +7 -7
  325. package/src/debug/functions/draw-elem/tight-bounding-box.ts +1 -1
  326. package/src/debug/functions/draw-elem/two-prong.ts +1 -1
  327. package/src/debug/functions/draw-elem/vertex.ts +20 -14
  328. package/src/debug/functions/general.ts +3 -3
  329. package/src/debug/functions/three-prong.ts +37 -37
  330. package/src/debug/functions/two-prong.ts +15 -15
  331. package/src/find-mats.ts +19 -19
  332. package/src/get-boundary-bezier-parts-to-next.ts +8 -8
  333. package/src/get-boundary-beziers-to-next.ts +8 -8
  334. package/src/get-branches.ts +7 -7
  335. package/src/get-curve/get-curve-between.ts +21 -21
  336. package/src/get-curve/get-edge-direction.ts +13 -14
  337. package/src/get-interface-ccw.ts +12 -12
  338. package/src/loop/get-max-coordinate.ts +7 -7
  339. package/src/loop.ts +4 -4
  340. package/src/mat/add-to-cp-graph.ts +8 -8
  341. package/src/mat/closest-boundary-point/closest-points-on-curve.ts +5 -6
  342. package/src/mat/closest-boundary-point/cull-bezier-pieces.ts +1 -1
  343. package/src/mat/closest-boundary-point/cull-by-loose-bounding-box.ts +5 -5
  344. package/src/mat/closest-boundary-point/cull-by-tight-boundary-box.ts +5 -5
  345. package/src/mat/closest-boundary-point/get-best-distance-squared.ts +5 -5
  346. package/src/mat/closest-boundary-point/get-close-boundary-points.ts +15 -15
  347. package/src/mat/closest-boundary-point/get-closest-boundary-point.ts +4 -4
  348. package/src/mat/cmp-cp-on-delta.ts +5 -5
  349. package/src/mat/create-new-cp-tree.ts +3 -3
  350. package/src/mat/find-mat/add-1-prong.ts +5 -5
  351. package/src/mat/find-mat/add-2-prong.ts +42 -42
  352. package/src/mat/find-mat/add-3-prong.ts +1 -1
  353. package/src/mat/find-mat/add-debug-info.ts +18 -20
  354. package/src/mat/find-mat/create-get-interesting-points-on-loop.ts +4 -4
  355. package/src/mat/find-mat/create-initial-cp-graph.ts +11 -11
  356. package/src/mat/find-mat/find-2-prong/add-debug-info.ts +4 -4
  357. package/src/mat/find-mat/find-2-prong/cull-bezier-pieces.ts +5 -5
  358. package/src/mat/find-mat/find-2-prong/find-2-prong.ts +27 -27
  359. package/src/mat/find-mat/find-2-prong/find-equidistant-point-on-line.ts +7 -7
  360. package/src/mat/find-mat/find-2-prong/get-initial-bezier-pieces.ts +4 -4
  361. package/src/mat/find-mat/find-3-prong/calc-better-x.ts +4 -4
  362. package/src/mat/find-mat/find-3-prong/calc-initial-3-prong-center.ts +3 -3
  363. package/src/mat/find-mat/find-3-prong/find-3-prong-for-delta3s.ts +37 -37
  364. package/src/mat/find-mat/find-3-prong/find-3-prong.ts +16 -16
  365. package/src/mat/find-mat/find-3-prong/get-closest-points.ts +1 -1
  366. package/src/mat/find-mat/find-and-add-2-prongs-on-all-paths.ts +2 -2
  367. package/src/mat/find-mat/find-and-add-2-prongs.ts +14 -16
  368. package/src/mat/find-mat/find-and-add-3-prongs.ts +19 -19
  369. package/src/mat/find-mat/find-and-add-hole-closing-2-prongs.ts +6 -6
  370. package/src/mat/find-mat/get-potential-2-prongs.ts +4 -4
  371. package/src/mat/find-mat/get-sharp-corners.ts +4 -4
  372. package/src/mat/find-mat/get-total-abs-curvature.ts +1 -1
  373. package/src/mat/geometry/get-closest-squared-distance-to-rotated-rect.ts +3 -3
  374. package/src/mat/get-boundary-piece-beziers.ts +5 -5
  375. package/src/mat/get-contact-circles-at-interface.ts +1 -1
  376. package/src/mat/get-edges-as-array.ts +2 -2
  377. package/src/mat/get-leaves.ts +2 -2
  378. package/src/mat/get-neighboring-cps.ts +1 -1
  379. package/src/mat/is-another-cp-closeby.ts +9 -9
  380. package/src/mat/simplify-mat-map-only.ts +15 -15
  381. package/src/mat/to-scale-axis/add-debug-info.ts +6 -3
  382. package/src/mat/to-scale-axis/add-to-tree.ts +10 -10
  383. package/src/mat/to-scale-axis/calc-groups.ts +19 -19
  384. package/src/mat/to-scale-axis/create-spacial-tree.ts +4 -4
  385. package/src/mat/to-scale-axis/cull-non-cycles.ts +5 -5
  386. package/src/mat/to-scale-axis/cull.ts +5 -5
  387. package/src/mat/to-scale-axis/get-engulfed-vertices.ts +18 -18
  388. package/src/mat/trim-mat.ts +1 -1
  389. package/src/point-on-shape.ts +16 -16
  390. package/src/simplify-mat.ts +10 -10
  391. package/src/svg/get-curvature-at-interface.ts +6 -8
  392. package/src/svg/get-extreme.ts +1 -1
  393. package/src/svg/get-loop-bounds.ts +13 -13
  394. package/src/svg/get-shape-bounds.ts +4 -4
  395. package/src/sweep-line/are-boxes-intersecting.ts +4 -4
  396. package/src/sweep-line/sweep-line.ts +8 -8
  397. package/src/to-scale-axis.ts +18 -17
  398. package/src/traverse-edges.ts +2 -2
  399. package/src/traverse-vertices.ts +2 -2
  400. package/tsconfig.json +0 -1
  401. package/webpack.config.cjs +12 -63
  402. package/browser/index.min.js.LICENSE.txt +0 -2819
  403. package/browser/index.module.js +0 -7149
  404. package/browser/index.module.min.js +0 -2
  405. package/browser/index.module.min.js.LICENSE.txt +0 -2819
@@ -1,14 +1,14 @@
1
- import { LlRbTree } from 'flo-ll-rb-tree';
2
- import { Loop } from '../../loop.js';
3
- import { CpNode } from '../../cp-node.js';
4
- /**
5
- * @hidden
6
- * Find and add two-prongs that remove any holes in the shape.
7
- * @param loops The loops (that as a precondition must be ordered from
8
- * highest (i.e. smallest y-value) topmost point loops to lowest)
9
- * @param cpTrees
10
- * @param extreme The maximum coordinate value used to calculate floating point
11
- * tolerances.
12
- */
13
- declare function findAndAddHoleClosing2Prongs(loops: Loop[], cpTrees: Map<Loop, LlRbTree<CpNode>>, extreme: number): void;
14
- export { findAndAddHoleClosing2Prongs };
1
+ import { LlRbTree } from 'flo-ll-rb-tree';
2
+ import { Loop } from '../../loop.js';
3
+ import { CpNode } from '../../cp-node.js';
4
+ /**
5
+ * @hidden
6
+ * Find and add two-prongs that remove any holes in the shape.
7
+ * @param loops The loops (that as a precondition must be ordered from
8
+ * highest (i.e. smallest y-value) topmost point loops to lowest)
9
+ * @param cpTrees
10
+ * @param extreme The maximum coordinate value used to calculate floating point
11
+ * tolerances.
12
+ */
13
+ declare function findAndAddHoleClosing2Prongs(loops: Loop[], cpTrees: Map<Loop, LlRbTree<CpNode>>, extreme: number): void;
14
+ export { findAndAddHoleClosing2Prongs };
@@ -1,34 +1,34 @@
1
- import { getShapeBounds } from '../../svg/get-shape-bounds.js';
2
- import { getMinYPos } from '../../svg/get-min-y-pos.js';
3
- import { find2Prong } from './find-2-prong/find-2-prong.js';
4
- import { add2Prong } from './add-2-prong.js';
5
- /**
6
- * @hidden
7
- * Find and add two-prongs that remove any holes in the shape.
8
- * @param loops The loops (that as a precondition must be ordered from
9
- * highest (i.e. smallest y-value) topmost point loops to lowest)
10
- * @param cpTrees
11
- * @param extreme The maximum coordinate value used to calculate floating point
12
- * tolerances.
13
- */
14
- function findAndAddHoleClosing2Prongs(loops, cpTrees, extreme) {
15
- let bounds = getShapeBounds(loops);
16
- let squaredDiagonalLength = (bounds.maxX.p[0] - bounds.minX.p[0]) ** 2 +
17
- (bounds.maxY.p[1] - bounds.minY.p[1]) ** 2;
18
- // Find the topmost points on each loop.
19
- let minYs = loops.map(getMinYPos);
20
- // We start at 1 since 0 is the outer (root) loop
21
- for (let k = 1; k < minYs.length; k++) {
22
- let posSource = minYs[k];
23
- let holeClosingTwoProng = find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, posSource, true, k);
24
- if (!holeClosingTwoProng) {
25
- throw new Error(`Unable to find hole-closing 2-prong`);
26
- }
27
- // TODO important - handle case of n-prong, i.e. more than one antipode
28
- // - currently we only handle case of single antipode (the general case)
29
- let { circle, zs: posAntipodes } = holeClosingTwoProng;
30
- add2Prong(cpTrees, circle, posSource, [posAntipodes[0]], true, extreme);
31
- }
32
- }
33
- export { findAndAddHoleClosing2Prongs };
1
+ import { getShapeBounds } from '../../svg/get-shape-bounds.js';
2
+ import { getMinYPos } from '../../svg/get-min-y-pos.js';
3
+ import { find2Prong } from './find-2-prong/find-2-prong.js';
4
+ import { add2Prong } from './add-2-prong.js';
5
+ /**
6
+ * @hidden
7
+ * Find and add two-prongs that remove any holes in the shape.
8
+ * @param loops The loops (that as a precondition must be ordered from
9
+ * highest (i.e. smallest y-value) topmost point loops to lowest)
10
+ * @param cpTrees
11
+ * @param extreme The maximum coordinate value used to calculate floating point
12
+ * tolerances.
13
+ */
14
+ function findAndAddHoleClosing2Prongs(loops, cpTrees, extreme) {
15
+ const bounds = getShapeBounds(loops);
16
+ const squaredDiagonalLength = (bounds.maxX.p[0] - bounds.minX.p[0]) ** 2 +
17
+ (bounds.maxY.p[1] - bounds.minY.p[1]) ** 2;
18
+ // Find the topmost points on each loop.
19
+ const minYs = loops.map(getMinYPos);
20
+ // We start at 1 since 0 is the outer (root) loop
21
+ for (let k = 1; k < minYs.length; k++) {
22
+ const posSource = minYs[k];
23
+ const holeClosingTwoProng = find2Prong(loops, extreme, squaredDiagonalLength, cpTrees, posSource, true, k);
24
+ if (!holeClosingTwoProng) {
25
+ throw new Error(`Unable to find hole-closing 2-prong`);
26
+ }
27
+ // TODO important - handle case of n-prong, i.e. more than one antipode
28
+ // - currently we only handle case of single antipode (the general case)
29
+ const { circle, zs: posAntipodes } = holeClosingTwoProng;
30
+ add2Prong(cpTrees, circle, posSource, [posAntipodes[0]], true, extreme);
31
+ }
32
+ }
33
+ export { findAndAddHoleClosing2Prongs };
34
34
  //# sourceMappingURL=find-and-add-hole-closing-2-prongs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-and-add-hole-closing-2-prongs.js","sourceRoot":"","sources":["../../../src/mat/find-mat/find-and-add-hole-closing-2-prongs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;;;;;GAQG;AACH,SAAS,4BAA4B,CAC7B,KAAa,EACb,OAAmC,EACnC,OAAe;IAEnB,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,qBAAqB,GACrB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC;QACxC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC;IAE7C,wCAAwC;IACxC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAElC,iDAAiD;IACjD,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,mBAAmB,GAAG,UAAU,CAChC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACrE,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SAC1D;QAED,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC;QAEvD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KAC3E;AACL,CAAC;AAGD,OAAO,EAAE,4BAA4B,EAAE,CAAA"}
1
+ {"version":3,"file":"find-and-add-hole-closing-2-prongs.js","sourceRoot":"","sources":["../../../src/mat/find-mat/find-and-add-hole-closing-2-prongs.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;;;;;GAQG;AACH,SAAS,4BAA4B,CAC7B,KAAa,EACb,OAAmC,EACnC,OAAe;IAEnB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,qBAAqB,GACvB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC;QACxC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAE,CAAC,CAAC;IAE7C,wCAAwC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEpC,iDAAiD;IACjD,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,mBAAmB,GAAG,UAAU,CAClC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACrE,CAAC;QAEF,IAAI,CAAC,mBAAmB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SAC1D;QAED,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC;QAEzD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KAC3E;AACL,CAAC;AAGD,OAAO,EAAE,4BAA4B,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { IPointOnShape } from '../../point-on-shape.js';
2
- /** @hidden */
3
- declare function getPotential2Prongs(possPerLoop: IPointOnShape[][]): IPointOnShape[][];
4
- export { getPotential2Prongs };
1
+ import { IPointOnShape } from '../../point-on-shape.js';
2
+ /** @hidden */
3
+ declare function getPotential2Prongs(possPerLoop: IPointOnShape[][]): IPointOnShape[][];
4
+ export { getPotential2Prongs };
@@ -1,17 +1,17 @@
1
- import { isPosQuiteSharpCorner } from '../../point-on-shape.js';
2
- /** @hidden */
3
- function getPotential2Prongs(possPerLoop) {
4
- let for2ProngsArray = [];
5
- for (let poss of possPerLoop) {
6
- let for2Prongs = [];
7
- for (let pos of poss) {
8
- if (!isPosQuiteSharpCorner(pos)) {
9
- for2Prongs.push(pos);
10
- }
11
- }
12
- for2ProngsArray.push(for2Prongs);
13
- }
14
- return for2ProngsArray;
15
- }
16
- export { getPotential2Prongs };
1
+ import { isPosQuiteSharpCorner } from '../../point-on-shape.js';
2
+ /** @hidden */
3
+ function getPotential2Prongs(possPerLoop) {
4
+ const for2ProngsArray = [];
5
+ for (const poss of possPerLoop) {
6
+ const for2Prongs = [];
7
+ for (const pos of poss) {
8
+ if (!isPosQuiteSharpCorner(pos)) {
9
+ for2Prongs.push(pos);
10
+ }
11
+ }
12
+ for2ProngsArray.push(for2Prongs);
13
+ }
14
+ return for2ProngsArray;
15
+ }
16
+ export { getPotential2Prongs };
17
17
  //# sourceMappingURL=get-potential-2-prongs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-potential-2-prongs.js","sourceRoot":"","sources":["../../../src/mat/find-mat/get-potential-2-prongs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,cAAc;AACd,SAAS,mBAAmB,CAAC,WAA8B;IACvD,IAAI,eAAe,GAAG,EAAE,CAAC;IAEzB,KAAK,IAAI,IAAI,IAAI,WAAW,EAAE;QAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YAClB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxB;SACJ;QAED,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"get-potential-2-prongs.js","sourceRoot":"","sources":["../../../src/mat/find-mat/get-potential-2-prongs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,cAAc;AACd,SAAS,mBAAmB,CAAC,WAA8B;IACvD,MAAM,eAAe,GAAG,EAAE,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC5B,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACxB;SACJ;QAED,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { IPointOnShape } from '../../point-on-shape.js';
2
- /** @hidden */
3
- declare function getSharpCorners(possPerLoop: IPointOnShape[][]): IPointOnShape[][];
4
- export { getSharpCorners };
1
+ import { IPointOnShape } from '../../point-on-shape.js';
2
+ /** @hidden */
3
+ declare function getSharpCorners(possPerLoop: IPointOnShape[][]): IPointOnShape[][];
4
+ export { getSharpCorners };
@@ -1,18 +1,18 @@
1
- import { isPosQuiteSharpCorner } from '../../point-on-shape.js';
2
- /** @hidden */
3
- function getSharpCorners(possPerLoop) {
4
- let sharpCornersPerLoop = [];
5
- for (let poss of possPerLoop) {
6
- let sharpCorners = [];
7
- for (let pos of poss) {
8
- //if (PointOnShape.isQuiteSharpCorner(pos)) {
9
- if (isPosQuiteSharpCorner(pos)) {
10
- sharpCorners.push(pos);
11
- }
12
- }
13
- sharpCornersPerLoop.push(sharpCorners);
14
- }
15
- return sharpCornersPerLoop;
16
- }
17
- export { getSharpCorners };
1
+ import { isPosQuiteSharpCorner } from '../../point-on-shape.js';
2
+ /** @hidden */
3
+ function getSharpCorners(possPerLoop) {
4
+ const sharpCornersPerLoop = [];
5
+ for (const poss of possPerLoop) {
6
+ const sharpCorners = [];
7
+ for (const pos of poss) {
8
+ //if (PointOnShape.isQuiteSharpCorner(pos)) {
9
+ if (isPosQuiteSharpCorner(pos)) {
10
+ sharpCorners.push(pos);
11
+ }
12
+ }
13
+ sharpCornersPerLoop.push(sharpCorners);
14
+ }
15
+ return sharpCornersPerLoop;
16
+ }
17
+ export { getSharpCorners };
18
18
  //# sourceMappingURL=get-sharp-corners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-sharp-corners.js","sourceRoot":"","sources":["../../../src/mat/find-mat/get-sharp-corners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,cAAc;AACd,SAAS,eAAe,CAAC,WAA8B;IACnD,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAE7B,KAAK,IAAI,IAAI,IAAI,WAAW,EAAE;QAC1B,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YAClB,6CAA6C;YAC7C,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;QAED,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAGD,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"get-sharp-corners.js","sourceRoot":"","sources":["../../../src/mat/find-mat/get-sharp-corners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG/E,cAAc;AACd,SAAS,eAAe,CAAC,WAA8B;IACnD,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC5B,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,6CAA6C;YAC7C,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;gBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;QAED,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAGD,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
- /**
2
- * @hidden
3
- */
4
- declare function getClosestSquareDistanceToRect(box: number[][], p: number[]): number;
5
- export { getClosestSquareDistanceToRect };
1
+ /**
2
+ * @hidden
3
+ */
4
+ declare function getClosestSquareDistanceToRect(box: number[][], p: number[]): number;
5
+ export { getClosestSquareDistanceToRect };
@@ -1,50 +1,50 @@
1
- import { squaredDistanceBetween as squaredDistanceBetween_ } from 'flo-vector2d';
2
- const squaredDistanceBetween = squaredDistanceBetween_;
3
- /**
4
- * @hidden
5
- */
6
- function getClosestSquareDistanceToRect(box, p) {
7
- const p0 = box[0];
8
- const p1 = box[1];
9
- const x0 = p0[0];
10
- const y0 = p0[1];
11
- const x1 = p1[0];
12
- const y1 = p1[1];
13
- const xp = p[0];
14
- const yp = p[1];
15
- //let [[x0,y0],[x1,y1]] = box;
16
- //let [xp,yp] = p;
17
- if (xp < x0) {
18
- if (yp < y0) {
19
- return squaredDistanceBetween(box[0], p);
20
- }
21
- else if (yp > y1) {
22
- return squaredDistanceBetween([x0, y1], p);
23
- }
24
- else {
25
- return (x0 - xp) ** 2;
26
- }
27
- }
28
- else if (xp > x1) {
29
- if (yp < y0) {
30
- return squaredDistanceBetween([x1, y0], p);
31
- }
32
- else if (yp > y1) {
33
- return squaredDistanceBetween(box[1], p);
34
- }
35
- else {
36
- return (xp - x1) ** 2;
37
- }
38
- }
39
- else {
40
- if (yp < y0) {
41
- return (y0 - yp) ** 2;
42
- }
43
- else if (yp > y1) {
44
- return (yp - y1) ** 2;
45
- }
46
- return 0;
47
- }
48
- }
49
- export { getClosestSquareDistanceToRect };
1
+ import { squaredDistanceBetween as squaredDistanceBetween_ } from 'flo-vector2d';
2
+ const squaredDistanceBetween = squaredDistanceBetween_;
3
+ /**
4
+ * @hidden
5
+ */
6
+ function getClosestSquareDistanceToRect(box, p) {
7
+ const p0 = box[0];
8
+ const p1 = box[1];
9
+ const x0 = p0[0];
10
+ const y0 = p0[1];
11
+ const x1 = p1[0];
12
+ const y1 = p1[1];
13
+ const xp = p[0];
14
+ const yp = p[1];
15
+ //let [[x0,y0],[x1,y1]] = box;
16
+ //let [xp,yp] = p;
17
+ if (xp < x0) {
18
+ if (yp < y0) {
19
+ return squaredDistanceBetween(box[0], p);
20
+ }
21
+ else if (yp > y1) {
22
+ return squaredDistanceBetween([x0, y1], p);
23
+ }
24
+ else {
25
+ return (x0 - xp) ** 2;
26
+ }
27
+ }
28
+ else if (xp > x1) {
29
+ if (yp < y0) {
30
+ return squaredDistanceBetween([x1, y0], p);
31
+ }
32
+ else if (yp > y1) {
33
+ return squaredDistanceBetween(box[1], p);
34
+ }
35
+ else {
36
+ return (xp - x1) ** 2;
37
+ }
38
+ }
39
+ else {
40
+ if (yp < y0) {
41
+ return (y0 - yp) ** 2;
42
+ }
43
+ else if (yp > y1) {
44
+ return (yp - y1) ** 2;
45
+ }
46
+ return 0;
47
+ }
48
+ }
49
+ export { getClosestSquareDistanceToRect };
50
50
  //# sourceMappingURL=get-closest-square-distance-to-rect.js.map
@@ -1,5 +1,5 @@
1
- /**
2
- * @hidden
3
- */
4
- declare function getClosestSquaredDistanceToRotatedRect(ps: number[][], p: number[]): number;
5
- export { getClosestSquaredDistanceToRotatedRect };
1
+ /**
2
+ * @hidden
3
+ */
4
+ declare function getClosestSquaredDistanceToRotatedRect(ps: number[][], p: number[]): number;
5
+ export { getClosestSquaredDistanceToRotatedRect };
@@ -1,16 +1,16 @@
1
- import { squaredDistanceBetweenPointAndLineSegment, squaredDistanceBetween } from 'flo-vector2d';
2
- /**
3
- * @hidden
4
- */
5
- function getClosestSquaredDistanceToRotatedRect(ps, p) {
6
- let ds = [0, 1, 2, 3].map(i => squaredDistanceBetweenPointAndLineSegment(p, [ps[i], ps[(i + 1) % 4]]));
7
- let width = squaredDistanceBetween(ps[0], ps[1]);
8
- let height = squaredDistanceBetween(ps[0], ps[3]);
9
- if (ds[0] <= height && ds[2] <= height &&
10
- ds[1] <= width && ds[3] <= width) {
11
- return 0; // Inside rotated rect
12
- }
13
- return Math.min(...ds);
14
- }
15
- export { getClosestSquaredDistanceToRotatedRect };
1
+ import { squaredDistanceBetweenPointAndLineSegment, squaredDistanceBetween } from 'flo-vector2d';
2
+ /**
3
+ * @hidden
4
+ */
5
+ function getClosestSquaredDistanceToRotatedRect(ps, p) {
6
+ const ds = [0, 1, 2, 3].map(i => squaredDistanceBetweenPointAndLineSegment(p, [ps[i], ps[(i + 1) % 4]]));
7
+ const width = squaredDistanceBetween(ps[0], ps[1]);
8
+ const height = squaredDistanceBetween(ps[0], ps[3]);
9
+ if (ds[0] <= height && ds[2] <= height &&
10
+ ds[1] <= width && ds[3] <= width) {
11
+ return 0; // Inside rotated rect
12
+ }
13
+ return Math.min(...ds);
14
+ }
15
+ export { getClosestSquaredDistanceToRotatedRect };
16
16
  //# sourceMappingURL=get-closest-squared-distance-to-rotated-rect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-closest-squared-distance-to-rotated-rect.js","sourceRoot":"","sources":["../../../src/mat/geometry/get-closest-squared-distance-to-rotated-rect.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yCAAyC,EAAE,sBAAsB,EACjE,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,SAAS,sCAAsC,CAAC,EAAc,EAAE,CAAW;IAC1E,IAAI,EAAE,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,yCAAyC,CACnE,CAAC,EACD,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACtB,CACD,CAAC;IAEF,IAAI,KAAK,GAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM;QACrC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;QAEnC,OAAO,CAAC,CAAC,CAAC,sBAAsB;KAChC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AACxB,CAAC;AAGD,OAAO,EAAE,sCAAsC,EAAE,CAAA"}
1
+ {"version":3,"file":"get-closest-squared-distance-to-rotated-rect.js","sourceRoot":"","sources":["../../../src/mat/geometry/get-closest-squared-distance-to-rotated-rect.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,yCAAyC,EAAE,sBAAsB,EACjE,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,SAAS,sCAAsC,CAAC,EAAc,EAAE,CAAW;IAC1E,MAAM,EAAE,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,yCAAyC,CACrE,CAAC,EACD,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACtB,CACD,CAAC;IAEF,MAAM,KAAK,GAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM;QACrC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE;QAEnC,OAAO,CAAC,CAAC,CAAC,sBAAsB;KAChC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AACxB,CAAC;AAGD,OAAO,EAAE,sCAAsC,EAAE,CAAA"}
@@ -1,11 +1,11 @@
1
- import { CpNode } from '../cp-node.js';
2
- import { BezierPiece } from './bezier-piece.js';
3
- /**
4
- * @hidden
5
- * Returns the ordered cubic bezier pieces (i.e a bezier with a t range)
6
- * from the given boundary piece.
7
- * @param cpNodes - An ordered pair that represents the start and end points of
8
- * the boundary piece
9
- */
10
- declare function getBoundaryPieceBeziers(cpNodes: CpNode[]): BezierPiece[];
11
- export { getBoundaryPieceBeziers };
1
+ import { CpNode } from '../cp-node.js';
2
+ import { BezierPiece } from './bezier-piece.js';
3
+ /**
4
+ * @hidden
5
+ * Returns the ordered cubic bezier pieces (i.e a bezier with a t range)
6
+ * from the given boundary piece.
7
+ * @param cpNodes - An ordered pair that represents the start and end points of
8
+ * the boundary piece
9
+ */
10
+ declare function getBoundaryPieceBeziers(cpNodes: CpNode[]): BezierPiece[];
11
+ export { getBoundaryPieceBeziers };
@@ -1,59 +1,59 @@
1
- import { isPosQuiteSharpCorner } from '../point-on-shape.js';
2
- import { compareCps } from '../contact-point.js';
3
- /**
4
- * @hidden
5
- * Returns the ordered cubic bezier pieces (i.e a bezier with a t range)
6
- * from the given boundary piece.
7
- * @param cpNodes - An ordered pair that represents the start and end points of
8
- * the boundary piece
9
- */
10
- function getBoundaryPieceBeziers(cpNodes) {
11
- let cpThis = cpNodes[0];
12
- let cpEnd = cpNodes[1];
13
- let bezierPieces = [];
14
- // As opposed to going around the circle and taking the last exit
15
- let goStraight = true;
16
- do {
17
- if (!goStraight) {
18
- goStraight = true;
19
- cpThis = cpThis.prevOnCircle; // take last exit
20
- continue;
21
- }
22
- goStraight = false;
23
- let posThis = cpThis.cp.pointOnShape;
24
- let posNext = cpThis.next.cp.pointOnShape;
25
- if (posNext.curve === posThis.curve &&
26
- //PointOnShape.isQuiteSharpCorner(posThis) &&
27
- //PointOnShape.isQuiteSharpCorner(posNext)) {
28
- isPosQuiteSharpCorner(posThis) &&
29
- isPosQuiteSharpCorner(posNext)) {
30
- // Do nothing
31
- }
32
- else if (posNext.curve === posThis.curve &&
33
- compareCps(cpThis.next.cp, cpThis.cp) > 0) {
34
- bezierPieces.push({ curve: posThis.curve, ts: [posThis.t, posNext.t] });
35
- }
36
- else {
37
- bezierPieces.push({ curve: posThis.curve, ts: [posThis.t, 1] });
38
- if (cpThis.cp.pointOnShape.curve.loop === cpThis.next.cp.pointOnShape.curve.loop) {
39
- addSkippedBeziers(bezierPieces, posThis.curve, posNext.curve, posNext.t);
40
- }
41
- }
42
- cpThis = cpThis.next;
43
- } while (cpThis !== cpEnd);
44
- return bezierPieces;
45
- }
46
- /**
47
- * @hidden
48
- * Adds pieces of skipped beziers
49
- */
50
- function addSkippedBeziers(bezierPieces, curveStart, curveEnd, t1) {
51
- let curveThis = curveStart;
52
- do {
53
- curveThis = curveThis.next;
54
- let tEnd = curveThis === curveEnd ? t1 : 1;
55
- bezierPieces.push({ curve: curveThis, ts: [0, tEnd] });
56
- } while (curveThis !== curveEnd);
57
- }
58
- export { getBoundaryPieceBeziers };
1
+ import { isPosQuiteSharpCorner } from '../point-on-shape.js';
2
+ import { compareCps } from '../contact-point.js';
3
+ /**
4
+ * @hidden
5
+ * Returns the ordered cubic bezier pieces (i.e a bezier with a t range)
6
+ * from the given boundary piece.
7
+ * @param cpNodes - An ordered pair that represents the start and end points of
8
+ * the boundary piece
9
+ */
10
+ function getBoundaryPieceBeziers(cpNodes) {
11
+ let cpThis = cpNodes[0];
12
+ const cpEnd = cpNodes[1];
13
+ const bezierPieces = [];
14
+ // As opposed to going around the circle and taking the last exit
15
+ let goStraight = true;
16
+ do {
17
+ if (!goStraight) {
18
+ goStraight = true;
19
+ cpThis = cpThis.prevOnCircle; // take last exit
20
+ continue;
21
+ }
22
+ goStraight = false;
23
+ const posThis = cpThis.cp.pointOnShape;
24
+ const posNext = cpThis.next.cp.pointOnShape;
25
+ if (posNext.curve === posThis.curve &&
26
+ //PointOnShape.isQuiteSharpCorner(posThis) &&
27
+ //PointOnShape.isQuiteSharpCorner(posNext)) {
28
+ isPosQuiteSharpCorner(posThis) &&
29
+ isPosQuiteSharpCorner(posNext)) {
30
+ // Do nothing
31
+ }
32
+ else if (posNext.curve === posThis.curve &&
33
+ compareCps(cpThis.next.cp, cpThis.cp) > 0) {
34
+ bezierPieces.push({ curve: posThis.curve, ts: [posThis.t, posNext.t] });
35
+ }
36
+ else {
37
+ bezierPieces.push({ curve: posThis.curve, ts: [posThis.t, 1] });
38
+ if (cpThis.cp.pointOnShape.curve.loop === cpThis.next.cp.pointOnShape.curve.loop) {
39
+ addSkippedBeziers(bezierPieces, posThis.curve, posNext.curve, posNext.t);
40
+ }
41
+ }
42
+ cpThis = cpThis.next;
43
+ } while (cpThis !== cpEnd);
44
+ return bezierPieces;
45
+ }
46
+ /**
47
+ * @hidden
48
+ * Adds pieces of skipped beziers
49
+ */
50
+ function addSkippedBeziers(bezierPieces, curveStart, curveEnd, t1) {
51
+ let curveThis = curveStart;
52
+ do {
53
+ curveThis = curveThis.next;
54
+ const tEnd = curveThis === curveEnd ? t1 : 1;
55
+ bezierPieces.push({ curve: curveThis, ts: [0, tEnd] });
56
+ } while (curveThis !== curveEnd);
57
+ }
58
+ export { getBoundaryPieceBeziers };
59
59
  //# sourceMappingURL=get-boundary-piece-beziers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-boundary-piece-beziers.js","sourceRoot":"","sources":["../../src/mat/get-boundary-piece-beziers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,OAAiB;IAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,KAAK,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,iEAAiE;IACjE,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,GAAG;QACC,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB;YAC/C,SAAS;SACZ;QAED,UAAU,GAAG,KAAK,CAAC;QAEnB,IAAI,OAAO,GAAG,MAAM,CAAM,EAAE,CAAC,YAAY,CAAC;QAC1C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;QAE1C,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;YAC/B,8CAA8C;YAC9C,6CAA6C;YAC7C,qBAAqB,CAAC,OAAO,CAAC;YAC9B,qBAAqB,CAAC,OAAO,CAAC,EAAE;YAEhC,aAAa;SAChB;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;YAC/B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YAElD,YAAY,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CACvD,CAAC;SACL;aAAM;YACH,YAAY,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAC/C,CAAC;YAEF,IAAI,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC9E,iBAAiB,CACT,YAAY,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,CAAC,CAChB,CAAC;aACL;SACJ;QAED,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;KACxB,QAAQ,MAAM,KAAK,KAAK,EAAE;IAG3B,OAAO,YAAY,CAAC;AACxB,CAAC;AAGD;;;GAGG;AACH,SAAS,iBAAiB,CAClB,YAA4B,EAC5B,UAAoB,EACpB,QAAoB,EACpB,EAAqB;IAEzB,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,GAAG;QACC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KAC1D,QAAQ,SAAS,KAAK,QAAQ,EAAE;AACrC,CAAC;AAGD,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"get-boundary-piece-beziers.js","sourceRoot":"","sources":["../../src/mat/get-boundary-piece-beziers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,OAAiB;IAC9C,IAAI,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,iEAAiE;IACjE,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,GAAG;QACC,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,iBAAiB;YAC/C,SAAS;SACZ;QAED,UAAU,GAAG,KAAK,CAAC;QAEnB,MAAM,OAAO,GAAG,MAAM,CAAM,EAAE,CAAC,YAAY,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;QAE5C,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;YAC/B,8CAA8C;YAC9C,6CAA6C;YAC7C,qBAAqB,CAAC,OAAO,CAAC;YAC9B,qBAAqB,CAAC,OAAO,CAAC,EAAE;YAEhC,aAAa;SAChB;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;YAC/B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;YAElD,YAAY,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CACvD,CAAC;SACL;aAAM;YACH,YAAY,CAAC,IAAI,CACb,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAC/C,CAAC;YAEF,IAAI,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC9E,iBAAiB,CACT,YAAY,EACZ,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,CAAC,CAChB,CAAC;aACL;SACJ;QAED,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;KACxB,QAAQ,MAAM,KAAK,KAAK,EAAE;IAG3B,OAAO,YAAY,CAAC;AACxB,CAAC;AAGD;;;GAGG;AACH,SAAS,iBAAiB,CAClB,YAA4B,EAC5B,UAAoB,EACpB,QAAoB,EACpB,EAAqB;IAEzB,IAAI,SAAS,GAAG,UAAU,CAAC;IAC3B,GAAG;QACC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;QAC3B,MAAM,IAAI,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KAC1D,QAAQ,SAAS,KAAK,QAAQ,EAAE;AACrC,CAAC;AAGD,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1,8 +1,8 @@
1
- import { Curve } from '../curve.js';
2
- import { IPointOnShape } from '../point-on-shape.js';
3
- /**
4
- * @hidden
5
- * @param curve
6
- */
7
- declare function getContactCirclesAtInterface(curve: Curve): IPointOnShape[];
8
- export { getContactCirclesAtInterface };
1
+ import { Curve } from '../curve.js';
2
+ import { IPointOnShape } from '../point-on-shape.js';
3
+ /**
4
+ * @hidden
5
+ * @param curve
6
+ */
7
+ declare function getContactCirclesAtInterface(curve: Curve): IPointOnShape[];
8
+ export { getContactCirclesAtInterface };
@@ -1,21 +1,21 @@
1
- import { getCornerAtEnd } from '../curve.js';
2
- import { PointOnShape } from '../point-on-shape.js';
3
- /**
4
- * @hidden
5
- * @param curve
6
- */
7
- function getContactCirclesAtInterface(curve) {
8
- let { isQuiteSharp, isQuiteDull } = getCornerAtEnd(curve);
9
- if (isQuiteSharp) {
10
- return [new PointOnShape(curve, 1)];
11
- }
12
- else if (isQuiteDull) {
13
- return [
14
- new PointOnShape(curve, 1),
15
- new PointOnShape(curve.next, 0)
16
- ];
17
- }
18
- return [];
19
- }
20
- export { getContactCirclesAtInterface };
1
+ import { getCornerAtEnd } from '../curve.js';
2
+ import { PointOnShape } from '../point-on-shape.js';
3
+ /**
4
+ * @hidden
5
+ * @param curve
6
+ */
7
+ function getContactCirclesAtInterface(curve) {
8
+ const { isQuiteSharp, isQuiteDull } = getCornerAtEnd(curve);
9
+ if (isQuiteSharp) {
10
+ return [new PointOnShape(curve, 1)];
11
+ }
12
+ else if (isQuiteDull) {
13
+ return [
14
+ new PointOnShape(curve, 1),
15
+ new PointOnShape(curve.next, 0)
16
+ ];
17
+ }
18
+ return [];
19
+ }
20
+ export { getContactCirclesAtInterface };
21
21
  //# sourceMappingURL=get-contact-circles-at-interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-contact-circles-at-interface.js","sourceRoot":"","sources":["../../src/mat/get-contact-circles-at-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,cAAc,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;GAGG;AACH,SAAS,4BAA4B,CAAC,KAAY;IACjD,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1D,IAAI,YAAY,EAAE;QACjB,OAAO,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KACpC;SAAM,IAAI,WAAW,EAAE;QACvB,OAAO;YACN,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1B,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/B,CAAC;KACF;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAGD,OAAO,EAAE,4BAA4B,EAAE,CAAA"}
1
+ {"version":3,"file":"get-contact-circles-at-interface.js","sourceRoot":"","sources":["../../src/mat/get-contact-circles-at-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,cAAc,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;GAGG;AACH,SAAS,4BAA4B,CAAC,KAAY;IACjD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE5D,IAAI,YAAY,EAAE;QACjB,OAAO,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;KACpC;SAAM,IAAI,WAAW,EAAE;QACvB,OAAO;YACN,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1B,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/B,CAAC;KACF;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAGD,OAAO,EAAE,4BAA4B,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { CpNode } from '../cp-node.js';
2
- /** @hidden */
3
- declare function getLargestVertex(cpNodes: CpNode[]): CpNode;
4
- export { getLargestVertex };
1
+ import { CpNode } from '../cp-node.js';
2
+ /** @hidden */
3
+ declare function getLargestVertex(cpNodes: CpNode[]): CpNode;
4
+ export { getLargestVertex };
@@ -1,10 +1,10 @@
1
- /** @hidden */
2
- function getLargestVertex(cpNodes) {
3
- return cpNodes.reduce(function (maxCpNode, cpNode) {
4
- return maxCpNode.cp.circle.radius >= cpNode.cp.circle.radius
5
- ? maxCpNode
6
- : cpNode;
7
- }, cpNodes[0]);
8
- }
9
- export { getLargestVertex };
1
+ /** @hidden */
2
+ function getLargestVertex(cpNodes) {
3
+ return cpNodes.reduce(function (maxCpNode, cpNode) {
4
+ return maxCpNode.cp.circle.radius >= cpNode.cp.circle.radius
5
+ ? maxCpNode
6
+ : cpNode;
7
+ }, cpNodes[0]);
8
+ }
9
+ export { getLargestVertex };
10
10
  //# sourceMappingURL=get-largest-vertex.js.map