#[non_exhaustive]pub enum RepairAction {
WeldVertices,
UnifyOrientation,
DropDegenerateElements,
OrientOutward,
SplitTJunctions,
}Expand description
One opt-in repair. There is deliberately no All variant.
No action removes self-intersections. crate::self_intersections
detects them, but removing them cuts and re-triangulates faces, and that
is deliberately not offered as a repair.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
WeldVertices
Merge vertices within tolerance.
UnifyOrientation
Make connected-face orientation consistent.
DropDegenerateElements
Remove degenerate elements.
OrientOutward
Flip a closed shell that encloses negative volume.
Separate from Self::UnifyOrientation: that one makes neighbours
agree, this one decides which way round the agreed shell faces.
SplitTJunctions
Split triangle edges at vertices lying on them within tolerance (T-junctions).
Opt-in: it turns a mesh closed up to T-junctions into a closed
oriented cycle, and adds no vertex. A triangle is declined, not split,
when a vertex it would reuse carries per-vertex data that differs from
interpolating the side’s endpoints, so no value is invented. See
crate::split_t_junctions.
Trait Implementations§
Source§impl Clone for RepairAction
impl Clone for RepairAction
Source§fn clone(&self) -> RepairAction
fn clone(&self) -> RepairAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RepairAction
Source§impl Debug for RepairAction
impl Debug for RepairAction
impl Eq for RepairAction
Source§impl Hash for RepairAction
impl Hash for RepairAction
Source§impl PartialEq for RepairAction
impl PartialEq for RepairAction
impl StructuralPartialEq for RepairAction
Auto Trait Implementations§
impl Freeze for RepairAction
impl RefUnwindSafe for RepairAction
impl Send for RepairAction
impl Sync for RepairAction
impl Unpin for RepairAction
impl UnsafeUnpin for RepairAction
impl UnwindSafe for RepairAction
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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