Skip to main content

trace_tangential

Function trace_tangential 

Source
pub fn trace_tangential(
    a: &SurfaceGeometry,
    b: &SurfaceGeometry,
    from: Contact,
    options: Marching,
    tol: Tolerances,
) -> OgeomResult<Traced>
Expand description

Trace tangential contact along a curve: the walker an earlier plan owed, following the valley of the gap function rather than a crossing.

Where two surfaces touch along a whole curve there is no transversal direction to march: the crossing angle is zero along the entire contact, and the crossing walker honestly stalls. But the contact is still a curve, and it is the locus where the gap between the surfaces stays zero. This walker steps along the contact and corrects each step transversally: project the candidate onto the first surface, project that onto the second, and slide on the first surface to close the gap: a minimization, not a root-find, because at tangency the gap touches zero without crossing it.

The seed must be a genuine contact: on both surfaces within tolerance and near-tangent there. A transversal crossing is refused; the ordinary walker owns those.

ยงErrors

OgeomError::Construction if the settings are unusable or the seed is not a tangential contact.