#[non_exhaustive]pub struct TopologicalStats {Show 13 fields
pub corners_in: usize,
pub corners_used: usize,
pub triangles: usize,
pub grid_edges: usize,
pub diagonal_edges: usize,
pub spurious_edges: usize,
pub triangles_mergeable: usize,
pub triangles_all_grid: usize,
pub triangles_multi_diag: usize,
pub triangles_has_spurious: usize,
pub quads_merged: usize,
pub quads_kept: usize,
pub components: usize,
}Expand description
Diagnostic counters from one build_grid_topological run.
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.corners_in: usizeCorners passed in.
corners_used: usizeCorners that survived the axis-validity pre-filter.
triangles: usizeTriangles produced by Delaunay triangulation.
grid_edges: usizeHalf-edges classified as Grid (counted twice, once per direction).
diagonal_edges: usizeHalf-edges classified as Diagonal.
spurious_edges: usizeHalf-edges classified as Spurious.
triangles_mergeable: usizeTriangles with exactly one Diagonal edge and two Grid edges (i.e. eligible to merge into a quad if their buddy agrees).
triangles_all_grid: usizeTriangles with all three edges classified as Grid (suggests the triangle spans more than one cell — the paper’s failure mode at very low view angles).
triangles_multi_diag: usizeTriangles with multiple Diagonal edges (ambiguous).
triangles_has_spurious: usizeTriangles with at least one Spurious edge.
quads_merged: usizeTriangle pairs merged into quads.
quads_kept: usizeQuads surviving topological + geometric filtering.
components: usizeConnected quad-mesh components after walking.
Trait Implementations§
Source§impl Clone for TopologicalStats
impl Clone for TopologicalStats
Source§fn clone(&self) -> TopologicalStats
fn clone(&self) -> TopologicalStats
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TopologicalStats
impl Debug for TopologicalStats
Source§impl Default for TopologicalStats
impl Default for TopologicalStats
Source§fn default() -> TopologicalStats
fn default() -> TopologicalStats
impl Copy for TopologicalStats
Auto Trait Implementations§
impl Freeze for TopologicalStats
impl RefUnwindSafe for TopologicalStats
impl Send for TopologicalStats
impl Sync for TopologicalStats
impl Unpin for TopologicalStats
impl UnsafeUnpin for TopologicalStats
impl UnwindSafe for TopologicalStats
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.