[][src]Trait laz::record::FieldDecompressor

pub trait FieldDecompressor<R: Read> {
    fn size_of_field(&self) -> usize;
fn decompress_first(
        &mut self,
        src: &mut R,
        first_point: &mut [u8]
    ) -> Result<()>;
fn decompress_with(
        &mut self,
        decoder: &mut ArithmeticDecoder<R>,
        buf: &mut [u8]
    ) -> Result<()>; }

Trait to be implemented by FieldDecompressors

Note

Here a 'field' may be a single field (example: GpsTime which is a double) or a combination of single fields (example: the RGB is considered a field and it is a combination of multiple single fields: Red, Green, Blue)

Required methods

fn size_of_field(&self) -> usize[src]

size in bytes of the decompressed field data

fn decompress_first(
    &mut self,
    src: &mut R,
    first_point: &mut [u8]
) -> Result<()>
[src]

Decompress the first point's field from the src, and pack it into the first_point slice

The first_point slice will have a len of exactly self_of_field() bytes.

fn decompress_with(
    &mut self,
    decoder: &mut ArithmeticDecoder<R>,
    buf: &mut [u8]
) -> Result<()>
[src]

Decompress the next point's field from the decoder and pack the decompressed data in the buf slice.

The buf slice will have a len of exactly self_of_field() bytes.

Loading content...

Implementors

impl<R: Read> FieldDecompressor<R> for LasExtraByteDecompressor[src]

impl<R: Read> FieldDecompressor<R> for LasGpsTimeDecompressor[src]

impl<R: Read> FieldDecompressor<R> for GpsTimeDecompressor[src]

impl<R: Read> FieldDecompressor<R> for laz::las::point0::v1::LasPoint0Decompressor[src]

impl<R: Read> FieldDecompressor<R> for laz::las::point0::v2::LasPoint0Decompressor[src]

impl<R: Read> FieldDecompressor<R> for laz::las::rgb::v1::LasRGBDecompressor[src]

impl<R: Read> FieldDecompressor<R> for laz::las::rgb::v2::LasRGBDecompressor[src]

Loading content...