#[derive(Debug, Clone, Copy, PartialEq)]
pub struct RimFeature {
pub name: &'static str,
pub elevation_m: f64,
pub slope_deg: f64,
}
impl RimFeature {
pub fn relief_energy(&self) -> f64 {
self.elevation_m * self.slope_deg.to_radians().tan()
}
}
pub fn gilgamesh_outer_ring() -> RimFeature {
RimFeature {
name: "Gilgamesh outer ring",
elevation_m: 1_500.0,
slope_deg: 14.0,
}
}
pub fn tros_rim() -> RimFeature {
RimFeature {
name: "Tros rim",
elevation_m: 800.0,
slope_deg: 10.0,
}
}