solarsystems 0.0.1

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

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

pub fn orbit() -> marss::physics::orbit::MarsOrbit {
    marss::physics::orbit::MarsOrbit::new()
}

pub fn escape_velocity() -> f64 {
    marss::physics::orbit::MarsOrbit::escape_velocity_at_surface()
}

pub fn orbital_period_s() -> f64 {
    marss::physics::orbit::MarsOrbit::new().orbital_period_s()
}

pub fn orbital_period_days() -> f64 {
    marss::physics::orbit::MarsOrbit::new().orbital_period_days()
}

pub fn mean_orbital_velocity() -> f64 {
    marss::physics::orbit::MarsOrbit::new().mean_orbital_velocity()
}

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

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

pub fn terrain_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::terrain()
}

pub fn atmosphere_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::atmosphere()
}

pub fn dust_storm_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::dust_storm()
}