DriveWorks SDK Reference
5.14.77 Release
For Test and Development only

Detailed Description

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

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 const slot, dwPointCloud const *pointCloud, dwTransformation3f const *pointCloudToRig, dwPointCloudStitcherHandle_t obj)
 Binds input point cloud to the point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindInputLidarPointCloud (dwBindSlot const slot, dwLidarPointCloud const *lidarPointCloud, dwTransformation3f const *pointCloudToRig, dwPointCloudStitcherHandle_t obj)
 Binds input lidar specific point cloud to the point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutput (dwPointCloud *pointCloud, dwPointCloudStitcherHandle_t obj)
 Binds output buffer to the point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutputLidarPointCloud (dwLidarPointCloud *lidarPointCloud, dwPointCloudStitcherHandle_t obj)
 Binds output lidar specific point cloud to the 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 const 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 (cudaStream_t const stream, dwPointCloudStitcherHandle_t obj)
 Sets CUDA stream of point cloud stitcher. More...
 
DW_API_PUBLIC dwStatus dwPointCloudStitcher_setGlobalTransformation (dwTransformation3f const *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 61 of file PointCloudStitcher.h.

Typedef Documentation

◆ dwPointCloudStitcherHandle_t

typedef struct dwPointCloudStitcherObject* dwPointCloudStitcherHandle_t

Definition at line 63 of file PointCloudStitcher.h.

Function Documentation

◆ dwPointCloudStitcher_bindInput()

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

Binds input point cloud to the point cloud stitcher.

Parameters
[in]slotdestination slot
[in]pointCloudPointer to the input point cloud
[in]pointCloudToRigOptional transformation from internal point cloud coordinate system to rig space. The pointer object shall be valid during the whole stitcher object lifetime.
[in]objHandle to the point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_HANDLE - provided handle to point cloud stitcher is null
DW_OUT_OF_BOUNDS - slot index is out of bounds

◆ dwPointCloudStitcher_bindInputLidarPointCloud()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindInputLidarPointCloud ( dwBindSlot const  slot,
dwLidarPointCloud const *  lidarPointCloud,
dwTransformation3f const *  pointCloudToRig,
dwPointCloudStitcherHandle_t  obj 
)

Binds input lidar specific point cloud to the point cloud stitcher.

Parameters
[in]slotdestination slot
[in]lidarPointCloudPointer to the input point cloud
[in]pointCloudToRigOptional transformation from internal point cloud coordinate system to rig space
[in]objHandle to the point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_HANDLE - provided handle to point cloud stitcher is null
DW_OUT_OF_BOUNDS - slot index is out of bounds
Note
The value of provided transformation is copied at the time of this function call. Make sure to update transformation calling the method every time it is modified outside the module.

◆ dwPointCloudStitcher_bindOutput()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutput ( dwPointCloud pointCloud,
dwPointCloudStitcherHandle_t  obj 
)

Binds output buffer to the point cloud stitcher.

Parameters
[out]pointCloudPointer to output buffer which stores the stitched point cloud
[in]objHandle to the point cloud stitcher
Returns
DW_SUCCESS
DW_INVALID_ARGUMENT

◆ dwPointCloudStitcher_bindOutputLidarPointCloud()

DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutputLidarPointCloud ( dwLidarPointCloud lidarPointCloud,
dwPointCloudStitcherHandle_t  obj 
)

Binds output lidar specific point cloud to the stitcher.

Parameters
[out]lidarPointCloudPointer to stitched 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 const  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 stitcher
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 ( cudaStream_t const  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 ( dwTransformation3f const *  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
Note
The value of provided transformation is copied at the time of this function call. Make sure to update transformation calling the method every time it is modified outside the module.