DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

PointCloudStitcher.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2018-2020 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
50 #ifndef DW_POINTCLOUDPROCESSING_POINTCLOUDSTITCHER_H_
51 #define DW_POINTCLOUDPROCESSING_POINTCLOUDSTITCHER_H_
52 
53 #include <dw/core/Types.h>
54 #include <dw/egomotion/Egomotion.h>
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
64 #define DW_POINTCLOUD_STITCHER_MAX_POINT_CLOUDS DW_BIND_SLOT_MAX_COUNT
65 
66 typedef struct dwPointCloudStitcherObject* dwPointCloudStitcherHandle_t;
67 
76 dwStatus dwPointCloudStitcher_initialize(dwPointCloudStitcherHandle_t* obj,
77  dwContextHandle_t ctx);
78 
86 dwStatus dwPointCloudStitcher_reset(dwPointCloudStitcherHandle_t obj);
87 
95 dwStatus dwPointCloudStitcher_release(dwPointCloudStitcherHandle_t obj);
96 
105 dwStatus dwPointCloudStitcher_getCUDAStream(cudaStream_t* stream,
106  dwPointCloudStitcherHandle_t obj);
107 
116 dwStatus dwPointCloudStitcher_setCUDAStream(const cudaStream_t stream,
117  dwPointCloudStitcherHandle_t obj);
118 
129  dwEgomotionConstHandle_t egomotion,
130  dwPointCloudStitcherHandle_t obj);
131 
139 dwStatus dwPointCloudStitcher_disableMotionCompensation(dwPointCloudStitcherHandle_t obj);
140 
152  dwPointCloudStitcherHandle_t obj);
153 
166  const dwPointCloud* pointCloud,
167  const dwTransformation3f* transform,
168  dwPointCloudStitcherHandle_t obj);
169 
179  dwPointCloudStitcherHandle_t obj);
180 
190 dwStatus dwPointCloudStitcher_process(dwPointCloudStitcherHandle_t obj);
191 
192 #ifdef __cplusplus
193 }
194 #endif
195 
196 #endif // DW_POINTCLOUDPROCESSING_POINTCLOUDSTITCHER_H_
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Egomotion Methods
Defines point cloud data structure.
Definition: PointCloud.h:70
DW_API_PUBLIC dwStatus dwPointCloudStitcher_disableMotionCompensation(dwPointCloudStitcherHandle_t obj)
Disables motion compensation for the stitched point cloud.
Specifies a 3D rigid transformation.
Definition: Types.h:462
DW_API_PUBLIC dwStatus dwPointCloudStitcher_setGlobalTransformation(const dwTransformation3f *tx, dwPointCloudStitcherHandle_t obj)
Sets global transformation for the stitched point cloud.
DW_API_PUBLIC dwStatus dwPointCloudStitcher_process(dwPointCloudStitcherHandle_t obj)
Transforms all the input point clouds to a common coordinate.
dwStatus
Status definition.
Definition: Status.h:178
DW_API_PUBLIC dwStatus dwPointCloudStitcher_bindOutput(dwPointCloud *points, dwPointCloudStitcherHandle_t obj)
Binds output buffer to the point cloud stitcher.
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.
dwBindSlot
The slot enum used when an application wants a dw module to bind some particular input data to an int...
Definition: Types.h:537
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
DW_API_PUBLIC dwStatus dwPointCloudStitcher_initialize(dwPointCloudStitcherHandle_t *obj, dwContextHandle_t ctx)
Initializes point cloud stitcher.
DW_API_PUBLIC dwStatus dwPointCloudStitcher_enableMotionCompensation(dwTime_t timestamp, dwEgomotionConstHandle_t egomotion, dwPointCloudStitcherHandle_t obj)
Enables motion compensation for the stitched point cloud.
struct dwEgomotionObject const * dwEgomotionConstHandle_t
Definition: Egomotion.h:80
NVIDIA DriveWorks API: Point Cloud Processing
struct dwPointCloudStitcherObject * dwPointCloudStitcherHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
DW_API_PUBLIC dwStatus dwPointCloudStitcher_reset(dwPointCloudStitcherHandle_t obj)
Resets point cloud stitcher.
DW_API_PUBLIC dwStatus dwPointCloudStitcher_getCUDAStream(cudaStream_t *stream, dwPointCloudStitcherHandle_t obj)
Gets CUDA stream of point cloud stitcher.
#define DW_API_PUBLIC
Definition: Exports.h:56
DW_API_PUBLIC dwStatus dwPointCloudStitcher_setCUDAStream(const cudaStream_t stream, dwPointCloudStitcherHandle_t obj)
Sets CUDA stream of point cloud stitcher.
DW_API_PUBLIC dwStatus dwPointCloudStitcher_release(dwPointCloudStitcherHandle_t obj)
Releases point cloud stitcher.