#[non_exhaustive]pub enum Error {
Show 32 variants
ClosedWriter,
HeaderTooLarge(usize),
InvalidClassification(u8),
InvalidFileSignature([u8; 4]),
InvalidInverseTransform {
n: f64,
transform: Transform,
},
InvalidPointFormat(Format),
InvalidPointFormatNumber(u8),
InvalidScannerChannel(u8),
Io(Error),
LaszipNotEnabled,
LasZipError(LasZipError),
LasZipVlrNotFound,
NotAscii(String),
NotZeroFilled(Vec<u8>),
OffsetToEvlrsTooSmall(u64),
OffsetToPointDataTooLarge(usize),
OffsetToPointDataTooSmall(u32),
OverlapClassification,
PointAttributesDoNotMatch(Format),
PointDataRecordLengthTooLarge {
format: Format,
len: u16,
},
PointPaddingNotAllowed,
ReturnNumber {
return_number: u8,
version: Option<Version>,
},
StringTooLong {
string: String,
len: usize,
},
TooManyEvlrs(usize),
TooManyPoints {
n: u64,
version: Version,
},
TooManyVlrs(usize),
TryFromIntError(TryFromIntError),
UnsupportedFeature {
version: Version,
feature: &'static str,
},
UnsupportedFormat {
version: Version,
format: Format,
},
Utf8(Utf8Error),
WktRequired(Format),
VlrTooLong(usize),
}
Expand description
Crate-specific error enum.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ClosedWriter
The writer is closed.
HeaderTooLarge(usize)
The header size, as computed, is too large.
InvalidClassification(u8)
An invalid classification number.
InvalidFileSignature([u8; 4])
The file signature is not LASF.
InvalidInverseTransform
The value can’t have the inverse transform applied.
InvalidPointFormat(Format)
This is an invalid point format.
It has a combination of options that can’t exist.
InvalidPointFormatNumber(u8)
This is an invalid format number.
InvalidScannerChannel(u8)
This is not a valid scanner channel
Io(Error)
LaszipNotEnabled
The las data is laszip compressed.
LasZipError(LasZipError)
laz
only.LasZipVlrNotFound
laz
only.The laszip vlr was not found, the points cannot be decompressed.
NotAscii(String)
This string is not ASCII.
NotZeroFilled(Vec<u8>)
These bytes are not zero-filled.
OffsetToEvlrsTooSmall(u64)
The offset to the start of the evlrs is too small.
OffsetToPointDataTooLarge(usize)
The offset to point data is too large.
OffsetToPointDataTooSmall(u32)
The offset to the point data was too small.
OverlapClassification
Overlap points are handled by an attribute on Point, not by a classification.
PointAttributesDoNotMatch(Format)
The attributes of the point format and point do not match.
PointDataRecordLengthTooLarge
The point data record length is too small for the format.
PointPaddingNotAllowed
Point padding is only allowed when evlrs are present.
ReturnNumber
This is not a valid return number.
Fields
StringTooLong
This string is too long for the target slice.
TooManyEvlrs(usize)
Too many extended variable length records.
TooManyPoints
Too many points for this version.
TooManyVlrs(usize)
Too many variable length records.
TryFromIntError(TryFromIntError)
UnsupportedFeature
Feature is not supported by version.
UnsupportedFormat
The point format is not supported by version.
Utf8(Utf8Error)
WktRequired(Format)
Wkt is required for this point format.
VlrTooLong(usize)
The vlr data is too long.
Trait Implementations§
source§impl Error for Error
impl Error for Error
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<LasZipError> for Error
impl From<LasZipError> for Error
source§fn from(source: LasZipError) -> Self
fn from(source: LasZipError) -> Self
source§impl From<TryFromIntError> for Error
impl From<TryFromIntError> for Error
source§fn from(source: TryFromIntError) -> Self
fn from(source: TryFromIntError) -> Self
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more