#[derive(Debug, Clone, Copy, PartialEq)]
pub struct EclipseGeometry {
    pub umbra_radius_km: f64,
    pub relative_velocity_km_s: f64,
}

impl EclipseGeometry {
    pub fn totality_duration_minutes(&self) -> f64 {
        2.0 * self.umbra_radius_km / self.relative_velocity_km_s / 60.0
    }
}

pub fn typical_titan_eclipse() -> EclipseGeometry {
    EclipseGeometry {
        umbra_radius_km: 58_232.0,
        relative_velocity_km_s: 5.6,
    }
}
