Skip to main content

section_curve_surface_intersection

Function section_curve_surface_intersection 

Source
pub fn section_curve_surface_intersection(
    curve: &Curve3,
    span: Interval,
    surface: &Surface,
) -> Result<ExactCurveIntersection, ExactCurveRefusal>
Expand description

Where a section-family curve meets a surface, with parameters on the curve itself.

The curve is read as an implicit curve on its carrier (over span, or its whole traced extent for an ImplicitSection3); the surface’s equation on that carrier is a second field, and its roots along the curve are isolated with interval bounds by a Rolle chain on the derivatives along the curve (ADR 0077). A root where the second field changes sign is a crossing (multiplicity 1); a root of higher multiplicity, up to eight, is a touch or a flat crossing and reports its order; a curve on which the second field vanishes identically is Contained.

§Errors

UnsupportedCurve for a curve that is not a section family or whose trace was refused, UnsupportedSurface for a B-spline surface, Undecided where the roots could not all be isolated with their multiplicity.