astrodynamics 0.1.0

Numerical astrodynamics engine for orbit propagation, force models, and flight-dynamics primitives
Documentation
use crate::state::CartesianState;
use crate::events::DetectedEvent;

#[derive(Debug, Clone)]
pub struct PropagationPoint {
    pub epoch_tdb_seconds: f64,
    pub position_km: [f64; 3],
    pub velocity_km_s: [f64; 3],
}

#[derive(Debug, Clone, Default)]
pub struct PropagationStats {
    pub accepted_steps: u32,
    pub rejected_steps: u32,
    pub evaluations: u32,
}

#[derive(Debug, Clone)]
pub struct PropagationResult {
    pub final_state: CartesianState,
    pub points: Vec<PropagationPoint>,
    pub events: Vec<DetectedEvent>,
    pub stats: PropagationStats,
}