pub struct VenusFeature {
pub name: &'static str,
pub peak_elevation_m: f64,
pub base_elevation_m: f64,
pub diameter_km: f64,
}
impl VenusFeature {
pub fn height(&self) -> f64 {
self.peak_elevation_m - self.base_elevation_m
}
}
pub fn maxwell_montes() -> VenusFeature {
VenusFeature {
name: "Maxwell Montes",
peak_elevation_m: 11_000.0,
base_elevation_m: 0.0,
diameter_km: 700.0,
}
}
pub fn maat_mons() -> VenusFeature {
VenusFeature {
name: "Maat Mons",
peak_elevation_m: 8_000.0,
base_elevation_m: 0.0,
diameter_km: 395.0,
}
}
pub fn aphrodite_terra() -> VenusFeature {
VenusFeature {
name: "Aphrodite Terra",
peak_elevation_m: 4000.0,
base_elevation_m: -500.0,
diameter_km: 10_000.0,
}
}
pub fn ishtar_terra() -> VenusFeature {
VenusFeature {
name: "Ishtar Terra",
peak_elevation_m: 5000.0,
base_elevation_m: 0.0,
diameter_km: 5600.0,
}
}
pub fn total_relief_m() -> f64 {
crate::MAX_MOUNTAIN_HEIGHT_M + crate::MAX_BASIN_DEPTH_M
}