DriveWorks SDK Reference
5.14.77 Release
For Test and Development only

Detailed Description

Defines module to perform point cloud box filtering.

Data Structures

struct  dwPointCloudBoxFilterParams
 Defines parameters for point cloud box filter. More...
 

Typedefs

typedef struct dwPointCloudBoxFilterObject * dwPointCloudBoxFilterHandle_t
 

Enumerations

enum  dwPointCloudBoxFilterType {
  DW_POINT_CLOUD_BOX_FILTER_TYPE_INNER = 0 ,
  DW_POINT_CLOUD_BOX_FILTER_TYPE_OUTER = 1
}
 Defines box filter type. More...
 

Functions

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_bindInput (dwPointCloud const *const pointCloud, dwPointCloudBoxFilterHandle_t const obj)
 Binds input point cloud buffer to filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_bindOutput (dwPointCloud *const pointCloud, dwPointCloudBoxFilterHandle_t const obj)
 Binds output buffers to point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_getCUDAStream (cudaStream_t *const stream, dwPointCloudBoxFilterHandle_t const obj)
 Gets CUDA stream of point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_getDefaultParameters (dwPointCloudBoxFilterParams *const params)
 Gets default point cloud box filter parameters. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_initialize (dwPointCloudBoxFilterHandle_t *const obj, dwPointCloudBoxFilterParams const *const params, dwContextHandle_t const ctx)
 Initializes point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_process (dwPointCloudBoxFilterHandle_t const obj)
 Applies point cloud box filter to previously bound point cloud. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_release (dwPointCloudBoxFilterHandle_t const obj)
 Releases point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_reset (dwPointCloudBoxFilterHandle_t const obj)
 Resets point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setBoundingBox (dwOrientedBoundingBox3f *const boundingBox, dwPointCloudBoxFilterHandle_t const obj)
 Sets bounding box for point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setCUDAStream (cudaStream_t const stream, dwPointCloudBoxFilterHandle_t const obj)
 Sets CUDA stream of point cloud box filter. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setDownSamplingEnabled (bool const enabled, dwPointCloudBoxFilterHandle_t const obj)
 Turns on/off down sampling. More...
 
DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setFilterType (dwPointCloudBoxFilterType const type, dwPointCloudBoxFilterHandle_t const obj)
 Sets type for point cloud box filter. More...
 

Data Structure Documentation

◆ dwPointCloudBoxFilterParams

struct dwPointCloudBoxFilterParams
Data Fields
bool allowDownSampling if set, the amount of output points will automatically fit output point cloud capacity
const dwOrientedBoundingBox3f * box oriented bounding box
bool enableCuda if true filtering is performed on GPU, otherwise on CPU
uint32_t maxInputPointCount maximum size of input point cloud, only relevant for GPU version
dwPointCloudBoxFilterType type type of a filter

Typedef Documentation

◆ dwPointCloudBoxFilterHandle_t

typedef struct dwPointCloudBoxFilterObject* dwPointCloudBoxFilterHandle_t

Definition at line 58 of file PointCloudBoxFilter.h.

Enumeration Type Documentation

◆ dwPointCloudBoxFilterType

Defines box filter type.

Enumerator
DW_POINT_CLOUD_BOX_FILTER_TYPE_INNER 

pick points inside the box

DW_POINT_CLOUD_BOX_FILTER_TYPE_OUTER 

pick points outside the box

Definition at line 63 of file PointCloudBoxFilter.h.

Function Documentation

◆ dwPointCloudBoxFilter_bindInput()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_bindInput ( dwPointCloud const *const  pointCloud,
dwPointCloudBoxFilterHandle_t const  obj 
)

Binds input point cloud buffer to filter.

