solarsystems 0.0.1

N-body solar system engine — gravitational dynamics, orbital mechanics, perturbations, event detection, and full celestial orchestration
Documentation
pub use ::moons::environment;
pub use ::moons::exosphere;
pub use ::moons::geodata;
pub use ::moons::geology;
pub use ::moons::interactions;
pub use ::moons::lighting;
pub use ::moons::missions;
pub use ::moons::observation;
pub use ::moons::physics;
pub use ::moons::rendering;
pub use ::moons::resources;
pub use ::moons::surface;
pub use ::moons::temporal;
pub use ::moons::terrain;

pub fn orbit() -> ::moons::physics::orbit::LunarOrbit {
    ::moons::physics::orbit::LunarOrbit::new()
}

pub fn surface_gravity() -> f64 {
    ::moons::SURFACE_GRAVITY_M_S2
}

pub fn escape_velocity() -> f64 {
    ::moons::ESCAPE_VELOCITY_M_S
}

pub fn geometric_albedo() -> f64 {
    ::moons::GEOMETRIC_ALBEDO
}

pub fn orbital_period_s() -> f64 {
    ::moons::physics::orbit::LunarOrbit::new().orbital_period_s()
}

pub fn periapsis() -> f64 {
    ::moons::physics::orbit::LunarOrbit::new().periapsis_m()
}

pub fn apoapsis() -> f64 {
    ::moons::physics::orbit::LunarOrbit::new().apoapsis_m()
}

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

pub fn eclipse_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::eclipse()
}

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