pub fn make_revolution_band(
model: &mut Model,
surface: &SurfaceGeometry,
ring_lo: &Shape,
ring_hi: &Shape,
tol: Tolerances,
) -> OgeomResult<Shape>Expand description
Build the face of a revolution band: two closed rings joined by a synthesised seam, pcurves attached window-coherently.
The one authority for a job three call sites got subtly wrong three different ways. The chart walk decides everything: the bottom ring is traversed forward, and where its chart line ends is where the first seam column stands; the top ring’s occurrence direction is chosen so its walk starts there (rings winding the same way traverse opposite, rings winding opposite traverse alike), and the seam’s two pcurves are assigned to match which occurrence the triangulator will hand them to. The face is built on a fresh copy of the surface, so no stale annotation from another phase of the same rings can apply.
One ring may be degenerate (an edge with no curve, both ends the same vertex, flagged as such), standing for an apex or a pole: a rim of no length that still bounds the face in parameter space. It takes the row the collapsed point sits on and traverses the chart opposite the real ring, exactly as native cones and spheres bound their tips.
§Errors
OgeomError::Construction if a ring is
neither a circle nor degenerate, both rings are degenerate, the rings are
not rings of this surface, or the surface’s iso-curve has no closed form.