pub enum SplitSurface {
Plane {
point: Vec3,
normal: Vec3,
},
Cylinder {
axis_point: Vec3,
axis_dir: Vec3,
radius: f64,
},
Sphere {
center: Vec3,
radius: f64,
},
Cone {
apex: Vec3,
axis_dir: Vec3,
half_angle: f64,
},
Torus {
center: Vec3,
axis_dir: Vec3,
major_radius: f64,
minor_radius: f64,
},
}Expand description
A closed analytic tool region used to cut a body. Each variant is realised as a closed solid (unbounded carriers are capped well beyond the body) whose interior is one side of the analytic surface.
Variants§
Plane
Infinite plane through point with normal; delegates to the plane path.
Cylinder
Infinite cylinder about the axis line through axis_point along
axis_dir, of the given radius. Interior = inside the cylinder.
Sphere
Sphere centred at center. Interior = inside the ball.
Cone
Single-nappe cone with its apex at apex, opening along +axis_dir,
with the given half_angle (radians, apex half-angle). Interior =
inside the cone.
Torus
Torus centred at center about axis_dir. Interior = inside the tube.
Trait Implementations§
Source§impl Clone for SplitSurface
impl Clone for SplitSurface
Source§fn clone(&self) -> SplitSurface
fn clone(&self) -> SplitSurface
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SplitSurface
Source§impl Debug for SplitSurface
impl Debug for SplitSurface
Source§impl<'de> Deserialize<'de> for SplitSurface
impl<'de> Deserialize<'de> for SplitSurface
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SplitSurface
impl RefUnwindSafe for SplitSurface
impl Send for SplitSurface
impl Sync for SplitSurface
impl Unpin for SplitSurface
impl UnsafeUnpin for SplitSurface
impl UnwindSafe for SplitSurface
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