#[derive(Debug, Clone, Copy, PartialEq)]
pub struct IceRidge {
    pub name: &'static str,
    pub length_km: f64,
    pub width_km: f64,
    pub height_m: f64,
}

impl IceRidge {
    pub fn aspect_ratio(&self) -> f64 {
        self.length_km / self.width_km.max(0.001)
    }
}

pub fn androgeos_linea() -> IceRidge {
    IceRidge {
        name: "Androgeos Linea",
        length_km: 200.0,
        width_km: 3.0,
        height_m: 300.0,
    }
}

pub fn astypalaea_linea() -> IceRidge {
    IceRidge {
        name: "Astypalaea Linea",
        length_km: 810.0,
        width_km: 5.0,
        height_m: 250.0,
    }
}

pub fn cyclotron_ridge() -> IceRidge {
    IceRidge {
        name: "Cyclotron Ridge",
        length_km: 120.0,
        width_km: 2.0,
        height_m: 200.0,
    }
}
