pub struct KindReport {
pub kind: TopologyKind,
pub lamina_edges: usize,
pub manifold_edges: usize,
pub spine_edges: usize,
pub wire_edges: usize,
pub shells: usize,
pub open_shells: usize,
}Expand description
Outcome of topology_kind: the kind and the census it was read from.
The four edge counts partition the NON-degenerate edge records by coedge
uses over every loop of every face: 0 wire, 1 lamina, 2 manifold, 3 or
more spine. Degenerate (collapsed pole) edges are left out of every
count, exactly as solid_euler leaves them out: validate() accepts them
at one use and they say nothing about the body’s class.
Fields§
§kind: TopologyKind§lamina_edges: usizeNon-degenerate edges used by exactly one coedge: a boundary.
manifold_edges: usizeNon-degenerate edges used by exactly two coedges.
spine_edges: usizeNon-degenerate edges used by three or more coedges.
wire_edges: usizeNon-degenerate edge records no coedge references.
shells: usizesolid.shells.len().
open_shells: usizeShells with a boundary: some non-degenerate edge the shell’s faces reference is used by exactly one coedge WITHIN that shell. Counted per shell, so an edge two shells use once each opens both, and a spine edge used three times inside one shell does not open it.
Trait Implementations§
Source§impl Clone for KindReport
impl Clone for KindReport
impl Copy for KindReport
Source§impl Debug for KindReport
impl Debug for KindReport
Source§impl<'de> Deserialize<'de> for KindReport
impl<'de> Deserialize<'de> for KindReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for KindReport
Source§impl PartialEq for KindReport
impl PartialEq for KindReport
Source§impl Serialize for KindReport
impl Serialize for KindReport
impl StructuralPartialEq for KindReport
Auto Trait Implementations§
impl Forget for KindReport
impl Freeze for KindReport
impl RefUnwindSafe for KindReport
impl Send for KindReport
impl Sync for KindReport
impl Unpin for KindReport
impl UnsafeUnpin for KindReport
impl UnwindSafe for KindReport
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.