#[non_exhaustive]pub enum OgeomError {
Construction(Cause),
Domain(Cause),
Range(Cause),
Dimension(Cause),
NullObject(Cause),
Dangling(Cause),
Numeric(Cause),
NotDone(Cause),
Invariant(Cause),
Cancelled,
Unimplemented(Cause),
}Expand description
A kernel failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Construction(Cause)
Arguments cannot produce the requested entity: three collinear points for a circle, a zero-length direction, a self-intersecting wire.
Domain(Cause)
An argument lies outside the domain the operation is defined on.
Range(Cause)
A parameter or index lies outside its valid range.
Dimension(Cause)
Collections or geometries that had to agree in size or dimension did not.
NullObject(Cause)
An operation was handed a null or empty shape where one was required.
Dangling(Cause)
A key did not resolve: most often a stale arena key, or a shape used with an arena that does not own it.
Numeric(Cause)
A numerical method failed: no convergence, a singular system, a step that could not be taken.
NotDone(Cause)
The algorithm ran but could not produce a result. Distinct from
OgeomError::Construction: the inputs were legitimate and the failure is
the algorithm’s.
Invariant(Cause)
The result exists but violates an invariant from docs/DATA_MODEL.md:
tolerance containment, orientation consistency, edge representation
agreement. Never returned silently; producing invalid topology is worse
than failing.
Cancelled
Cancelled through a progress sink.
Unimplemented(Cause)
Reached a path that exists but has not been implemented yet.
Implementations§
Source§impl OgeomError
impl OgeomError
Sourcepub const fn is_tolerance_sensitive(&self) -> bool
pub const fn is_tolerance_sensitive(&self) -> bool
Whether retrying with a looser tolerance could plausibly succeed.
Used by the fuzzy-tolerance escape hatch: numerical failures are worth retrying, malformed input is not.
Trait Implementations§
Source§impl Clone for OgeomError
impl Clone for OgeomError
Source§fn clone(&self) -> OgeomError
fn clone(&self) -> OgeomError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OgeomError
impl Debug for OgeomError
Source§impl Display for OgeomError
impl Display for OgeomError
impl Eq for OgeomError
Source§impl Error for OgeomError
impl Error for OgeomError
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
use the Display impl or to_string()
Source§impl PartialEq for OgeomError
impl PartialEq for OgeomError
Source§fn eq(&self, other: &OgeomError) -> bool
fn eq(&self, other: &OgeomError) -> bool
self and other values to be equal, and is used by ==.