joostdecock / core

Freesewing is an open source platform for made-to-measure sewing patterns

Home Page:https://freesewing.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bezier/line intersections aren't detected in some horizontal line edge cases

joostdecock opened this issue · comments

When looking for intersections between a cubic Bezier curve and a line segment, we don't always get the results we expected.

I haven't been able to nail down exactly in what cases this breaks. I've only seen it when finding the intersection with a horizontal line, but it doesn't happen with all horizontal intersections.
As such, it might also be an issue with vertical lines.

This impacts Part::curveCrossesY, Part::curveCrossesLine and potentially part::curveCrossesX.
These all depend on the methods in the BezierToolbox class, so that's probably a good place to start looking into this.