pub enum FaceName {
Swept(SweptFace),
Blend(Box<EdgeName>),
Fragment {
operand: Operand,
source: Box<FaceName>,
},
Anonymous(u32),
}Expand description
A persistent, structural name for one exact B-rep face.
Names compose: a boolean fragment of a filleted extrusion wall carries the whole chain, so a caller can ask both “which operand” and “which original profile edge” without consulting the operation that produced it.
Variants§
Swept(SweptFace)
A face of a swept solid, named by its role in the sweep.
Blend(Box<EdgeName>)
A blend face introduced by filleting or chamfering a named edge.
The name is the edge that was blended, not a fresh anonymous id, so re-running the feature after an edit still names the same blend.
Fragment
A fragment of a face of one operand of a boolean.
Boolean output faces are always pieces of input faces – the operation never invents a surface – so every fragment can say which input face it is part of.
Fields
Anonymous(u32)
A face whose provenance was not tracked by the producing operation.
Deliberately explicit: an operation that cannot name its output says so, instead of fabricating a name that would collide with a real one.
Implementations§
Source§impl FaceName
impl FaceName
Sourcepub fn fragment(self, operand: Operand) -> FaceName
pub fn fragment(self, operand: Operand) -> FaceName
Name a fragment of self cut out by a boolean.
Sourcepub fn origin(&self) -> &FaceName
pub fn origin(&self) -> &FaceName
The original face name with all boolean fragment layers stripped.
Answers “what was this before any boolean touched it”, which is what a material or finish assignment needs.
Sourcepub fn is_anonymous(&self) -> bool
pub fn is_anonymous(&self) -> bool
Whether this name, or anything it came from, is anonymous.
A caller that requires full provenance checks this rather than pattern matching the outermost layer, which a fragment would hide.
Trait Implementations§
Source§impl Ord for FaceName
impl Ord for FaceName
Source§impl PartialOrd for FaceName
impl PartialOrd for FaceName
impl Eq for FaceName
impl StructuralPartialEq for FaceName
Auto Trait Implementations§
impl Freeze for FaceName
impl RefUnwindSafe for FaceName
impl Send for FaceName
impl Sync for FaceName
impl Unpin for FaceName
impl UnwindSafe for FaceName
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more