#[non_exhaustive]pub enum MeshClosure {
Solid,
Surface,
Unknown,
}Expand description
Whether a compiled mesh bounds a solid (#161).
A triangle mesh looks the same either way: a closed surface model (say,
an IFC IfcShellBasedSurfaceModel shaped like a box) is watertight, so
its divergence sum is a finite, plausible number. It is still not a
volume, because the source never claimed one. This is what tells the
two apart.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Solid
Every part of the mesh is the boundary of a solid; its enclosed volume is meaningful.
Surface
At least one part is a surface with no solid behind it: an open shell, or a closed shell the source never declared a solid. Area is meaningful; volume is not.
Unknown
The compiler did not report it.
Trait Implementations§
Source§impl Clone for MeshClosure
impl Clone for MeshClosure
Source§fn clone(&self) -> MeshClosure
fn clone(&self) -> MeshClosure
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MeshClosure
impl Debug for MeshClosure
Source§impl Hash for MeshClosure
impl Hash for MeshClosure
Source§impl PartialEq for MeshClosure
impl PartialEq for MeshClosure
impl Copy for MeshClosure
impl Eq for MeshClosure
impl StructuralPartialEq for MeshClosure
Auto Trait Implementations§
impl Freeze for MeshClosure
impl RefUnwindSafe for MeshClosure
impl Send for MeshClosure
impl Sync for MeshClosure
impl Unpin for MeshClosure
impl UnwindSafe for MeshClosure
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 more