浏览代码

Need all intersection points for curved corners

Mark Tolmacs 6 月之前
父节点
当前提交
fe58962bfd
共有 1 个文件被更改,包括 6 次插入15 次删除
  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);
     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;
 }
 }
 
 
 /**
 /**