Skip to main content

PointCloudDecoder

Struct PointCloudDecoder 

Source
pub struct PointCloudDecoder { /* private fields */ }
Available on crate feature decoder only.
Expand description

Decoder for Draco point cloud bitstreams.

PointCloudDecoder reads a point-cloud .drc bitstream and reconstructs a PointCloud with its attributes and metadata. Both KD-tree and sequential attribute encodings are supported (the actual decode requires the point_cloud_decode feature).

A round trip is shown on the PointCloudEncoder type docs.

Implementations§

Source§

impl PointCloudDecoder

Source

pub fn new() -> Self

Creates a point cloud decoder with default state.

Source

pub fn decode( &mut self, in_buffer: &mut DecoderBuffer<'_>, out_pc: &mut PointCloud, ) -> Status

Available on crate feature point_cloud_decode only.

Decodes a Draco point cloud from in_buffer into out_pc.

out_pc need not be empty: whatever it held is replaced, the same way MeshDecoder::decode replaces its mesh. decode_after_header does not clear, because its caller has already done so and has decoded metadata since.

§Errors

Returns an error if the header is invalid, the bitstream version is unsupported, or the encoded attributes are malformed.

Source

pub fn decode_after_header( &mut self, version_major: u8, version_minor: u8, method: u8, buffer: &mut DecoderBuffer<'_>, out_pc: &mut PointCloud, ) -> Status

Available on crate feature point_cloud_decode only.

Decode point cloud data when header + metadata have already been parsed. Used by MeshDecoder to delegate point cloud streams.

Source

pub fn get_geometry_type(&self) -> EncodedGeometryType

Returns the encoded geometry type handled by this decoder.

Trait Implementations§

Source§

impl Default for PointCloudDecoder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.