pub fn revolve_at<S: Scalar>(
part: &mut Part<S>,
namer: &Namer,
profile: &Profile<S>,
origin: Vector3<S>,
) -> GeopResult<SolidId>Expand description
Revolve profile — an open chain of curves in the (r, z) half-plane
r >= 0, starting and ending on the axis (r = 0), each clamped and on
the domain [0, 1] — 360 degrees around a vertical axis through origin
(parallel to the z-axis), producing a closed, manifold solid of exactly
4 * profile.len() faces (no leftover degenerate one) — origin is added
to every generated point, so the profile’s own z values are relative to
origin’s z. See the module doc for the overall column-by-column
strategy, and revolve_at_oriented for how the result is named.
The profile runs “top-down”: walked from its first point to its last,
the region it bounds together with the axis lies on its right (e.g.
(0, h) -> (r, h) -> (r, 0) -> (0, 0) for a cylinder). Walked the other
way, the solid comes out inside-out.
A thin wrapper around revolve_at_oriented with the identity
(z-axis) coordinate system — see that function to revolve around an
arbitrary axis (e.g. super::cylinder::revolved_cylinder_along_axis).