libE57Format 3.1.1
C++ library to read & write the E57 file format for point cloud data
Loading...
Searching...
No Matches
e57::Data3DPointsData_t< COORDTYPE > Struct Template Reference

Stores pointers to user-provided buffers. More...

#include <E57SimpleData.h>

+ Collaboration diagram for e57::Data3DPointsData_t< COORDTYPE >:

Public Member Functions

 Data3DPointsData_t ()=default
 Default constructor does not manage any memory, adjust min/max for floats, or validate data.
 
 Data3DPointsData_t (e57::Data3D &data3D)
 Constructor which allocates buffers for all valid fields in the given Data3D header.
 
 ~Data3DPointsData_t ()
 Destructor will delete any memory allocated using the Data3DPointsData_t( const e57::Data3D & ) constructor.
 

Public Attributes

int8_t * cartesianInvalidState = nullptr
 Value = 0 if the point is considered valid, 1 otherwise.
 
COORDTYPE * cartesianX = nullptr
 Pointer to a buffer with the X coordinate (in meters) of the point in Cartesian coordinates.
 
COORDTYPE * cartesianY = nullptr
 Pointer to a buffer with the Y coordinate (in meters) of the point in Cartesian coordinates.
 
COORDTYPE * cartesianZ = nullptr
 Pointer to a buffer with the Z coordinate (in meters) of the point in Cartesian coordinates.
 
uint16_t * colorBlue = nullptr
 Pointer to a buffer with the Blue color coefficient. Unit is unspecified.
 
uint16_t * colorGreen = nullptr
 Pointer to a buffer with the Green color coefficient. Unit is unspecified.
 
uint16_t * colorRed = nullptr
 Pointer to a buffer with the Red color coefficient. Unit is unspecified.
 
int32_t * columnIndex = nullptr
 Pointer to a buffer with the column number of point (zero based).
 
double * intensity = nullptr
 Pointer to a buffer with the Point response intensity. Unit is unspecified.
 
int8_t * isColorInvalid = nullptr
 Value = 0 if the color is considered valid, 1 otherwise.
 
int8_t * isIntensityInvalid = nullptr
 Value = 0 if the intensity is considered valid, 1 otherwise.
 
int8_t * isTimeStampInvalid = nullptr
 Value = 0 if the timeStamp is considered valid, 1 otherwise.
 
int8_t * returnCount = nullptr
 Pointer to a buffer with the total number of returns for the pulse that this corresponds to.
 
int8_t * returnIndex = nullptr
 Pointer to a buffer with the number of this return (zero based).
 
int32_t * rowIndex = nullptr
 Pointer to a buffer with the row number of point (zero based).
 
COORDTYPE * sphericalAzimuth = nullptr
 Pointer to a buffer with the Azimuth angle (in radians) of point in spherical coordinates.
 
COORDTYPE * sphericalElevation = nullptr
 Pointer to a buffer with the Elevation angle (in radians) of point in spherical coordinates.
 
int8_t * sphericalInvalidState = nullptr
 Value = 0 if the range is considered valid, 1 otherwise.
 
COORDTYPE * sphericalRange = nullptr
 Pointer to a buffer with the range (in meters) of points in spherical coordinates.
 
double * timeStamp = nullptr
 Pointer to a buffer with the time (in seconds) since the start time for the data.
 
Extension: E57_EXT_surface_normals

The following fields are part of the E57_EXT_surface_normals extension.

float * normalX = nullptr
 The X component of a surface normal vector.
 
float * normalY = nullptr
 The Y component of a surface normal vector.
 
float * normalZ = nullptr
 The Z component of a surface normal vector.
 

Detailed Description

template<typename COORDTYPE>
struct e57::Data3DPointsData_t< COORDTYPE >

Stores pointers to user-provided buffers.

Constructor & Destructor Documentation

◆ Data3DPointsData_t() [1/2]

template<typename COORDTYPE >
e57::Data3DPointsData_t< COORDTYPE >::Data3DPointsData_t ( )
default

Default constructor does not manage any memory, adjust min/max for floats, or validate data.

◆ Data3DPointsData_t() [2/2]

template<typename COORDTYPE >
e57::Data3DPointsData_t< COORDTYPE >::Data3DPointsData_t ( e57::Data3D data3D)
explicit

Constructor which allocates buffers for all valid fields in the given Data3D header.

This constructor will also adjust the min/max fields in the data3D pointFields if we are using floats, and run some validation on the Data3D.

Parameters
[in]data3DCompleted header which indicates the fields we are using
Exceptions
ErrorValueOutOfBounds
ErrorInvalidNodeType

◆ ~Data3DPointsData_t()

template<typename COORDTYPE >
e57::Data3DPointsData_t< COORDTYPE >::~Data3DPointsData_t

Destructor will delete any memory allocated using the Data3DPointsData_t( const e57::Data3D & ) constructor.

Member Data Documentation

◆ cartesianInvalidState

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::cartesianInvalidState = nullptr

