pub fn intersect_surfaces_within(
a: &SurfaceGeometry,
b: &SurfaceGeometry,
windows: (Option<ParameterWindow>, Option<ParameterWindow>),
options: IntersectOptions,
tol: Tolerances,
) -> OgeomResult<SurfaceIntersection>Expand description
intersect_surfaces with the marched path held to a window of each
surface’s parameters.
Where the pair has a closed form the windows change nothing. Where it is marched, seeding and tracing walk only each surface’s window, so a face trimmed from a larger patch is not seeded and traced over the whole patch; a branch is followed to the window’s edge and stops there. The chart is untouched, so every pcurve returned means on the surface what it would have meant without the window.
A window is clamped to its surface’s domain in a direction that does
not repeat. In a periodic direction it is kept as given, so it may
straddle the seam and the walk reads it in the window’s own period;
one that covers a period leaves that direction whole. A drum keeps its
turn whole that way and is narrowed along its axis alone; any other
surface with a periodic direction left whole is walked whole, since a
window does not wrap. None leaves that surface whole.