Skip to main content

widened_to_hold

Function widened_to_hold 

Source
pub fn widened_to_hold(
    surface: &SurfaceGeometry,
    points: &[Point],
    tol: Tolerances,
) -> OgeomResult<SurfaceGeometry>
Expand description

A surface’s parameterization window widened until it holds every one of points.

A surface’s extent is a window, not a trim. Anything built on the surface (a face, a pcurve, a projection) has to evaluate inside it, and a window clamped tight around whatever was measured last will refuse the boundary of the very region it was measured from. That failure is unhelpfully quiet: it arrives as a domain error from an evaluation deep inside triangulation, having overshot by a part in ten million.

Widening is therefore a step to take before building on a surface whose window came from samples, and it changes nothing about the geometry: the carrier is untouched and only the window moves. The margin is proportional to the span measured, plus a floor in confusion tolerances, so widening is not itself a tolerance question.

Only the bounded directions can be widened, and only they need to be: a periodic direction already covers its whole turn. A surface with no bounded direction (a sphere, a torus) comes back as it went in, and so does one given no points.

§Errors

OgeomError::Domain if a point cannot be projected onto the surface, or the widened window is not a valid range.