pub enum FactorError {
InvalidDimension {
expected: usize,
actual: usize,
},
InvalidProjection(String),
JacobianFailed(String),
InvalidParameters(String),
NumericalInstability(String),
}Expand description
Factor-specific error types for apex-solver
Variants§
InvalidDimension
Invalid dimension mismatch between expected and actual
InvalidProjection(String)
Invalid projection (point behind camera or outside valid range)
JacobianFailed(String)
Jacobian computation failed
InvalidParameters(String)
Invalid parameter values
NumericalInstability(String)
Numerical instability detected
Implementations§
Source§impl FactorError
impl FactorError
Sourcepub fn log(self) -> Self
pub fn log(self) -> Self
Log the error with tracing::error and return self for chaining
This method allows for a consistent error logging pattern throughout the factors module, ensuring all errors are properly recorded.
§Example
operation()
.map_err(|e| e.log())?;Sourcepub fn log_with_source<E: Debug>(self, source_error: E) -> Self
pub fn log_with_source<E: Debug>(self, source_error: E) -> Self
Log the error with the original source error for debugging context
This method logs both the FactorError and the underlying error from external libraries or internal operations, providing full debugging context when errors occur.
§Arguments
source_error- The original error (must implement Debug)
§Example
compute_jacobian()
.map_err(|e| {
FactorError::JacobianFailed("Matrix computation failed".to_string())
.log_with_source(e)
})?;Trait Implementations§
Source§impl Clone for FactorError
impl Clone for FactorError
Source§fn clone(&self) -> FactorError
fn clone(&self) -> FactorError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FactorError
impl Debug for FactorError
Source§impl Display for FactorError
impl Display for FactorError
Source§impl Error for FactorError
impl Error for FactorError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for FactorError
impl RefUnwindSafe for FactorError
impl Send for FactorError
impl Sync for FactorError
impl Unpin for FactorError
impl UnwindSafe for FactorError
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.