pub enum SurfaceInput {
Plane(Frame),
Cylinder(Frame, f64),
Sphere(Frame, f64),
Torus(Frame, f64, f64),
Cone(Frame, f64, f64),
LinearExtrusion(ProfileInput, [f64; 3]),
Revolution(ProfileInput, [f64; 3], [f64; 3]),
Nurbs(NurbsSurface),
}Expand description
Surface input for StepBuilder::face: the stored analytic forms, plus
NURBS for everything else — NurbsSurface is the same type
Surface::to_nurbs() returns on the read side, so read-side output can
be fed straight back in. Non-rational data (all weights 1.0) becomes a
plain B_SPLINE_SURFACE_WITH_KNOTS; rational data becomes the customary
multi-part complex instance.
Variants§
Plane(Frame)
Cylinder(Frame, f64)
Cylinder around the frame’s axis with the given radius.
Sphere(Frame, f64)
Sphere centred at the frame’s origin with the given radius.
Torus(Frame, f64, f64)
Torus around the frame’s axis: major radius, then minor radius.
Cone(Frame, f64, f64)
Cone around the frame’s axis: radius at the frame’s origin, then the half-angle in radians.
LinearExtrusion(ProfileInput, [f64; 3])
Profile swept along an extrusion vector (direction × length).
Revolution(ProfileInput, [f64; 3], [f64; 3])
Profile revolved around an axis: axis origin, then axis direction.
Nurbs(NurbsSurface)
Trait Implementations§
Source§impl Clone for SurfaceInput
impl Clone for SurfaceInput
Source§fn clone(&self) -> SurfaceInput
fn clone(&self) -> SurfaceInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more