46#ifndef DW_POINTCLOUDPROCESSING_POINTCLOUD_H_
47#define DW_POINTCLOUDPROCESSING_POINTCLOUD_H_
92#define DW_POINT_CLOUD_MAX_LAYERS 16U
93#define DW_POINT_CLOUD_MAX_AUX_CHANNELS 16U
170 uint32_t
const maxPointsPerLayer,
171 uint32_t
const numRequestedLayers,
172 uint32_t
const* auxChannelsElemSize,
173 uint32_t
const numRequestedAuxChannels);
dwStatus
Status definition.
NVIDIA DriveWorks API: Lidar
NVIDIA DriveWorks API: Core Types
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
uint32_t channelIdx
Channel index the aux data refers to.
const void * points
Pointer to the start of the data for this layer.
bool organized
Flag indicating the data is ordered on the 3D grid.
dwTime_t hostStartTimestamp
Point cloud start timestamp.
void * data
Pointer to the start of the data for this channel.
uint32_t size
Number of points in the cloud including all layers.
uint32_t size
Number of elements in a channel.
uint32_t numAuxChannels
Number of aux channels in a point cloud.
uint32_t capacity
numLayers * maxPointsPerLayer
dwTime_t hostEndTimestamp
Point cloud end timestamp.
dwPointCloudFormat format
Format of a buffer.
uint32_t elementSize
Size in bytes of an element in the aux buffer.
void * points
Pointer to memory buffer of all points. Not compact, but contiguous with invalid points in between la...
uint32_t layerIdx
Index of a layer within a point cloud.
uint32_t maxPointsPerLayer
Maximum number of points in layer (use even number of points to benefit from aligned memory access pe...
dwMemoryType type
Defines type of a memory GPU or CPU.
uint32_t size
Number of points in a layer (.
uint32_t numLayers
Number of layers in a point cloud.
dwTime_t timestamp
Time when the point cloud capturing is finished.
DW_API_PUBLIC dwStatus dwPointCloud_create(dwPointCloud *pointCloud, dwPointCloudFormat const format, dwMemoryType const memoryType, uint32_t const maxPointsPerLayer, uint32_t const numRequestedLayers, uint32_t const *auxChannelsElemSize, uint32_t const numRequestedAuxChannels)
Create point cloud with layers and aux channel information.
DW_API_PUBLIC dwStatus dwPointCloud_destroy(dwPointCloud *pointCloud)
Destroy point cloud buffers.
#define DW_POINT_CLOUD_MAX_AUX_CHANNELS
#define DW_POINT_CLOUD_MAX_LAYERS
DW_API_PUBLIC dwStatus dwPointCloud_createBuffer(dwPointCloud *buffer)
Allocates memory for point cloud data structure.
DW_API_PUBLIC dwStatus dwPointCloud_destroyBuffer(dwPointCloud *buffer)
Destroys allocated memory for point cloud data structure.
dwPointCloudFormat
Defines point format.
@ DW_POINTCLOUD_FORMAT_XYZI
Cartesian 3D coordinate + intensity.
@ DW_POINTCLOUD_FORMAT_RTHI
Polar 3D coordinate + intensity.
Defines point cloud data structure.
Struct holding information about aux channel.
Struct holding information about a single point cloud layer.