Module pasture_core::layout[][src]

Defines attributes and data layout of point cloud data

Modules

attributes

Module containing default attribute definitions

conversion

Contains helper function and structures for raw binary point format conversions. This module contains a lot of unsafe code because it has to support conversions between various point formats at runtime. The conversions operate on binary buffers (&[u8] and &mut [u8]) that represent the binary layout of strongly typed PointTypes. Given two point types A: PointType and B: PointType, a runtime conversion from A to B works by first obtaining the binary representations of A and B through view_raw_bytes/view_raw_bytes_mut:

Structs

PointAttributeDefinition

A definition for a single point attribute of a point cloud. Point attributes are things like the position, GPS time, intensity etc. In Pasture, attributes are identified by a unique name together with the data type that a single record of the attribute is stored in. Attributes can be grouped into two categories: Built-in attributes (e.g. POSITION_3D, INTENSITY, GPS_TIME etc.) and custom attributes.

PointAttributeMember

A point attribute within a PointType structure. This is similar to a PointAttributeDefinition, but includes the offset of the member within the structure

PointLayout

Describes the data layout of a single point in a point cloud

Enums

FieldAlignment

How is a field within the associated in-memory type of a PointLayout aligned?

PointAttributeDataType

Possible data types for individual point attributes

Traits

PointType

Trait that marks a Rust type for usage as a type in which point data can be stored. This trait allows the mapping between Rust types at compile time and the dynamic PointLayout type. You will almost never want to implement PointType manually! Prefer to use the #[derive(PointType)] procedural macro!

PrimitiveType

Marker trait for all types that can be used as primitive types within a PointAttributeDefinition. It provides a mapping between Rust types and the PointAttributeDataType enum.

Functions

get_point_layout

Returns the corresponding PointLayout for the given PointType T