#[non_exhaustive]pub struct PlaneSectionEvidence {Show 16 fields
pub source: SectionSource,
pub source_triangles: usize,
pub role: SectionRole,
pub boundary_edges: usize,
pub in_plane_triangles: usize,
pub touching_edges: usize,
pub in_plane_pairs: usize,
pub in_plane_crossings: usize,
pub closed_chains: usize,
pub open_chains: usize,
pub chain_vertices: usize,
pub regions: usize,
pub region_vertices: usize,
pub cut_regions: usize,
pub cut_region_vertices: usize,
pub cut_pairs: usize,
}Expand description
Auditable counts for one request-based section.
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.source: SectionSourceApproximation source.
source_triangles: usizeSource triangles inspected.
role: SectionRoleWhat the mesh was sectioned as.
boundary_edges: usizeMesh edges used by one triangle only; zero for a solid.
in_plane_triangles: usizeSource triangles lying in the plane.
touching_edges: usizePlane edges that only touch the plane: nothing is emitted for them.
in_plane_pairs: usizeCandidate pairs examined for the in-plane faces: overlap tests, or the segment, piece-triangle and hole containment pairs of a merge.
in_plane_crossings: usizeDistinct points, other than source vertices, where in-plane source edges cross.
closed_chains: usizeOutput closed chains.
open_chains: usizeOutput open chains.
chain_vertices: usizePoints across all output chains.
regions: usizeOutput regions.
region_vertices: usizePoints across all output region rings.
cut_regions: usizeOutput cut regions.
cut_region_vertices: usizePoints across all output cut region rings.
cut_pairs: usizeCandidate pairs compared while nesting the cut rings.
Implementations§
Source§impl PlaneSectionEvidence
impl PlaneSectionEvidence
Sourcepub const fn input_mesh(source_triangles: usize) -> Self
pub const fn input_mesh(source_triangles: usize) -> Self
Record evidence for a section derived from the input mesh; every other count starts at zero.
Sourcepub const fn with_source_counts(
self,
in_plane_triangles: usize,
touching_edges: usize,
in_plane_pairs: usize,
) -> Self
pub const fn with_source_counts( self, in_plane_triangles: usize, touching_edges: usize, in_plane_pairs: usize, ) -> Self
Record the counts taken from the source mesh.
Sourcepub const fn with_in_plane_crossings(self, in_plane_crossings: usize) -> Self
pub const fn with_in_plane_crossings(self, in_plane_crossings: usize) -> Self
Record the distinct points, other than source vertices, where in-plane source edges cross.
Sourcepub const fn with_role(self, role: SectionRole, boundary_edges: usize) -> Self
pub const fn with_role(self, role: SectionRole, boundary_edges: usize) -> Self
Record the role and the number of boundary edges of the source.
Sourcepub fn with_output(
self,
chains: &[SectionChain],
regions: &[InPlaneRegion],
) -> Self
pub fn with_output( self, chains: &[SectionChain], regions: &[InPlaneRegion], ) -> Self
Record the counts of the output.
Sourcepub const fn with_cut_pairs(self, cut_pairs: usize) -> Self
pub const fn with_cut_pairs(self, cut_pairs: usize) -> Self
Record the candidate pairs compared while nesting the cut rings.
Sourcepub fn with_cut_output(self, cut_regions: &[CutRegion]) -> Self
pub fn with_cut_output(self, cut_regions: &[CutRegion]) -> Self
Record the counts of the output cut regions.
Sourcepub const fn is_derived_from_input_mesh(self) -> bool
pub const fn is_derived_from_input_mesh(self) -> bool
Whether this result came from the discrete input mesh.
Trait Implementations§
Source§impl Clone for PlaneSectionEvidence
impl Clone for PlaneSectionEvidence
Source§fn clone(&self) -> PlaneSectionEvidence
fn clone(&self) -> PlaneSectionEvidence
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more