From fe58962bfd8b794cc2f2e4116ed159a664ac780e Mon Sep 17 00:00:00 2001 From: Mark Tolmacs Date: Sun, 2 Mar 2025 15:35:08 +0100 Subject: [PATCH] Need all intersection points for curved corners --- packages/math/src/curve.ts | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/packages/math/src/curve.ts b/packages/math/src/curve.ts index a79fb43a19..a0b2e75c5c 100644 --- a/packages/math/src/curve.ts +++ b/packages/math/src/curve.ts @@ -157,22 +157,13 @@ export function curveIntersectLineSegment< return bezierEquation(c, t); }; - let solution = calculate(initial_guesses[0]); - if (solution) { - return [solution]; - } + const solutions = [ + calculate(initial_guesses[0]), + calculate(initial_guesses[1]), + calculate(initial_guesses[2]), + ].filter((x, i, a): x is Point => x !== null && a.indexOf(x) === i); - solution = calculate(initial_guesses[1]); - if (solution) { - return [solution]; - } - - solution = calculate(initial_guesses[2]); - if (solution) { - return [solution]; - } - - return []; + return solutions; } /**