Struct laz::laszip::LasZipAppender

source ·
pub struct LasZipAppender<'a, W: Write + Send + 'a> { /* private fields */ }
Expand description

Struct that handles appending compressed points to a LAZ file.

Implementations§

source§

impl<'a, W> LasZipAppender<'a, W>
where W: Read + Write + Seek + Send + 'a,

source

pub fn new(data: W, vlr: LazVlr) -> Result<Self>

data must be positioned at the start of point data

source

pub fn done(&mut self) -> Result<()>

Tells the compressor that no more points will be compressed

  • Compresses & writes the rest of the points to form the last chunk
  • Writes the chunk table
  • update the offset to the chunk_table
source

pub fn get_mut(&mut self) -> &mut W

source§

impl<'a, W> LasZipAppender<'a, W>
where W: Write + Seek + Send + 'a,

source

pub fn compress_one(&mut self, input: &[u8]) -> Result<()>

Compress the point and write the compressed data to the destination given when the compressor was constructed

The data is written in the buffer is expected to be exactly as it would have been in a LAS File, that is:

  • The fields/dimensions are in the same order as the LAS spec says
  • The data in the buffer is in Little Endian order
source

pub fn compress_many(&mut self, points: &[u8]) -> Result<()>

Compresses many points using multiple threads.

§Important

This must be called only when writing fixed-size chunks. This will panic otherwise.

§Note

For this function to actually use multiple threads, the points buffer shall hold more points that the vlr’s chunk_size.

source

pub fn compress_chunks<Chunks, Item>(&mut self, chunks: Chunks) -> Result<()>
where Item: AsRef<[u8]> + Send, Chunks: IntoIterator<Item = Item>,

Compresses multiple chunks

§Important

This must be called only when writing variable-size chunks. This will panic otherwise.

source

pub fn finish_current_chunk(&mut self) -> Result<()>

Finished the current chunks.

All points compressed with the previous calls to compress_one and compress_many will form one chunk. And the subsequent calls to compress_one and compress_many will form a new chunk.

§Important

Only call this when writing variable-size chunks.

Auto Trait Implementations§

§

impl<'a, W> Freeze for LasZipAppender<'a, W>

§

impl<'a, W> !RefUnwindSafe for LasZipAppender<'a, W>

§

impl<'a, W> Send for LasZipAppender<'a, W>

§

impl<'a, W> !Sync for LasZipAppender<'a, W>

§

impl<'a, W> Unpin for LasZipAppender<'a, W>

§

impl<'a, W> !UnwindSafe for LasZipAppender<'a, W>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.