solarsystems 0.0.1

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

pub fn surface_gravity() -> f64 {
    *jupiters::SURFACEGRAVITY
}

pub fn orbit() -> jupiters::physics::orbit::JupiterOrbit {
    jupiters::physics::orbit::JupiterOrbit::new()
}

pub fn escape_velocity() -> f64 {
    jupiters::physics::orbit::JupiterOrbit::escape_velocity_at_surface()
}

pub fn orbital_period_s() -> f64 {
    jupiters::physics::orbit::JupiterOrbit::new().orbitalperiods()
}

pub fn orbital_period_days() -> f64 {
    jupiters::physics::orbit::JupiterOrbit::new().orbitalperioddays()
}

pub fn mean_orbital_velocity() -> f64 {
    jupiters::physics::orbit::JupiterOrbit::new().mean_orbital_velocity()
}

pub fn perihelion() -> f64 {
    jupiters::physics::orbit::JupiterOrbit::new().perihelionm()
}

pub fn aphelion() -> f64 {
    jupiters::physics::orbit::JupiterOrbit::new().aphelionm()
}

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 interior_ocean_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::interior_ocean()
}

pub fn band_dynamics_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::band_dynamics()
}