#[non_exhaustive]pub struct BRepHealth {
pub dangling_references: usize,
pub empty_loops: usize,
pub open_loops: usize,
pub faces_without_outer_bound: usize,
pub faces_with_multiple_outer_bounds: usize,
pub unpaired_edge_uses: usize,
pub overused_edges: usize,
pub false_closure_claims: usize,
}Expand description
Structural health of one boundary representation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.dangling_references: usizeReferences to entities that do not exist.
empty_loops: usizeLoops with no edge uses, so they cannot bound a face.
open_loops: usizeLoops whose consecutive edges do not share a vertex.
faces_without_outer_bound: usizeFaces with no outer bound.
faces_with_multiple_outer_bounds: usizeFaces with more than one outer bound.
unpaired_edge_uses: usizeDirected edge uses in the shell that lack an opposing use.
overused_edges: usizeEdges used more than twice in one shell.
false_closure_claims: usizeShells declaring closed that are not.
Implementations§
Source§impl BRepHealth
impl BRepHealth
Sourcepub fn is_tessellable(&self) -> bool
pub fn is_tessellable(&self) -> bool
Whether the topology is sound enough to tessellate.
Closure is deliberately excluded: an open shell is a legitimate surface model, and refusing it here would reject valid input. What must never pass is a reference that does not resolve, a loop that is empty or open, or a face whose outer-bound count is not exactly one; each can produce silently wrong geometry.
Sourcepub fn is_closed_manifold(&self) -> bool
pub fn is_closed_manifold(&self) -> bool
Whether every shell bounds a volume, so signed-volume reduction and containment are meaningful.
Trait Implementations§
Source§impl Clone for BRepHealth
impl Clone for BRepHealth
Source§fn clone(&self) -> BRepHealth
fn clone(&self) -> BRepHealth
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BRepHealth
impl Debug for BRepHealth
Source§impl Default for BRepHealth
impl Default for BRepHealth
Source§fn default() -> BRepHealth
fn default() -> BRepHealth
Source§impl PartialEq for BRepHealth
impl PartialEq for BRepHealth
impl Eq for BRepHealth
impl StructuralPartialEq for BRepHealth
Auto Trait Implementations§
impl Freeze for BRepHealth
impl RefUnwindSafe for BRepHealth
impl Send for BRepHealth
impl Sync for BRepHealth
impl Unpin for BRepHealth
impl UnwindSafe for BRepHealth
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