0.7.0
Robustness
Geometric curve-curve intersection has better handling for cases when the number of intersection candidates grows large (
MAX_CANDIDATES == 64
):First tries to reduce the number of candidates by checking if the actual convex hulls of each segment in a candidate pair intersect. This is a much “finer” check than using the “blunt” bounding box check.
If the convex hull refinement fails, checks if the curves are coincident, i.e. different segments / parameterizations along the same algebraic curve. This is done by using the
Curve.locate()
function to try to project each of the four endpoints onto the other curve and then re-parameterizing each curve onto a common interval.
Data Structures
Python Changes
Non-Public API
Requiring contiguous 1D arrays for Cython functions (9ede37d).