DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

LaneAssignment.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) 2019-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 
31 #ifndef DW_WORLDMODEL_LANEASSIGNMENT_H_
32 #define DW_WORLDMODEL_LANEASSIGNMENT_H_
33 
49 #include <dw/core/Types.h>
50 #include <dw/worldmodel/Lane.h>
51 #include <dw/worldmodel/Obstacle.h>
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
59 typedef struct dwLaneAssignment
60 {
66 
68 #define DW_OBSTACLE_LANE_ASSIGNMENT_MAX_COUNT 32
69 
71 {
72  uint64_t obstacleId;
75 
76  uint32_t count;
77 
79 
82  uint32_t dominantIndex;
84 
85 typedef struct dwLaneAssignmentArray
86 {
90  uint32_t count;
92 
93 // //#######################################################################################
94 // // Lane Assignment Functions
95 // //#######################################################################################
96 
111  uint64_t objId,
112  const dwLaneAssignmentArray* laneAssignmentArray,
113  dwLaneGraphLaneType laneType);
114 
129  uint64_t objId,
130  const dwLaneAssignmentArray* laneAssignmentArray,
131  uint32_t laneId);
132 
145 dwStatus dwLaneAssignment_getDominantLaneId(uint32_t* dominantLaneId,
146  uint64_t objId,
147  const dwLaneAssignmentArray* laneAssignmentArray);
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 
155 #endif // DW_WORLDMODEL_LANEASSIGNMENT_H_
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
Definition: Types.h:70
#define DW_OBSTACLE_ARRAY_MAX_COUNT
Definition: Obstacle.h:289
A lane assignment for a particular lane.
#define DW_OBSTACLE_LANE_ASSIGNMENT_MAX_COUNT
The maximum allowed lane assignments per obstacle.
dwLaneGraphLaneType
The type of a lane.
Definition: LaneGraph.h:108
NVIDIA DriveWorks API: World Model Lanes
DW_API_PUBLIC dwStatus dwLaneAssignment_getLaneAssignmentOverlapByLaneType(float32_t *laneAssignmentOverlap, uint64_t objId, const dwLaneAssignmentArray *laneAssignmentArray, dwLaneGraphLaneType laneType)
Get predicted amount [0,1] of obstacle overlap with lane at prediction time by lane type...
dwTime_t perceptionTime_us
Time in microseconds at which perception is based.
dwLaneSegment segment
The lane segment overlapped.
dwStatus
Status definition.
Definition: Status.h:178
NVIDIA DriveWorks API: LaneGraph
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
DW_API_PUBLIC dwStatus dwLaneAssignment_getDominantLaneId(uint32_t *dominantLaneId, uint64_t objId, const dwLaneAssignmentArray *laneAssignmentArray)
Retruns the dominant lane in which the obstacle is assigned to.
dwTime_t predictionTime_us
Time in microseconds for this prediction.
uint64_t obstacleId
ID of the obstacle assigned.
uint32_t dominantIndex
The index with the maximum overlap.
uint32_t count
The number of lane assignments in laneAssignments.
DW_API_PUBLIC dwStatus dwLaneAssignment_getLaneAssignmentOverlapByLaneId(float32_t *laneAssignmentOverlap, uint64_t objId, const dwLaneAssignmentArray *laneAssignmentArray, uint32_t laneId)
Get predicted amount [0,1] of obstacle overlap with lane at prediction time by lane id...
NVIDIA DriveWorks API: World Module
uint32_t count
The number of assignments.
#define DW_API_PUBLIC
Definition: Exports.h:56
float32_t overlap
Predicted amount [0,1] of obstacle overlap with lane at prediction time.
A segment of a dwLane object, by referenced by the id and point indices.
Definition: Lane.h:361
dwLaneGraphLaneType type