use crate::config::parameters::*;
use crate::engine::generator::GeneratedPlanet;
use crate::engine::orbits::OrbitalElements;
use crate::types::terrestrial::TerrestrialPlanet;
fn make_trappist_planet(
name: &str,
mass_earth: f64,
radius_earth: f64,
a_au: f64,
) -> TerrestrialPlanet {
TerrestrialPlanet::new(
name,
"TRAPPIST-1",
mass_earth * EARTH_MASS,
radius_earth * EARTH_RADIUS,
1.0e-3,
0.0,
OrbitalElements::from_au_deg(a_au, 0.006, 0.3, 0.0, 0.0, 0.0),
)
}
pub fn trappist1_b() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 b", 1.374, 1.116, 0.01154)
}
pub fn trappist1_c() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 c", 1.308, 1.097, 0.01580)
}
pub fn trappist1_d() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 d", 0.388, 0.788, 0.02227)
}
pub fn trappist1_e() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 e", 0.692, 0.920, 0.02925)
}
pub fn trappist1_f() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 f", 1.039, 1.045, 0.03849)
}
pub fn trappist1_g() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 g", 1.321, 1.129, 0.04683)
}
pub fn trappist1_h() -> TerrestrialPlanet {
make_trappist_planet("TRAPPIST-1 h", 0.326, 0.755, 0.06189)
}
pub fn all() -> Vec<GeneratedPlanet> {
vec![
GeneratedPlanet::Terrestrial(trappist1_b()),
GeneratedPlanet::Terrestrial(trappist1_c()),
GeneratedPlanet::Terrestrial(trappist1_d()),
GeneratedPlanet::Terrestrial(trappist1_e()),
GeneratedPlanet::Terrestrial(trappist1_f()),
GeneratedPlanet::Terrestrial(trappist1_g()),
GeneratedPlanet::Terrestrial(trappist1_h()),
]
}