Parameters
[in]pointCloudPointer to point cloud buffer
[in]objHandle to point cloud box filter
Returns
DW_INVALID_ARGUMENT - if provided point cloud is nullptr or it`s characteristics
does not match thouse specified at initialization
DW_NOT_SUPPORTED - if point cloud format is other than DW_POINTCLOUD_FORMAT_XYZI DW_INVALID_HANDLE - if obj is null DW_SUCCESS
Note
If using GPU implementation i.e. enableCuda flag has been set, memory type of input point cloud must be DW_MEMORY_TYPE_CUDA. Otherwise - DW_MEMORY_TYPE_CPU.

◆ dwPointCloudBoxFilter_bindOutput()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_bindOutput ( dwPointCloud *const  pointCloud,
dwPointCloudBoxFilterHandle_t const  obj 
)

Binds output buffers to point cloud box filter.

Parameters
[out]pointCloudPointer to output point cloud holding filtered points
[in]objHandle to point cloud box filter
Returns
DW_INVALID_ARGUMENT - if provided point cloud is nullptr or does not match characteristics specified at initialization.
DW_NOT_SUPPORTED - if point cloud format is other than DW_POINTCLOUD_FORMAT_XYZI
DW_INVALID_HANDLE - if obj is null
DW_SUCCESS
Note
Memory type of input point cloud must match enableCuda flag specified at initialization time.

◆ dwPointCloudBoxFilter_getCUDAStream()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_getCUDAStream ( cudaStream_t *const  stream,
dwPointCloudBoxFilterHandle_t const  obj 
)

Gets CUDA stream of point cloud box filter.

Parameters
[out]streamPointer to CUDA stream handle
[in]objHandle to point cloud box filter
Returns
DW_INVALID_ARGUMENT - if stream pointer is nullptr DW_INVALID_HANDLE - if obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_getDefaultParameters()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_getDefaultParameters ( dwPointCloudBoxFilterParams *const  params)

Gets default point cloud box filter parameters.

Parameters
[in]paramsPointer to point cloud box filter parameter
Returns
DW_INVALID_ARGUMENT - if params is nullptr
DW_SUCCESS

◆ dwPointCloudBoxFilter_initialize()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_initialize ( dwPointCloudBoxFilterHandle_t *const  obj,
dwPointCloudBoxFilterParams const *const  params,
dwContextHandle_t const  ctx 
)

Initializes point cloud box filter.

Parameters
[out]objHandle to point cloud box filter
[in]paramsPointer to point could filter parameter
[in]ctxHandle to the context
Returns
DW_INVALID_HANDLE - if provided ctx is null
DW_INVALID_ARGUMENT - if one of obj or params is null
DW_SUCCESS

◆ dwPointCloudBoxFilter_process()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_process ( dwPointCloudBoxFilterHandle_t const  obj)

Applies point cloud box filter to previously bound point cloud.

Parameters
[in]objHandle to point cloud box filter
Returns
DW_CALL_NOT_ALLOWED - input or output buffer has not been not bound DW_INVALID_HANDLE - if obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_release()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_release ( dwPointCloudBoxFilterHandle_t const  obj)

Releases point cloud box filter.

Parameters
[in]objHandle to point cloud box filter
Returns
DW_INVALID_HANDLE - if obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_reset()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_reset ( dwPointCloudBoxFilterHandle_t const  obj)

Resets point cloud box filter.

Parameters
[in]objHandle to point cloud box filter
Returns
DW_INVALID_HANDLE - if provided obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_setBoundingBox()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setBoundingBox ( dwOrientedBoundingBox3f *const  boundingBox,
dwPointCloudBoxFilterHandle_t const  obj 
)

Sets bounding box for point cloud box filter.

Parameters
[out]boundingBoxA pointer to oriented bounding box
[in]objHandle to point cloud box filter
Returns
DW_INVALID_ARGUMENT - if provided boundingBox is nullptr DW_INVALID_HANDLE - if obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_setCUDAStream()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setCUDAStream ( cudaStream_t const  stream,
dwPointCloudBoxFilterHandle_t const  obj 
)

Sets CUDA stream of point cloud box filter.

Parameters
[in]streamHandle to CUDA stream
[in]objHandle to point cloud box filter
Returns
DW_INVALID_HANDLE - if obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_setDownSamplingEnabled()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setDownSamplingEnabled ( bool const  enabled,
dwPointCloudBoxFilterHandle_t const  obj 
)

Turns on/off down sampling.

Parameters
[in]enabledFlag to enable/disable down sampling
[in]objHandle to point cloud box filter
Returns
DW_INVALID_HANDLE - if obj is null DW_SUCCESS

◆ dwPointCloudBoxFilter_setFilterType()

DW_API_PUBLIC dwStatus dwPointCloudBoxFilter_setFilterType ( dwPointCloudBoxFilterType const  type,
dwPointCloudBoxFilterHandle_t const  obj 
)

Sets type for point cloud box filter.

Parameters
[out]typeType of a filter
[in]objHandle to point cloud box filter
Returns
DW_INVALID_HANDLE - if obj is null DW_SUCCESS