pub enum Profile {
Line {
rho: f64,
h: f64,
drho: f64,
dh: f64,
},
Sphere {
radius: f64,
},
Circle {
rho: f64,
h: f64,
radius: f64,
},
Curve(NurbsCurve),
}Expand description
What a Revolved surface’s profile is, as a function of its
parameter v in the half plane at angle 0: (radius, height) along
frame.x and frame.z.
Variants§
Line
A straight line, (rho + v drho, h + v dh): a cylinder’s, a
cone’s — its apex where the radius is none — or any line’s.
Sphere
(r cos v, r sin v), v from -pi/2 to pi/2.
Circle
A circle off the axis, (rho + r cos v, h + r sin v): a torus’
tube, or any circle’s. One reaching across the axis (rho <= r)
makes two sheets meeting at the poles where it crosses the axis: its
arc on this side turned, v between the poles — an apple — and the
arc past the axis turned, a lemon inside it (see
Revolved::past_axis).
Curve(NurbsCurve)
A curve of its own: v its parameter.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Profile
impl RefUnwindSafe for Profile
impl Send for Profile
impl Sync for Profile
impl Unpin for Profile
impl UnsafeUnpin for Profile
impl UnwindSafe for Profile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more