use core::fmt;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum AffineError {
NonInvertibleTransform,
NonFiniteTransform,
UndefinedRotation,
InvalidWorldFile,
}
impl fmt::Display for AffineError {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::NonInvertibleTransform => {
formatter.write_str("cannot invert a degenerate affine transform")
}
Self::NonFiniteTransform => {
formatter.write_str("affine transform contains a non-finite value")
}
Self::UndefinedRotation => {
formatter.write_str("rotation is undefined for this affine transform")
}
Self::InvalidWorldFile => {
formatter.write_str("world file must contain exactly six finite numbers")
}
}
}
}
impl std::error::Error for AffineError {}