Struct CompressedDeepTileBlock

pub struct CompressedDeepTileBlock { pub coordinates: TileCoordinates, pub decompressed_sample_data_size: usize, pub compressed_pixel_offset_table: Vec<i8>, pub compressed_sample_data_le: Vec<u8> }

This Block is a tile of deep data. Corresponds to type attribute deeptile. The byte data is in little-endian format, as these bytes will be written into the file directly.

Fields

coordinates: TileCoordinates

The tile location.

decompressed_sample_data_size: usize

Count of samples.

compressed_pixel_offset_table: Vec<i8>

The pixel offset table is a list of integers, one for each pixel column within the data window. Each entry in the table indicates the total number of samples required to store the pixel in it as well as all pixels to the left of it.

compressed_sample_data_le: Vec<u8>

One or more scan lines may be stored together as a scan line block. The number of scan lines per block depends on how the pixel data are compressed. For each line in the tile, for each channel, the row values are contiguous.

Implementations

impl CompressedDeepTileBlock

fn write<W: Write>(&self, write: &mut W) -> UnitResult

Without validation, write this instance to the byte stream.

fn read(read: &mut impl Read, hard_max_block_byte_size: usize) -> Result<Self>

Read the value without validating.

Trait Implementations

impl Clone for CompressedDeepTileBlock

fn clone(&self) -> Self

impl Debug for CompressedDeepTileBlock

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl Freeze for CompressedDeepTileBlock

impl RefUnwindSafe for CompressedDeepTileBlock

impl Send for CompressedDeepTileBlock

impl Sync for CompressedDeepTileBlock

impl Unpin for CompressedDeepTileBlock

impl UnsafeUnpin for CompressedDeepTileBlock

impl UnwindSafe for CompressedDeepTileBlock

Blanket Implementations

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for CompressedDeepTileBlock where ST: ?Sized, DT: ?Sized,

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for CompressedDeepTileBlock where ST: ?Sized, DT: ?Sized,

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> CloneToUninit for CompressedDeepTileBlock where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for CompressedDeepTileBlock

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Pointable for CompressedDeepTileBlock

const ALIGN: usize = _;
type Init = T;
unsafe fn init(init: <T as Pointable>::Init) -> usize
unsafe fn deref<'a>(ptr: usize) -> &'a T
unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
unsafe fn drop(ptr: usize)

impl<T> Read<Exclusive, BecauseExclusive> for CompressedDeepTileBlock where T: ?Sized,

impl<T> ToOwned for CompressedDeepTileBlock where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

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

fn into(self) -> U

Calls U::from(self).

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

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

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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