#[derive(Debug, Clone, Copy, PartialEq)]
pub struct IceRidge {
pub name: &'static str,
pub length_km: f64,
pub width_km: f64,
pub depth_m: f64,
}
impl IceRidge {
pub fn aspect_ratio(&self) -> f64 {
self.length_km / self.width_km.max(0.001)
}
}
pub fn baghdad_sulcus() -> IceRidge {
IceRidge {
name: "Baghdad Sulcus",
length_km: 175.0,
width_km: 2.0,
depth_m: 500.0,
}
}
pub fn cairo_sulcus() -> IceRidge {
IceRidge {
name: "Cairo Sulcus",
length_km: 160.0,
width_km: 2.0,
depth_m: 450.0,
}
}
pub fn alexandria_sulcus() -> IceRidge {
IceRidge {
name: "Alexandria Sulcus",
length_km: 95.0,
width_km: 1.8,
depth_m: 400.0,
}
}
pub fn damascus_sulcus() -> IceRidge {
IceRidge {
name: "Damascus Sulcus",
length_km: 130.0,
width_km: 2.0,
depth_m: 480.0,
}
}