solarsystems 0.0.1

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

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

pub fn orbit() -> ::venuss::physics::orbit::VenusOrbit {
    ::venuss::physics::orbit::VenusOrbit::new()
}

pub fn escape_velocity() -> f64 {
    ::venuss::physics::orbit::VenusOrbit::escape_velocity_at_surface()
}

pub fn orbital_period_s() -> f64 {
    ::venuss::physics::orbit::VenusOrbit::new().orbital_period_s()
}

pub fn orbital_period_days() -> f64 {
    ::venuss::physics::orbit::VenusOrbit::new().orbital_period_days()
}

pub fn mean_orbital_velocity() -> f64 {
    ::venuss::physics::orbit::VenusOrbit::new().mean_orbital_velocity()
}

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

pub fn aphelion() -> f64 {
    ::venuss::physics::orbit::VenusOrbit::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 surface_haze_shader() -> crate::rendering::shaders::ShaderEndpoint {
    crate::rendering::shaders::ShaderEndpoint::surface_haze()
}