#[non_exhaustive]pub struct ReconstructionEvidence {
pub input_points: usize,
pub used_points: usize,
pub output_triangles: usize,
pub output_components: usize,
pub closed: bool,
pub achieved_edge_length: Scalar,
pub sample_spacing: Scalar,
pub used_normals: bool,
pub interpolated_triangles: usize,
}Expand description
Counters describing one reconstruction.
Every field is a fact about the computation, never a quality verdict: whether 12% unsupported area is acceptable is the caller’s decision, not the kernel’s.
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.input_points: usizePoints supplied.
used_points: usizePoints the provider actually used.
Lower than input_points when the provider discarded outliers or
duplicates. A large gap is worth a caller’s attention.
output_triangles: usizeTriangles in the result.
output_components: usizeConnected components in the result.
A capture with gaps often reconstructs into several shells. Reporting it lets a caller detect the split here rather than downstream.
closed: boolWhether the result is a closed two-manifold solid.
achieved_edge_length: ScalarEdge length the provider achieved, in model units.
Reported whether or not the caller stated one, so a
FromSampleSpacing request still learns what it got.
sample_spacing: ScalarMedian distance between neighbouring input samples.
The scale the capture actually resolves. A result finer than this is interpolation, not measurement.
used_normals: boolWhether per-point normals were used.
False when the cloud carried none, or the request declined them, or the provider could not use them. Distinguishes a normal-driven result from a positions-only one.
interpolated_triangles: usizeTriangles whose vertices came from interpolation across a gap in the data rather than from measured samples.
This is the honest measure of how much of the surface is invented. Zero means every triangle rests on real points.
Implementations§
Source§impl ReconstructionEvidence
impl ReconstructionEvidence
Sourcepub fn measured() -> Self
pub fn measured() -> Self
Start from a cleared record and fill in what the provider measured.
#[non_exhaustive] keeps the struct additive, so a provider outside
this crate cannot build one with a literal. This constructor is the
supported route: take the default and set the fields you measured.
A field left at its default is honestly “not measured” rather than a
value invented to satisfy the type.
Trait Implementations§
Source§impl Clone for ReconstructionEvidence
impl Clone for ReconstructionEvidence
Source§fn clone(&self) -> ReconstructionEvidence
fn clone(&self) -> ReconstructionEvidence
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more