DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

LidarPointCloud.h
Go to the documentation of this file.
1
2// 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) 2022-2023 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
46#ifndef DW_POINTCLOUDPROCESSING_LIDARPOINTCLOUD_LIDARPOINTCLOUD_H_
47#define DW_POINTCLOUDPROCESSING_LIDARPOINTCLOUD_LIDARPOINTCLOUD_H_
48
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
59typedef enum {
64
68typedef struct
69{
73
78typedef struct
79{
81 uint32_t numLayers;
84
89
93#define DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE 8
94
98typedef struct dwLidarPointCloud
99{
111
130 dwPointCloudFormat const format,
131 dwMemoryType const memoryType,
132 uint32_t const maxPointsPerReturn,
133 dwLidarPointCloudMapping const* mapping);
134
151
166
167#ifdef __cplusplus
168}
169#endif
171#endif // DW_POINTCLOUDPROCESSING_LIDARPOINTCLOUD_LIDARPOINTCLOUD_H_
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Lidar
NVIDIA DriveWorks API: Point Cloud Processing
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:65
#define DW_API_PUBLIC
Definition: Exports.h:56
dwMemoryType
Memory type definitions.
Definition: TypesExtra.h:148
dwLidarAuxDataType
An enum for every data element we could possibly return.
Definition: LidarTypes.h:87
dwLidarReturnType
Enum to indicate a single return type.
Definition: LidarTypes.h:66
uint32_t userData[DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE]
User defined data.
dwLidarMotionCompensationInfo motionCompensation
Motion compensation information.
dwLidarPointCloudMapping mapping
Mapping of returns and aux channels.
dwPointCloud pointCloud
Wrapped point cloud.
dwTime_t compensationTimestamp
Motion compensation reference timestamp.
bool compensated
True if this pointcloud has been motion compensated.
dwPointCloudReferenceFrame coordinateFrame
Coordinate reference frame for the data in this pointcloud.
uint32_t numLayers
Number of layers.
DW_API_PUBLIC dwStatus dwLidarPointCloud_create(dwLidarPointCloud *lidarPointCloud, dwPointCloudFormat const format, dwMemoryType const memoryType, uint32_t const maxPointsPerReturn, dwLidarPointCloudMapping const *mapping)
Create lidar specific point cloud.
#define DW_POINT_CLOUD_MAX_AUX_CHANNELS
Definition: PointCloud.h:92
#define DW_POINT_CLOUD_MAX_LAYERS
Definition: PointCloud.h:91
DW_API_PUBLIC dwStatus dwLidarPointCloud_getLidarPointStride(uint32_t *size, dwPointCloudFormat const format)
Get the size of the lidar point cloud data type.
#define DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE
Number of elements in user buffer.
dwPointCloudReferenceFrame
Defines point cloud coordinate reference frame.
DW_API_PUBLIC dwStatus dwLidarPointCloud_destroy(dwLidarPointCloud *lidarPointCloud)
Destroy lidar specific point cloud.
dwPointCloudFormat
Defines point format.
Definition: PointCloud.h:59
@ DW_POINTCLOUD_REFERENCE_FRAME_CUSTOM
Custom coordinate reference frame.
@ DW_POINTCLOUD_REFERENCE_FRAME_RIG
Coordinate frame with the ego vehicle at the origin.
@ DW_POINTCLOUD_REFERENCE_FRAME_SENSOR
Coordinate frame with the sensor at the origin.
Declares motion compensation traits of the point cloud.
Defines a LIDAR-specific point cloud data structure.
Struct indicating layer and aux channel mapping.
Defines point cloud data structure.
Definition: PointCloud.h:98