#[non_exhaustive]pub struct VisibleFaceEvidence {Show 18 fields
pub source: HiddenLineSource,
pub source_meshes: usize,
pub source_triangles: usize,
pub edge_on_triangles: usize,
pub removed_triangles: usize,
pub boundary_segments: usize,
pub intersection_segments: usize,
pub crossings: usize,
pub pieces: usize,
pub tied_sides: usize,
pub candidate_pairs: usize,
pub exact_escalations: usize,
pub regions: usize,
pub cap_regions: usize,
pub snap_displacement: DisplacementBound,
pub rerouted_edges: usize,
pub collapsed_regions: usize,
pub collapsed_holes: usize,
}Expand description
Auditable counts for one visible-face operation.
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: HiddenLineSourceApproximation source.
source_meshes: usizeInput meshes.
source_triangles: usizeInput triangles, summed over all meshes.
edge_on_triangles: usizeTriangles seen edge-on: they cover no area and make no region.
removed_triangles: usizeTriangles removed entirely by depth clipping or the crop.
boundary_segments: usizeBoundary pieces of the arrangement that come from triangle edges and cap outlines.
intersection_segments: usizeInput segments of the arrangement where a triangle of one surface cuts another, before the arrangement cuts them into pieces.
crossings: usizeCrossings of segments in the image.
pieces: usizePieces of the arrangement.
tied_sides: usizeSides of arrangement pieces that two or more sources share by equal depth, interior pieces included. The count depends on how the arrangement cuts the plane, so only whether it is zero is a property of the scene.
candidate_pairs: usizeCandidate pairs examined, over all pair work.
exact_escalations: usizeDecisions the fast filter could not settle and the exact tier did. This count may differ between two otherwise identical requests; it is not part of the result.
regions: usizeOutput regions.
cap_regions: usizeOutput regions whose source is FaceSource::Cap.
snap_displacement: DisplacementBoundBound, in the maximum norm of the image, on how far snap rounding moved region boundaries (ADR 0100): an image point farther than this from the exact boundary of a source lies in that source’s regions exactly when it lies in its exact regions. Zero when every ring vertex is a binary64 point and no edge was rerouted.
rerouted_edges: usizeExact ring edges routed through the rounded point of another ring vertex whose rounding cell they pass through.
collapsed_regions: usizeExact regions whose area collapsed under snap rounding; no region is returned for them.
collapsed_holes: usizeHoles of returned regions that collapsed under snap rounding.
Implementations§
Source§impl VisibleFaceEvidence
impl VisibleFaceEvidence
Sourcepub const fn input_mesh(source_meshes: usize, source_triangles: usize) -> Self
pub const fn input_mesh(source_meshes: usize, source_triangles: usize) -> Self
Evidence for a result derived from the input meshes; the remaining counts start at zero for the provider to fill in.
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 meshes.
Trait Implementations§
Source§impl Clone for VisibleFaceEvidence
impl Clone for VisibleFaceEvidence
Source§fn clone(&self) -> VisibleFaceEvidence
fn clone(&self) -> VisibleFaceEvidence
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more