DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

PointCloudPlaneExtractor.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2018-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
47#ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDPLANEEXTRACTOR_H_
48#define DW_POINTCLOUDPROCESSING_POINTCLOUDPLANEEXTRACTOR_H_
49
50#include <dw/core/base/Types.h>
53
54#ifdef __cplusplus
55extern "C" {
56#endif
57
58typedef struct dwPointCloudPlaneExtractorObject* dwPointCloudPlaneExtractorHandle_t;
59
65typedef struct
66{
67 uint32_t maxPointCount;
70
77typedef struct
78{
88
92typedef struct
93{
97 bool valid;
101
116 dwPointCloudPlaneExtractorParams const* const params,
117 dwContextHandle_t const ctx);
118
131
144
157
186
201
217 dwPointCloud* const outliers,
218 dwPointCloudExtractedPlane* const outputPlane,
220
235
237// DEPRECATED API FUNCTIONS
238
248DW_DEPRECATED("dwPointCloudPlaneExtractor_initialize() is renamed / deprecated and will be removed in the next major release,"
249 " use dwPCPlaneExtractor_initialize() instead")
250// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
252 dwPointCloudPlaneExtractorParams const* const params,
253 dwContextHandle_t const ctx);
254
262DW_DEPRECATED("dwPointCloudPlaneExtractor_reset() is renamed / deprecated and will be removed in the next major release,"
263 " use dwPCPlaneExtractor_reset() instead")
264// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
266
274DW_DEPRECATED("dwPointCloudPlaneExtractor_release() is renamed / deprecated and will be removed in the next major release,"
275 " use dwPCPlaneExtractor_release() instead")
276// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
278
286DW_DEPRECATED("dwPointCloudPlaneExtractor_getDefaultParameters() is renamed / deprecated and will be removed in the next major release,"
288// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
290
299DW_DEPRECATED("dwPointCloudPlaneExtractor_bindInput() is renamed / deprecated and will be removed in the next major release,"
300 " use dwPCPlaneExtractor_bindInput() instead")
301// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
312DW_DEPRECATED("dwPointCloudPlaneExtractor_getCUDAStream() is renamed / deprecated and will be removed in the next major release,"
313 " use dwPCPlaneExtractor_getCUDAStream() instead")
314// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
317
326DW_DEPRECATED("dwPointCloudPlaneExtractor_setCUDAStream() is renamed / deprecated and will be removed in the next major release,"
327 " use dwPCPlaneExtractor_setCUDAStream() instead")
328// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
331
342DW_DEPRECATED("dwPointCloudPlaneExtractor_bindOutput() is renamed / deprecated and will be removed in the next major release,"
343 " use dwPCPlaneExtractor_bindOutput() instead")
344// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
346 dwPointCloud* const outliers,
347 dwPointCloudExtractedPlane* const outputPlane,
349
359DW_DEPRECATED("dwPointCloudPlaneExtractor_process() is renamed / deprecated and will be removed in the next major release,"
360 " use dwPCPlaneExtractor_process() instead")
361// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
363
364#ifdef __cplusplus
365}
366#endif
368#endif // DW_POINTCLOUDPROCESSING_POINTCLOUDPLANEEXTRACTOR_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:44
Data structure representing an oriented bounding box in the local object coordinate frame The box is ...
Defines a 3x3 matrix of floating point numbers by using only one array.
Definition: MatrixTypes.h:135
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:76
NVIDIA DriveWorks API: Point Cloud Processing
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:85
#define DW_DEPRECATED(msg)
Definition: Exports.h:68
#define DW_API_PUBLIC
Definition: Exports.h:56
float32_t maxInlierDistance
maximum inlier distance to the estimated plane
float32_t offset
offset distance of the ground plane to the coordinate origin
bool valid
If this is false, it indicates the ransac plane fitting and optimization failed to produce a 3D groun...
dwMatrix3f rotation
rotation that aligns the point cloud with ground plane
dwVector3f normal
normal vector of the ground plane
float32_t minInlierFraction
minimum inlier percentage for ransac plane fitting
dwTransformation3f transformation
rotation and translation of the plane given the estimated normal vector and plane offset
uint32_t maxInputPointCount
maximum number of points in input point cloud
dwPlaneExtractorBoxFilterParams boxFilterParams
box filter parameters
uint32_t ransacIterationCount
ransac iteration number
uint32_t maxPointCount
maximum number of accepted points
uint32_t optimizerIterationCount
optimization iteration number
dwOrientedBoundingBox3f box
oriented bounding box
bool cudaPipelineEnabled
Setting to true will process with CUDA pipeline.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_process(dwPointCloudPlaneExtractorHandle_t const obj)
Extracts 3D ground plane and stores the results to output buffer.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_bindInput(dwPointCloud const *const pointCloud, dwPointCloudPlaneExtractorHandle_t const obj)
Binds point cloud buffer to plane extractor.
struct dwPointCloudPlaneExtractorObject * dwPointCloudPlaneExtractorHandle_t
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_process(dwPointCloudPlaneExtractorHandle_t const obj)
Extracts 3D ground plane and stores the results to output buffer.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_setCUDAStream(cudaStream_t const stream, dwPointCloudPlaneExtractorHandle_t const obj)
Sets CUDA stream of point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_getCUDAStream(cudaStream_t *const stream, dwPointCloudPlaneExtractorHandle_t const obj)
Gets CUDA stream of point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_bindOutput(dwPointCloud *const inliers, dwPointCloud *const outliers, dwPointCloudExtractedPlane *const outputPlane, dwPointCloudPlaneExtractorHandle_t const obj)
Binds output buffers to point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_bindInput(dwPointCloud const *const pointCloud, dwPointCloudPlaneExtractorHandle_t const obj)
Binds point cloud buffer to plane extractor.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_getCUDAStream(cudaStream_t *const stream, dwPointCloudPlaneExtractorHandle_t const obj)
Gets CUDA stream of point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_getDefaultParameters(dwPointCloudPlaneExtractorParams *const params)
Gets default point cloud plane extractor parameters.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_bindOutput(dwPointCloud *const inliers, dwPointCloud *const outliers, dwPointCloudExtractedPlane *const outputPlane, dwPointCloudPlaneExtractorHandle_t const obj)
Binds output buffers to point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_setCUDAStream(cudaStream_t const stream, dwPointCloudPlaneExtractorHandle_t const obj)
Sets CUDA stream of point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_initialize(dwPointCloudPlaneExtractorHandle_t *const obj, dwPointCloudPlaneExtractorParams const *const params, dwContextHandle_t const ctx)
Initializes point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_getDefaultParameters(dwPointCloudPlaneExtractorParams *const params)
Gets default point cloud plane extractor parameters.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_release(dwPointCloudPlaneExtractorHandle_t const obj)
Releases point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_release(dwPointCloudPlaneExtractorHandle_t const obj)
Releases point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_initialize(dwPointCloudPlaneExtractorHandle_t *const obj, dwPointCloudPlaneExtractorParams const *const params, dwContextHandle_t const ctx)
Initializes point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPointCloudPlaneExtractor_reset(dwPointCloudPlaneExtractorHandle_t const obj)
Resets point cloud plane extractor.
DW_API_PUBLIC dwStatus dwPCPlaneExtractor_reset(dwPointCloudPlaneExtractorHandle_t const obj)
Resets point cloud plane extractor.
Defines parameters for point cloud box filter.
Defines extracted 3D plane.
Defines plane extraction parameter.
Defines point cloud data structure.
Definition: PointCloud.h:98
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:182