#[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 primary_feature() -> RimFeature {
    RimFeature {
        name: "Stickney rim",
        elevation_m: 900.0,
        slope_deg: 30.0,
    }
}

pub fn secondary_feature() -> RimFeature {
    RimFeature {
        name: "Kepler Dorsum",
        elevation_m: 300.0,
        slope_deg: 10.0,
    }
}
