Struct e57::PointCloud

source ·
#[non_exhaustive]
pub struct PointCloud {
Show 24 fields pub guid: Option<String>, pub file_offset: u64, pub records: u64, pub prototype: Vec<Record>, pub original_guids: Option<Vec<String>>, pub name: Option<String>, pub description: Option<String>, pub cartesian_bounds: Option<CartesianBounds>, pub spherical_bounds: Option<SphericalBounds>, pub index_bounds: Option<IndexBounds>, pub intensity_limits: Option<IntensityLimits>, pub color_limits: Option<ColorLimits>, pub transform: Option<Transform>, pub acquisition_start: Option<DateTime>, pub acquisition_end: Option<DateTime>, pub sensor_vendor: Option<String>, pub sensor_model: Option<String>, pub sensor_serial: Option<String>, pub sensor_hw_version: Option<String>, pub sensor_sw_version: Option<String>, pub sensor_fw_version: Option<String>, pub temperature: Option<f64>, pub humidity: Option<f64>, pub atmospheric_pressure: Option<f64>,
}
Expand description

Descriptor with metadata for a single point cloud.

This struct does not contain any actual point data, it just describes the properties and attributes of a point cloud.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§guid: Option<String>

Globally unique identifier for the point cloud. Required by spec, but the reference C++ implementation does allow to omit this field, so we do too.

§file_offset: u64

Physical file offset of the start of the associated binary section.

§records: u64

Number of points in the point cloud.

§prototype: Vec<Record>

List of point attributes that exist for this point cloud.

§original_guids: Option<Vec<String>>

Optional list of GUIDs that identify the data sets from which the points in this point cloud originated. Currently not used and always none. Included to avoid future breaking API changes.

§name: Option<String>

Optional user-defined name for the point cloud.

§description: Option<String>

Optional user-defined description of the point cloud.

§cartesian_bounds: Option<CartesianBounds>

Optional Cartesian bounds for the point cloud.

§spherical_bounds: Option<SphericalBounds>

Optional spherical bounds for the point cloud.

§index_bounds: Option<IndexBounds>

Optional index bounds (row, column, return values) for the point cloud.

§intensity_limits: Option<IntensityLimits>

Optional intensity limits for the point cloud.

§color_limits: Option<ColorLimits>

Optional color limits for the point cloud.

§transform: Option<Transform>

Optional transformation to convert data from the local point cloud coordinates to the file-level coordinate system.

§acquisition_start: Option<DateTime>

Optional start date and time when the point cloud was captured with a scanning device.

§acquisition_end: Option<DateTime>

Optional end date and time when the point cloud was captured with a scanning device.

§sensor_vendor: Option<String>

Optional name of the manufacturer for the sensor used to capture the point cloud.

§sensor_model: Option<String>

Optional model name of the sensor used for capturing.

§sensor_serial: Option<String>

Optional serial number of the sensor used for capturing.

§sensor_hw_version: Option<String>

Optional version identifier for the sensor hardware used for capturing.

§sensor_sw_version: Option<String>

Optional version identifier for the sensor software used for capturing.

§sensor_fw_version: Option<String>

Optional version identifier for the sensor firmware used for capturing.

§temperature: Option<f64>

Optional ambient temperature in degrees Celsius, measured at the sensor at the time of capturing.

§humidity: Option<f64>

Optional percentage of relative humidity between 0 and 100, measured at the sensor at the time of capturing.

§atmospheric_pressure: Option<f64>

Optional atmospheric pressure in Pascals, measured at the sensor at the time of capturing.

Implementations§

source§

impl PointCloud

source

pub fn has_cartesian(&self) -> bool

Returns true if the point prototype contains X, Y and Z records for Cartesian coordinates.

source

pub fn has_spherical(&self) -> bool

Returns true if the point prototype contains range, azimuth and elevation records for Spherical coordinates.

source

pub fn has_color(&self) -> bool

Returns true if the point prototype contains red, green and blue records for colors.

source

pub fn has_intensity(&self) -> bool

Returns true if the point prototype contains a intensity record.

source

pub fn has_row_column(&self) -> bool

Returns true if the point prototype contains row and column index records.

source

pub fn has_return(&self) -> bool

Returns true if the point prototype contains return count and return index records.

source

pub fn has_timestamp(&self) -> bool

Returns true if the point prototype contains a time stamp record.

Trait Implementations§

source§

impl Clone for PointCloud

source§

fn clone(&self) -> PointCloud

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PointCloud

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for PointCloud

source§

fn default() -> PointCloud

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> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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.