Value = 0 if the point is considered valid, 1 otherwise.

◆ cartesianX

template<typename COORDTYPE >
COORDTYPE* e57::Data3DPointsData_t< COORDTYPE >::cartesianX = nullptr

Pointer to a buffer with the X coordinate (in meters) of the point in Cartesian coordinates.

◆ cartesianY

template<typename COORDTYPE >
COORDTYPE* e57::Data3DPointsData_t< COORDTYPE >::cartesianY = nullptr

Pointer to a buffer with the Y coordinate (in meters) of the point in Cartesian coordinates.

◆ cartesianZ

template<typename COORDTYPE >
COORDTYPE* e57::Data3DPointsData_t< COORDTYPE >::cartesianZ = nullptr

Pointer to a buffer with the Z coordinate (in meters) of the point in Cartesian coordinates.

◆ colorBlue

template<typename COORDTYPE >
uint16_t* e57::Data3DPointsData_t< COORDTYPE >::colorBlue = nullptr

Pointer to a buffer with the Blue color coefficient. Unit is unspecified.

◆ colorGreen

template<typename COORDTYPE >
uint16_t* e57::Data3DPointsData_t< COORDTYPE >::colorGreen = nullptr

Pointer to a buffer with the Green color coefficient. Unit is unspecified.

◆ colorRed

template<typename COORDTYPE >
uint16_t* e57::Data3DPointsData_t< COORDTYPE >::colorRed = nullptr

Pointer to a buffer with the Red color coefficient. Unit is unspecified.

◆ columnIndex

template<typename COORDTYPE >
int32_t* e57::Data3DPointsData_t< COORDTYPE >::columnIndex = nullptr

Pointer to a buffer with the column number of point (zero based).

This is useful for data that is stored in a regular grid. Shall be in the interval (0, 2^31).

◆ intensity

template<typename COORDTYPE >
double* e57::Data3DPointsData_t< COORDTYPE >::intensity = nullptr

Pointer to a buffer with the Point response intensity. Unit is unspecified.

◆ isColorInvalid

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::isColorInvalid = nullptr

Value = 0 if the color is considered valid, 1 otherwise.

◆ isIntensityInvalid

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::isIntensityInvalid = nullptr

Value = 0 if the intensity is considered valid, 1 otherwise.

◆ isTimeStampInvalid

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::isTimeStampInvalid = nullptr

Value = 0 if the timeStamp is considered valid, 1 otherwise.

◆ normalX

template<typename COORDTYPE >
float* e57::Data3DPointsData_t< COORDTYPE >::normalX = nullptr

The X component of a surface normal vector.

◆ normalY

template<typename COORDTYPE >
float* e57::Data3DPointsData_t< COORDTYPE >::normalY = nullptr

The Y component of a surface normal vector.

◆ normalZ

template<typename COORDTYPE >
float* e57::Data3DPointsData_t< COORDTYPE >::normalZ = nullptr

The Z component of a surface normal vector.

◆ returnCount

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::returnCount = nullptr

Pointer to a buffer with the total number of returns for the pulse that this corresponds to.

Shall be in the interval (0, 2^7). Only for multi-return sensors.

◆ returnIndex

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::returnIndex = nullptr

Pointer to a buffer with the number of this return (zero based).

That is, 0 is the first return, 1 is the second, and so on. Shall be in the interval (0, returnCount). Only for multi-return sensors.

◆ rowIndex

template<typename COORDTYPE >
int32_t* e57::Data3DPointsData_t< COORDTYPE >::rowIndex = nullptr

Pointer to a buffer with the row number of point (zero based).

This is useful for data that is stored in a regular grid. Shall be in the interval (0, 2^31).

◆ sphericalAzimuth

template<typename COORDTYPE >
COORDTYPE* e57::Data3DPointsData_t< COORDTYPE >::sphericalAzimuth = nullptr

Pointer to a buffer with the Azimuth angle (in radians) of point in spherical coordinates.

◆ sphericalElevation

template<typename COORDTYPE >
COORDTYPE* e57::Data3DPointsData_t< COORDTYPE >::sphericalElevation = nullptr

Pointer to a buffer with the Elevation angle (in radians) of point in spherical coordinates.

◆ sphericalInvalidState

template<typename COORDTYPE >
int8_t* e57::Data3DPointsData_t< COORDTYPE >::sphericalInvalidState = nullptr

Value = 0 if the range is considered valid, 1 otherwise.

◆ sphericalRange

template<typename COORDTYPE >
COORDTYPE* e57::Data3DPointsData_t< COORDTYPE >::sphericalRange = nullptr

Pointer to a buffer with the range (in meters) of points in spherical coordinates.

◆ timeStamp

template<typename COORDTYPE >
double* e57::Data3DPointsData_t< COORDTYPE >::timeStamp = nullptr

Pointer to a buffer with the time (in seconds) since the start time for the data.

This is given by acquisitionStart in the parent Data3D Structure.


The documentation for this struct was generated from the following files: