use crate::{anomaly, elements, lambert, problem};
#[derive(Debug, thiserror::Error)]
pub enum KeplerError {
#[error(transparent)]
Anomaly(anomaly::AnomalyError),
#[error(transparent)]
Conversion(elements::ConversionError),
#[error(transparent)]
Propagation(problem::PropagationError),
#[error(transparent)]
Lambert(lambert::LambertError),
}
impl From<anomaly::AnomalyError> for KeplerError {
fn from(value: anomaly::AnomalyError) -> Self {
Self::Anomaly(value)
}
}
impl From<elements::ConversionError> for KeplerError {
fn from(value: elements::ConversionError) -> Self {
Self::Conversion(value)
}
}
impl From<problem::PropagationError> for KeplerError {
fn from(value: problem::PropagationError) -> Self {
Self::Propagation(value)
}
}
impl From<lambert::LambertError> for KeplerError {
fn from(value: lambert::LambertError) -> Self {
Self::Lambert(value)
}
}