pub enum FeatureKind {
OuterProfile {
outline: Region,
top_z: f64,
bottom_z: f64,
walls: ProfileWalls,
},
Face {
region: Region,
z: f64,
},
Pocket {
floor: Region,
floor_z: f64,
top_z: f64,
open: bool,
wall_chains: u32,
corner_radius: Option<f64>,
islands: u32,
open_edges: Vec<Chain>,
walls: Vec<WallLine>,
},
Step {
floor: Region,
floor_z: f64,
top_z: f64,
wall_length: f64,
open_edges: Vec<Chain>,
walls: Vec<WallLine>,
},
Slot {
centre: Chain,
width: f64,
floor_z: f64,
top_z: f64,
},
Boss {
outline: Region,
top_z: f64,
base_z: f64,
corner_radius: Option<f64>,
},
Hole(Hole),
Chamfer {
chain: Chain,
width: f64,
z: f64,
length: f64,
},
Fillet {
chain: Chain,
radius: f64,
z: f64,
length: f64,
},
}Variants§
OuterProfile
Outside silhouette, excluding holes, measured in machine coordinates.
Face
A top face to face off.
open when part of the outer boundary drops away; wall_chains
counts the connected runs of walls. open_edges are the outer
boundary parts that drop away (where the tool may run out), walls
the planar walls as XY lines with their inward normal.
Fields
Step
An open pocket with one wall chain.
Fields
Slot
A closed pocket whose outline is a stadium.
Boss
Material standing on a floor (base_z) up to top_z.
Hole(Hole)
Chamfer
width is the horizontal leg; chain is the edge the chamfer
replaces: the wall line at the top height z, directed with the part
interior on its left (what chamfer2d expects for an open chain).
Fillet
A convex rounded edge; chain is its tangent edge with the face above.
Implementations§
Trait Implementations§
Source§impl Clone for FeatureKind
impl Clone for FeatureKind
Source§impl Debug for FeatureKind
impl Debug for FeatureKind
Source§impl<'de> Deserialize<'de> for FeatureKind
impl<'de> Deserialize<'de> for FeatureKind
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
Source§impl PartialEq for FeatureKind
impl PartialEq for FeatureKind
Source§impl Serialize for FeatureKind
impl Serialize for FeatureKind
impl StructuralPartialEq for FeatureKind
Auto Trait Implementations§
impl Forget for FeatureKind
impl Freeze for FeatureKind
impl Move for FeatureKind
impl RefUnwindSafe for FeatureKind
impl Send for FeatureKind
impl Sync for FeatureKind
impl Unpin for FeatureKind
impl UnsafeUnpin for FeatureKind
impl UnwindSafe for FeatureKind
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