pub fn curve_surface_crossings(
curve: &NurbCurve<4>,
surface: &NurbSurface<4>,
max_nodes: usize,
min_subdivision_size: Scalar,
) -> GeopResult<Vec<(Scalar, Vector2)>>Expand description
All (t, (u, v)) with curve(t) = surface(u, v), as paired parameter
boxes (curve_surface.md), for a curve with no arc lying on the surface —
see curve_surface_intersect for the wrapper that handles that. The same search as
curve_curve::curve_curve_crossings, over (curve segment, patch)
pairs with three parameter directions: AABB and [clip] rejection, a
pinned parameter handed down one dimension ([solve_pinned]),
restriction while the clip keeps shrinking the pair
([crate::fat_line::restriction]), and once it stalls, convergence when
both objects’ extents are within min_subdivision_size or fair
bisection otherwise ([crate::fat_line::stalled]).
Overlapping boxes merge by union into one unresolved cluster, never an
average. Exhausting max_nodes is an error — the result would be
incomplete.