pub fn revolve(
rings: &Rings,
axis_origin: DVec3,
axis_direction: DVec3,
angle: f64,
tolerance: Tolerance,
) -> Result<TriMesh, GeomError>Expand description
Revolve a profile about an axis into a closed solid.
A full turn wraps its rings by index, so the seam shares vertices by
construction rather than by two samplings agreeing numerically. That is
the same structure tessellate_primitive uses for a cylinder, and it
avoids the trim-based path recorded as broken in issue #2.