pub fn revolve(
rings: &Rings,
axis_origin: Point3,
axis_direction: Vec3,
angle: Scalar,
tolerance: Tolerance,
) -> GeomResult<TriMesh>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.