#[non_exhaustive]pub enum MeshClosure {
Solid,
Surface,
Unknown,
OpenSolid,
}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
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, a face or a trimmed surface patch (#311), or a closed shell the source never declared a solid. Area is meaningful; volume is not.
Unknown
The compiler did not report it.
OpenSolid
The source declared a solid, but the compiled mesh is not closed: some edge is not shared by exactly two triangles running it in opposite directions (#265). Neither its volume nor its closure can be trusted; the compiler reports this rather than claiming a solid for a mesh with boundary edges.
Trait Implementations§
Source§impl Clone for MeshClosure
impl Clone for MeshClosure
Source§fn clone(&self) -> MeshClosure
fn clone(&self) -> MeshClosure
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more