#[non_exhaustive]pub enum ReconstructionRefusal {
TooFewPoints {
supplied: usize,
required: usize,
},
DegenerateExtent {
detail: String,
},
CannotClose {
detail: String,
},
ResolutionExceedsData {
requested: f64,
sample_spacing: f64,
},
Unsupported {
detail: String,
},
}Expand description
Why a reconstruction could not be performed.
Every variant is a typed refusal: the provider knows why it cannot answer and says so. A provider must never return an empty mesh in place of one of these — an empty result and “I cannot do this” are different answers, and a caller that cannot tell them apart will treat a failure as an object that is not there.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
TooFewPoints
Fewer points than the method needs.
DegenerateExtent
The points are degenerate: all coincident, collinear, or coplanar.
A surface cannot be reconstructed from a set with no volume, and producing a zero-thickness sheet would misrepresent the input.
CannotClose
The request demanded a closed result the data cannot support.
Raised instead of inventing surface across a gap the capture never covered.
ResolutionExceedsData
The requested resolution is finer than the samples resolve.
Honouring it would interpolate detail that was never measured and present it as geometry.
Fields
Unsupported
The provider does not implement some part of the request.
Trait Implementations§
Source§impl Clone for ReconstructionRefusal
impl Clone for ReconstructionRefusal
Source§fn clone(&self) -> ReconstructionRefusal
fn clone(&self) -> ReconstructionRefusal
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReconstructionRefusal
impl Debug for ReconstructionRefusal
Source§impl Display for ReconstructionRefusal
impl Display for ReconstructionRefusal
Source§impl Error for ReconstructionRefusal
impl Error for ReconstructionRefusal
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl PartialEq for ReconstructionRefusal
impl PartialEq for ReconstructionRefusal
impl StructuralPartialEq for ReconstructionRefusal
Auto Trait Implementations§
impl Freeze for ReconstructionRefusal
impl RefUnwindSafe for ReconstructionRefusal
impl Send for ReconstructionRefusal
impl Sync for ReconstructionRefusal
impl Unpin for ReconstructionRefusal
impl UnwindSafe for ReconstructionRefusal
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
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