NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
LidarPointCloud.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
28 #ifndef DW_POINTCLOUDPROCESSING_LIDARPOINTCLOUD_LIDARPOINTCLOUD_H_
29 #define DW_POINTCLOUDPROCESSING_LIDARPOINTCLOUD_LIDARPOINTCLOUD_H_
30 
31 #include <dw/pointcloudprocessing/pointcloud/PointCloud.h>
32 #include <dw/sensors/lidar/Lidar.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
41 typedef enum {
46 
50 typedef struct
51 {
52  bool compensated;
55 
60 typedef struct
61 {
63  uint32_t numLayers;
66 
67  uint32_t numAuxChannels;
71 
75 #define DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE 8
76 
80 typedef struct dwLidarPointCloud
81 {
93 
112  dwPointCloudFormat const format,
113  dwMemoryType const memoryType,
114  uint32_t const maxPointsPerReturn,
115  dwLidarPointCloudMapping const* mapping);
116 
133 
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif // DW_POINTCLOUDPROCESSING_LIDARPOINTCLOUD_LIDARPOINTCLOUD_H_
DW_POINTCLOUD_REFERENCE_FRAME_CUSTOM
@ DW_POINTCLOUD_REFERENCE_FRAME_CUSTOM
Custom coordinate reference frame.
Definition: LidarPointCloud.h:44
dwLidarPointCloud::mapping
dwLidarPointCloudMapping mapping
Mapping of returns and aux channels.
Definition: LidarPointCloud.h:87
dwLidarPointCloudMapping
Struct indicating layer and aux channel mapping.
Definition: LidarPointCloud.h:60
dwLidarPointCloud_create
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.
DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE
#define DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE
Number of elements in user buffer.
Definition: LidarPointCloud.h:75
dwPointCloudReferenceFrame
dwPointCloudReferenceFrame
Defines point cloud coordinate reference frame.
Definition: LidarPointCloud.h:41
dwLidarPointCloud_getLidarPointStride
DW_API_PUBLIC dwStatus dwLidarPointCloud_getLidarPointStride(uint32_t *size, dwPointCloudFormat const format)
Get the size of the lidar point cloud data type.
dwPointCloud
Defines point cloud data structure.
Definition: PointCloud.h:80
dwLidarAuxDataType
dwLidarAuxDataType
An enum for every data element we could possibly return.
Definition: LidarTypes.h:69
DW_POINT_CLOUD_MAX_AUX_CHANNELS
#define DW_POINT_CLOUD_MAX_AUX_CHANNELS
Definition: PointCloud.h:75
DW_POINTCLOUD_REFERENCE_FRAME_SENSOR
@ DW_POINTCLOUD_REFERENCE_FRAME_SENSOR
Coordinate frame with the sensor at the origin.
Definition: LidarPointCloud.h:42
dwLidarPointCloud::userData
uint32_t userData[DW_LIDAR_POINT_CLOUD_USER_DATA_SIZE]
User defined data.
Definition: LidarPointCloud.h:83
dwLidarReturnType
dwLidarReturnType
Enum to indicate a single return type.
Definition: LidarTypes.h:48
dwLidarPointCloudMapping::numAuxChannels
uint32_t numAuxChannels
Definition: LidarPointCloud.h:67
dwLidarPointCloud::pointCloud
dwPointCloud pointCloud
Wrapped point cloud.
Definition: LidarPointCloud.h:85
dwLidarPointCloud::motionCompensation
dwLidarMotionCompensationInfo motionCompensation
Motion compensation information.
Definition: LidarPointCloud.h:91
dwTime_t
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:54
DW_POINTCLOUD_REFERENCE_FRAME_RIG
@ DW_POINTCLOUD_REFERENCE_FRAME_RIG
Coordinate frame with the ego vehicle at the origin.
Definition: LidarPointCloud.h:43
dwLidarMotionCompensationInfo::compensated
bool compensated
True if this pointcloud has been motion compensated.
Definition: LidarPointCloud.h:52
dwLidarPointCloud
struct dwLidarPointCloud dwLidarPointCloud
Defines a LIDAR-specific point cloud data structure.
dwLidarMotionCompensationInfo
Declares motion compensation traits of the point cloud.
Definition: LidarPointCloud.h:50
dwLidarPointCloud::coordinateFrame
dwPointCloudReferenceFrame coordinateFrame
Coordinate reference frame for the data in this pointcloud.
Definition: LidarPointCloud.h:89
dwPointCloudFormat
dwPointCloudFormat
Defines point format.
Definition: PointCloud.h:42
dwMemoryType
dwMemoryType
Memory type definitions.
Definition: TypesExtra.h:142
dwLidarPointCloud_destroy
DW_API_PUBLIC dwStatus dwLidarPointCloud_destroy(dwLidarPointCloud *lidarPointCloud)
Destroy lidar specific point cloud.
dwLidarPointCloudMapping::numLayers
uint32_t numLayers
Number of layers.
Definition: LidarPointCloud.h:63
dwLidarMotionCompensationInfo::compensationTimestamp
dwTime_t compensationTimestamp
Motion compensation reference timestamp.
Definition: LidarPointCloud.h:53
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
DW_API_PUBLIC
#define DW_API_PUBLIC
Definition: Exports.h:38
DW_POINT_CLOUD_MAX_LAYERS
#define DW_POINT_CLOUD_MAX_LAYERS
Definition: PointCloud.h:74
dwLidarPointCloud
Defines a LIDAR-specific point cloud data structure.
Definition: LidarPointCloud.h:80