#[non_exhaustive]pub struct HiddenLineEvidence {
pub source: HiddenLineSource,
pub source_meshes: usize,
pub source_triangles: usize,
pub selected_edges: usize,
pub point_edges: usize,
pub clipped_edges: usize,
pub candidate_pairs: usize,
pub exact_escalations: usize,
pub collapsed_segments: usize,
pub visible_segments: usize,
pub hidden_segments: usize,
}Expand description
Auditable counts for one hidden-line 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.
selected_edges: usizeEdges of the selected kinds, before clipping.
point_edges: usizeSelected edges whose image is a single point. Such an edge is counted
here only, before clipping: it is neither drawn nor counted in
clipped_edges, whatever the depth range or the region.
clipped_edges: usizeSelected edges removed entirely by depth clipping or the region.
candidate_pairs: usize(edge, triangle) pairs examined for occlusion.
exact_escalations: usizeDecisions the fast filter could not settle and the exact tier did. This count may differ between two otherwise identical requests (for example with the triangles reversed); it is not part of the drawing.
collapsed_segments: usizePieces dropped because their rounded endpoints coincide.
visible_segments: usizeVisible output segments.
Hidden output segments.
Implementations§
Source§impl HiddenLineEvidence
impl HiddenLineEvidence
Sourcepub const fn input_mesh(
source_meshes: usize,
source_triangles: usize,
) -> HiddenLineEvidence
pub const fn input_mesh( source_meshes: usize, source_triangles: usize, ) -> HiddenLineEvidence
Evidence for a drawing 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 HiddenLineEvidence
impl Clone for HiddenLineEvidence
Source§fn clone(&self) -> HiddenLineEvidence
fn clone(&self) -> HiddenLineEvidence
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 HiddenLineEvidence
Source§impl Debug for HiddenLineEvidence
impl Debug for HiddenLineEvidence
impl Eq for HiddenLineEvidence
Source§impl PartialEq for HiddenLineEvidence
impl PartialEq for HiddenLineEvidence
impl StructuralPartialEq for HiddenLineEvidence
Auto Trait Implementations§
impl Freeze for HiddenLineEvidence
impl RefUnwindSafe for HiddenLineEvidence
impl Send for HiddenLineEvidence
impl Sync for HiddenLineEvidence
impl Unpin for HiddenLineEvidence
impl UnsafeUnpin for HiddenLineEvidence
impl UnwindSafe for HiddenLineEvidence
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