Browse Source

Need all intersection points for curved corners

Mark Tolmacs 6 months ago
parent
commit
fe58962bfd
1 changed files with 6 additions and 15 deletions
  1. 6 15
      packages/math/src/curve.ts

+ 6 - 15
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];
-  }
-
-  solution = calculate(initial_guesses[1]);
-  if (solution) {
-    return [solution];
-  }
-
-  solution = calculate(initial_guesses[2]);
-  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);
 
-  return [];
+  return solutions;
 }
 
 /**