solarsystems 0.0.1

N-body solar system engine — gravitational dynamics, orbital mechanics, perturbations, event detection, and full celestial orchestration
Documentation
pub use mercurys::atmosphere;
pub use mercurys::biosphere;
pub use mercurys::geodata;
pub use mercurys::geology;
pub use mercurys::hydrology;
pub use mercurys::lighting;
pub use mercurys::physics;
pub use mercurys::rendering;
pub use mercurys::satellites as body_satellites;
pub use mercurys::temporal;
pub use mercurys::terrain;

pub fn surface_gravity() -> f64 {
    mercurys::SURFACE_GRAVITY
}

pub fn orbit() -> mercurys::physics::orbit::MercuryOrbit {
    mercurys::physics::orbit::MercuryOrbit::new()
}

pub fn escape_velocity() -> f64 {
    mercurys::physics::orbit::MercuryOrbit::escape_velocity_at_surface()
}

pub fn orbital_period_s() -> f64 {
    mercurys::physics::orbit::MercuryOrbit::new().orbital_period_s()
}

pub fn orbital_period_days() -> f64 {
    mercurys::physics::orbit::MercuryOrbit::new().orbital_period_days()
}

pub fn mean_orbital_velocity() -> f64 {
    mercurys::physics::orbit::MercuryOrbit::new().mean_orbital_velocity()
}

pub fn perihelion() -> f64 {
    mercurys::physics::orbit::MercuryOrbit::new().perihelion_m()
}

pub fn aphelion() -> f64 {
    mercurys::physics::orbit::MercuryOrbit::new().aphelion_m()
}

pub fn surface_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::surface()
}

pub fn exosphere_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::exosphere()
}

pub fn nightside_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::nightside()
}