diff --git a/markdown/dev/reference/api/path/intersects/en.md b/markdown/dev/reference/api/path/intersects/en.md index 9b429b6d231..97cad61ceb1 100644 --- a/markdown/dev/reference/api/path/intersects/en.md +++ b/markdown/dev/reference/api/path/intersects/en.md @@ -5,6 +5,13 @@ title: Path.intersects() The `Path.intersects()` method returns the Point object(s) where the path intersects with a path you pass it. + +This method can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ``` diff --git a/markdown/dev/reference/api/path/intersectsx/en.md b/markdown/dev/reference/api/path/intersectsx/en.md index dd5da4d9464..178753caa4d 100644 --- a/markdown/dev/reference/api/path/intersectsx/en.md +++ b/markdown/dev/reference/api/path/intersectsx/en.md @@ -5,6 +5,13 @@ title: Path.intersectsX() The `Path.intersectsX()` method returns the Point object(s) where the path intersects with a given X-value. + +This method can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ```js diff --git a/markdown/dev/reference/api/path/intersectsy/en.md b/markdown/dev/reference/api/path/intersectsy/en.md index abf3a077eea..6b849101393 100644 --- a/markdown/dev/reference/api/path/intersectsy/en.md +++ b/markdown/dev/reference/api/path/intersectsy/en.md @@ -5,6 +5,13 @@ title: Path.intersectsY() The `Path.intersectsY()` method returns the Point object(s) where the path intersects with a given Y-value. + +This method can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ```js diff --git a/markdown/dev/reference/api/utils/curveintersectsx/en.md b/markdown/dev/reference/api/utils/curveintersectsx/en.md index 3f485f1e66a..5f0b868c506 100644 --- a/markdown/dev/reference/api/utils/curveintersectsx/en.md +++ b/markdown/dev/reference/api/utils/curveintersectsx/en.md @@ -5,11 +5,18 @@ title: utils.curveIntersectsX() The `utils.curveIntersectsX()` function finds the point(s) where a curve intersects a given X-value. + +This function can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ```js array | Point | false utils.curveIntersectsX( - Point start, + Point start, Point cp1, Point cp2, Point end, @@ -32,11 +39,11 @@ multiple intersections are found. points.cp1 = new Point(80, 10) points.cp2 = new Point(-50, 80) points.end = new Point(110, 70) - + paths.curve = new Path() .move(points.start) .curve(points.cp1, points.cp2, points.end) - + for (let x of [30, 40]) { points["from" + x] = new Point(x, 10) points["to" + x] = new Point(x, 80) @@ -45,12 +52,12 @@ multiple intersections are found. .line(points["to" + x]) .addClass("lining dashed") } - + snippets.i40 = new Snippet( "notch", utils.curveIntersectsX(points.start, points.cp1, points.cp2, points.end, 40) ) - + for (let p of utils.curveIntersectsX( points.start, points.cp1, @@ -72,4 +79,3 @@ This is a low-level (and faster) variant of [`Path.intersectsX()`](/reference/api/path/intersectsx). Instead of a path, you describe a single curve by passing the four points that describes it. - diff --git a/markdown/dev/reference/api/utils/curveintersectsy/en.md b/markdown/dev/reference/api/utils/curveintersectsy/en.md index ea4a252ea06..e25f14be1de 100644 --- a/markdown/dev/reference/api/utils/curveintersectsy/en.md +++ b/markdown/dev/reference/api/utils/curveintersectsy/en.md @@ -5,11 +5,18 @@ title: utils.curveIntersectsY() The `utils.curveIntersectsY()` function finds the point(s) where a curve intersects a given Y-value. + +This function can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ```js array | Point | false utils.curveIntersectsY( - Point start, + Point start, Point cp1, Point cp2, Point end, @@ -32,11 +39,11 @@ multiple intersections are found. points.cp1 = new Point(50, 10) points.cp2 = new Point(0, 80) points.end = new Point(110, 70) - + paths.curve = new Path() .move(points.start) .curve(points.cp1, points.cp2, points.end) - + for (let y of [40, 50]) { points["from" + y] = new Point(10, y) points["to" + y] = new Point(110, y) @@ -45,12 +52,12 @@ multiple intersections are found. .line(points["to" + y]) .addClass("lining dashed") } - + snippets.i50 = new Snippet( "notch", utils.curveIntersectsY(points.start, points.cp1, points.cp2, points.end, 50) ) - + for (let p of utils.curveIntersectsY( points.start, points.cp1, @@ -71,5 +78,3 @@ This is a low-level (and faster) variant of [`Path.intersectsY()`](/reference/api/path/intersectsy). Instead of a path, you describe a single curve by passing the four points that describes it. - - diff --git a/markdown/dev/reference/api/utils/curvesintersect/en.md b/markdown/dev/reference/api/utils/curvesintersect/en.md index 220b4ed0b5e..ff0a8ff4fd4 100644 --- a/markdown/dev/reference/api/utils/curvesintersect/en.md +++ b/markdown/dev/reference/api/utils/curvesintersect/en.md @@ -5,6 +5,13 @@ title: utils.curvesIntersect() The `utils.curvesIntersect()` function finds the intersections between two curves described by 4 points each. + +This function can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ```js @@ -71,4 +78,3 @@ multiple intersections are found. } ``` - diff --git a/markdown/dev/reference/api/utils/lineintersectscurve/en.md b/markdown/dev/reference/api/utils/lineintersectscurve/en.md index 070e0c8d423..743913ad814 100644 --- a/markdown/dev/reference/api/utils/lineintersectscurve/en.md +++ b/markdown/dev/reference/api/utils/lineintersectscurve/en.md @@ -6,15 +6,22 @@ The `utils.lineIntersectsCurve()` function finds the intersection between a line segment from point `from` to point `to` and a curve described by points `start`, `cp1`, `cp2, and `end\`. + +This function can sometimes fail to find intersections in some curves +due to a limitation in an underlying Bézier library. +Please see [Bug #3367](https://github.com/freesewing/freesewing/issues/3367) +for more information. + + ## Signature ```js array | false utils.lineIntersectsCurve( - Point from, - Point to, - Point start, - Point cp1, - Point cp2, + Point from, + Point to, + Point start, + Point cp1, + Point cp2, Point end ) ``` @@ -35,7 +42,7 @@ array | false utils.lineIntersectsCurve( .move(points.A) .curve(points.Acp, points.Bcp, points.B) paths.line = new Path().move(points.E).line(points.D) - + for (let p of utils.lineIntersectsCurve( points.D, points.E, @@ -51,4 +58,3 @@ array | false utils.lineIntersectsCurve( } ``` -