DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Detailed Description

Defines module to register/stitch multiple sets of point clouds.

Note
SW Release Applicability: These APIs are available in both NVIDIA DriveWorks and NVIDIA DRIVE Software releases.

Macros

#define DW_POINTCLOUD_STITCHER_MAX_POINT_CLOUDS   DW_BIND_SLOT_MAX_COUNT
 This defines the maximum number of point clouds anticipated to be stitched. More...
 

Typedefs

typedef struct dwPointCloudStitcherObject * dwPointCloudStitcherHandle_t
 

Functions

DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindInput (dwBindSlot slot, const dwPointCloud *pointCloud, const dwTransformation3f *transform, dwPointCloudStitcherHandle_t obj)
 Binds input point cloud to the point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutput (dwPointCloud *points, dwPointCloudStitcherHandle_t obj)
 Binds output buffer to the point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_disableMotionCompensation (dwPointCloudStitcherHandle_t obj)
 Disables motion compensation for the stitched point cloud. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_enableMotionCompensation (dwTime_t timestamp, dwEgomotionConstHandle_t egomotion, dwPointCloudStitcherHandle_t obj)
 Enables motion compensation for the stitched point cloud. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_getCUDAStream (cudaStream_t *stream, dwPointCloudStitcherHandle_t obj)
 Gets CUDA stream of point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_initialize (dwPointCloudStitcherHandle_t *obj, dwContextHandle_t ctx)
 Initializes point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_process (dwPointCloudStitcherHandle_t obj)
 Transforms all the input point clouds to a common coordinate. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_release (dwPointCloudStitcherHandle_t obj)
 Releases point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_reset (dwPointCloudStitcherHandle_t obj)
 Resets point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_setCUDAStream (const cudaStream_t stream, dwPointCloudStitcherHandle_t obj)
 Sets CUDA stream of point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_setGlobalTransformation (const dwTransformation3f *tx, dwPointCloudStitcherHandle_t obj)
 Sets global transformation for the stitched point cloud. More...
 

Macro Definition Documentation

◆ DW_POINTCLOUD_STITCHER_MAX_POINT_CLOUDS

#define DW_POINTCLOUD_STITCHER_MAX_POINT_CLOUDS   DW_BIND_SLOT_MAX_COUNT

This defines the maximum number of point clouds anticipated to be stitched.

Definition at line 64 of file PointCloudStitcher.h.

Typedef Documentation

◆ dwPointCloudStitcherHandle_t

typedef struct dwPointCloudStitcherObject* dwPointCloudStitcherHandle_t

Definition at line 66 of file PointCloudStitcher.h.

Function Documentation

◆ dwPointCloudStitcher_bindInput()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindInput ( dwBindSlot  slot,
const dwPointCloud pointCloud,
const dwTransformation3f transform,
dwPointCloudStitcherHandle_t  obj 
)

Binds input point cloud to the point cloud stitcher.

Parameters
[in]slotdestination slot
[in]pointCloudPointer to the input point cloud
[in]transformPointer to point cloud transformation
[in]objHandle to the point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_HANDLE - provided handle to point clou stitcher is null
DW_OUT_OF_BOUNDS - slot index is out of bounds

◆ dwPointCloudStitcher_bindOutput()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutput ( dwPointCloud points,
dwPointCloudStitcherHandle_t  obj 
)

Binds output buffer to the point cloud stitcher.

Parameters
[out]pointsPointer to output buffer which stores the stitched/motion compensated point cloud
[in]objHandle to the point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_disableMotionCompensation()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_disableMotionCompensation ( dwPointCloudStitcherHandle_t  obj)

Disables motion compensation for the stitched point cloud.

Parameters
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_enableMotionCompensation()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_enableMotionCompensation ( dwTime_t  timestamp,
dwEgomotionConstHandle_t  egomotion,
dwPointCloudStitcherHandle_t  obj 
)

Enables motion compensation for the stitched point cloud.

Parameters
[in]timestampThe reference timestamp to align the point clouds with
[in]egomotionHandle to egomotion
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT - if provided egomotion or stitcher handle is null

◆ dwPointCloudStitcher_getCUDAStream()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_getCUDAStream ( cudaStream_t *  stream,
dwPointCloudStitcherHandle_t  obj 
)

Gets CUDA stream of point cloud stitcher.

Parameters
[out]streamPointer to CUDA stream handle
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_initialize()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_initialize ( dwPointCloudStitcherHandle_t obj,
dwContextHandle_t  ctx 
)

Initializes point cloud stitcher.

Parameters
[out]objPointer to point cloud stitcher handle
[in]ctxHandle to the context
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_process()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_process ( dwPointCloudStitcherHandle_t  obj)

Transforms all the input point clouds to a common coordinate.

Parameters
[in]objHandle to the point cloud sitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT - the memory type of input/output does not match
DW_CALL_NOT_ALLOWED - input list is not bound
DW_OUT_OF_BOUNDS - the number of input points exceeds the output buffer capacity

◆ dwPointCloudStitcher_release()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_release ( dwPointCloudStitcherHandle_t  obj)

Releases point cloud stitcher.

Parameters
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_reset()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_reset ( dwPointCloudStitcherHandle_t  obj)

Resets point cloud stitcher.

Parameters
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_setCUDAStream()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_setCUDAStream ( const cudaStream_t  stream,
dwPointCloudStitcherHandle_t  obj 
)

Sets CUDA stream of point cloud stitcher.

Parameters
[in]streamHandle to CUDA stream
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_setGlobalTransformation()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_setGlobalTransformation ( const dwTransformation3f tx,
dwPointCloudStitcherHandle_t  obj 
)

Sets global transformation for the stitched point cloud.

Parameters
[in]txPointer to the transformation that transforms the stitched point
cloud to one common coordinate system. Parameter is optional, can
be nullptr. In this case identity transformation will be used.
[in]objHandle to point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT