pub struct Profile2DWithVoids {
pub profile: Profile2D,
pub voids: Vec<VoidInfo>,
}Expand description
Profile with void tracking for depth-aware extrusion
Extends Profile2D with metadata about voids that have been classified as coplanar and can be handled at the profile level. This allows for:
- Through voids: Added as holes before single extrusion
- Partial-depth voids: Generate internal caps at depth boundaries
Fields§
§profile: Profile2DBase profile (outer boundary + any existing holes)
voids: Vec<VoidInfo>Void metadata for depth-aware extrusion
Implementations§
Source§impl Profile2DWithVoids
impl Profile2DWithVoids
Sourcepub fn from_profile(profile: Profile2D) -> Self
pub fn from_profile(profile: Profile2D) -> Self
Create from a base profile with no voids
Sourcepub fn through_voids(&self) -> impl Iterator<Item = &VoidInfo>
pub fn through_voids(&self) -> impl Iterator<Item = &VoidInfo>
Get all through voids (can be added as simple holes)
Sourcepub fn partial_voids(&self) -> impl Iterator<Item = &VoidInfo>
pub fn partial_voids(&self) -> impl Iterator<Item = &VoidInfo>
Get all partial-depth voids (need internal caps)
Sourcepub fn void_count(&self) -> usize
pub fn void_count(&self) -> usize
Get number of voids
Sourcepub fn profile_with_through_holes(&self) -> Profile2D
pub fn profile_with_through_holes(&self) -> Profile2D
Create a profile with through-voids merged as holes
Returns a Profile2D where all through-voids have been added as holes, suitable for single-pass extrusion.
Trait Implementations§
Source§impl Clone for Profile2DWithVoids
impl Clone for Profile2DWithVoids
Source§fn clone(&self) -> Profile2DWithVoids
fn clone(&self) -> Profile2DWithVoids
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 moreAuto Trait Implementations§
impl Freeze for Profile2DWithVoids
impl RefUnwindSafe for Profile2DWithVoids
impl Send for Profile2DWithVoids
impl Sync for Profile2DWithVoids
impl Unpin for Profile2DWithVoids
impl UnsafeUnpin for Profile2DWithVoids
impl UnwindSafe for Profile2DWithVoids
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
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.