Struct ReconstructionEvidence

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§input_points: usize

Points supplied.

§used_points: usize

Points 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: usize

Triangles in the result.

§output_components: usize

Connected 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: bool

Whether the result is a closed two-manifold solid.

§achieved_edge_length: Scalar

Edge 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: Scalar

Median distance between neighbouring input samples.

The scale the capture actually resolves. A result finer than this is interpolation, not measurement.

§used_normals: bool

Whether 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: usize

Triangles 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

Source

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

Source§

fn clone(&self) -> ReconstructionEvidence

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ReconstructionEvidence

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ReconstructionEvidence

Source§

fn default() -> ReconstructionEvidence

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ReconstructionEvidence

Source§

fn eq(&self, other: &ReconstructionEvidence) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for ReconstructionEvidence

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.