47#ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDACCUMULATOR_H_
48#define DW_POINTCLOUDPROCESSING_POINTCLOUDACCUMULATOR_H_
NVIDIA DriveWorks API: Egomotion Methods
dwStatus
Status definition.
NVIDIA DriveWorks API: Lidar
NVIDIA DriveWorks API: Point Cloud Processing
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
struct dwContextObject * dwContextHandle_t
Context handle.
struct dwEgomotionObject const * dwEgomotionConstHandle_t
Const Egomotion Handle.
Defines the structure for a decoded lidar packet.
Defines the properties of the lidar.
uint32_t outputFormats
Combination of desired dwPointCloudFormat flags.
dwEgomotionConstHandle_t egomotion
Handle to egomotion module.
dwMemoryType memoryType
The module will process lidar packets and output to cuda memory if memoryType = DW_MEMORY_CUDA.
dwTime_t sensorStartTimestamp
dwTime_t sensorEndTimestamp
bool enableMotionCompensation
Setting it to true will correct the distortions caused by lidar sensor motion.
dwTime_t hostEndTimestamp
bool outputInRigCoordinates
If true output points are in rig coordinates.
float32_t maxDistanceMeter
Ending distance in degree.
uint32_t filterWindowSize
The horizontal smoothing filter window size.
bool enableZeroCrossDetection
If set to true end of spin is detected based on angle of incoming points otherwise on number of incom...
float32_t maxAngleDegree
Ending angle in degree.
float32_t minAngleDegree
Starting angle in degree.
bool organized
If user sets it to true, the module will process the lidar packets such that the output data is align...
float32_t minDistanceMeter
Starting distance in meter.
dwTransformation3f sensorTransformation
Transformation aligns the lidar sensor with the platform that produces the egomotion.
dwTime_t hostStartTimestamp
struct dwPointCloudAccumulatorObject * dwPointCloudAccumulatorHandle_t
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_getDefaultParams(dwPointCloudAccumulatorParams *params)
Gets default point cloud accumulator parameters.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_addLidarPacket(const dwLidarDecodedPacket *packet, dwPointCloudAccumulatorHandle_t obj)
Pushes lidar packet to point cloud accumulator.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_getSweepSize(dwVector2ui *size, dwPointCloudAccumulatorHandle_t obj)
Gets sweeps/spins size.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_getCUDAStream(cudaStream_t *stream, dwPointCloudAccumulatorHandle_t obj)
Gets CUDA stream of point cloud accumulator.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_reset(dwPointCloudAccumulatorHandle_t obj)
Resets point cloud accumulator.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_isReady(bool *isReady, dwPointCloudAccumulatorHandle_t obj)
Indicate that enough data has been collected to perform full combination.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_bindOutput(dwPointCloud *pointCloud, dwPointCloudAccumulatorHandle_t obj)
Binds output point cloud buffer.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_bindOutputTimestamps(dwPointCloudTimestampRange *timestampRange, dwPointCloudAccumulatorHandle_t obj)
Binds output timestamp range.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_initialize(dwPointCloudAccumulatorHandle_t *obj, const dwPointCloudAccumulatorParams *accumulationParams, const dwLidarProperties *lidarProperties, dwContextHandle_t ctx)
Initializes point cloud accumulator.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_setCUDAStream(const cudaStream_t stream, dwPointCloudAccumulatorHandle_t obj)
Sets CUDA stream of point cloud accumulator.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_release(dwPointCloudAccumulatorHandle_t obj)
Releases point cloud accumulator.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_setLidarToRigTransformation(const dwTransformation3f *transformation, dwPointCloudAccumulatorHandle_t obj)
Sets lidar to rig transformation.
DW_API_PUBLIC dwStatus dwPointCloudAccumulator_process(dwPointCloudAccumulatorHandle_t obj)
Accumulates lidar packets and stores the results to the output buffer.
Defines point cloud accumulator parameters.
Defines timestamp range of a point cloud.
Defines point cloud data structure.
Defines a two-element unsigned-integer vector.