DriveWorks SDK Reference
5.14.77 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-2022 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
112 dwPointCloudPlaneExtractorParams const* const params,
113 dwContextHandle_t const ctx);
114
123
132
141
162
173
185 dwPointCloud* const outliers,
186 dwPointCloudExtractedPlane* const outputPlane,
188
199
201// DEPRECATED API FUNCTIONS
202
212DW_DEPRECATED("dwPointCloudPlaneExtractor_initialize() is renamed / deprecated and will be removed in the next major release,"
213 " use dwPCPlaneExtractor_initialize() instead")
214// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
216 dwPointCloudPlaneExtractorParams const* const params,
217 dwContextHandle_t const ctx);
218
226DW_DEPRECATED("dwPointCloudPlaneExtractor_reset() is renamed / deprecated and will be removed in the next major release,"
227 " use dwPCPlaneExtractor_reset() instead")
228// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
230
238DW_DEPRECATED("dwPointCloudPlaneExtractor_release() is renamed / deprecated and will be removed in the next major release,"
239 " use dwPCPlaneExtractor_release() instead")
240// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
242
250DW_DEPRECATED("dwPointCloudPlaneExtractor_getDefaultParameters() is renamed / deprecated and will be removed in the next major release,"
252// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
254
263DW_DEPRECATED("dwPointCloudPlaneExtractor_bindInput() is renamed / deprecated and will be removed in the next major release,"
264 " use dwPCPlaneExtractor_bindInput() instead")
265// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
276DW_DEPRECATED("dwPointCloudPlaneExtractor_getCUDAStream() is renamed / deprecated and will be removed in the next major release,"
277 " use dwPCPlaneExtractor_getCUDAStream() instead")
278// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
281
290DW_DEPRECATED("dwPointCloudPlaneExtractor_setCUDAStream() is renamed / deprecated and will be removed in the next major release,"
291 " use dwPCPlaneExtractor_setCUDAStream() instead")
292// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
295
306DW_DEPRECATED("dwPointCloudPlaneExtractor_bindOutput() is renamed / deprecated and will be removed in the next major release,"
307 " use dwPCPlaneExtractor_bindOutput() instead")
308// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
310 dwPointCloud* const outliers,
311 dwPointCloudExtractedPlane* const outputPlane,
313
323DW_DEPRECATED("dwPointCloudPlaneExtractor_process() is renamed / deprecated and will be removed in the next major release,"
324 " use dwPCPlaneExtractor_process() instead")
325// coverity[misra_c_2012_rule_5_1_violation] Deprecated API
327
328#ifdef __cplusplus
329}
330#endif
332#endif // DW_POINTCLOUDPROCESSING_POINTCLOUDPLANEEXTRACTOR_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:45
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:139
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:79
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:86
#define DW_DEPRECATED(msg)
Definition: Exports.h:66
#define DW_API_PUBLIC
Definition: Exports.h:54
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:99
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:186