#[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) -> PlaneSectionEvidence
pub const fn input_mesh(source_triangles: usize) -> PlaneSectionEvidence
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,
) -> PlaneSectionEvidence
pub const fn with_source_counts( self, in_plane_triangles: usize, touching_edges: usize, in_plane_pairs: usize, ) -> PlaneSectionEvidence
Record the counts taken from the source mesh.
Sourcepub const fn with_in_plane_crossings(
self,
in_plane_crossings: usize,
) -> PlaneSectionEvidence
pub const fn with_in_plane_crossings( self, in_plane_crossings: usize, ) -> PlaneSectionEvidence
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,
) -> PlaneSectionEvidence
pub const fn with_role( self, role: SectionRole, boundary_edges: usize, ) -> PlaneSectionEvidence
Record the role and the number of boundary edges of the source.
Sourcepub fn with_output(
self,
chains: &[SectionChain],
regions: &[InPlaneRegion],
) -> PlaneSectionEvidence
pub fn with_output( self, chains: &[SectionChain], regions: &[InPlaneRegion], ) -> PlaneSectionEvidence
Record the counts of the output.
Sourcepub const fn with_cut_pairs(self, cut_pairs: usize) -> PlaneSectionEvidence
pub const fn with_cut_pairs(self, cut_pairs: usize) -> PlaneSectionEvidence
Record the candidate pairs compared while nesting the cut rings.
Sourcepub fn with_cut_output(self, cut_regions: &[CutRegion]) -> PlaneSectionEvidence
pub fn with_cut_output(self, cut_regions: &[CutRegion]) -> PlaneSectionEvidence
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 moreimpl Copy for PlaneSectionEvidence
Source§impl Debug for PlaneSectionEvidence
impl Debug for PlaneSectionEvidence
impl Eq for PlaneSectionEvidence
Source§impl PartialEq for PlaneSectionEvidence
impl PartialEq for PlaneSectionEvidence
impl StructuralPartialEq for PlaneSectionEvidence
Auto Trait Implementations§
impl Freeze for PlaneSectionEvidence
impl RefUnwindSafe for PlaneSectionEvidence
impl Send for PlaneSectionEvidence
impl Sync for PlaneSectionEvidence
impl Unpin for PlaneSectionEvidence
impl UnsafeUnpin for PlaneSectionEvidence
impl UnwindSafe for PlaneSectionEvidence
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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