#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum RadianceOrigin {
TopOfAtmosphere,
AtmosphericEmission,
PreScatteredAtmosphere,
}
impl RadianceOrigin {
pub const fn as_str(self) -> &'static str {
match self {
Self::TopOfAtmosphere => "top-of-atmosphere",
Self::AtmosphericEmission => "atmospheric-emission",
Self::PreScatteredAtmosphere => "pre-scattered-atmosphere",
}
}
pub(crate) const fn allows_celestial_direct_transmission(self) -> bool {
matches!(self, Self::TopOfAtmosphere)
}
}