use crate::Error;
use crate::Error::InvalidVersion;
pub mod read;
mod read_impl;
pub mod write;
mod write_impl;
pub const FILE_EXTENSION_LAS_FORMAT: &str = "las";
pub const FILE_EXTENSION_LAZ_FORMAT: &str = "laz";
#[derive(Debug, Clone, PartialEq, Eq, Ord, PartialOrd)]
pub enum LasVersion {
V1_0,
V1_1,
V1_2,
V1_3,
V1_4,
}
impl LasVersion {
pub fn from(major: u8, minor: u8) -> Result<Self, Error> {
match (major, minor) {
(1, 0) => Ok(Self::V1_0),
(1, 1) => Ok(Self::V1_1),
(1, 2) => Ok(Self::V1_2),
(1, 3) => Ok(Self::V1_3),
(1, 4) => Ok(Self::V1_4),
_ => Err(InvalidVersion { major, minor }),
}
}
}