DriveWorks SDK Reference
5.14.77 Release
For Test and Development only

GeometricTypes.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"
7// NVIDIA MAKES NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY,
8// OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY
9// IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A
10// PARTICULAR PURPOSE.
11//
12// NVIDIA Corporation assumes no responsibility for the consequences of use of
13// such information or for any infringement of patents or other rights of third
14// parties that may result from its use. No license is granted by implication or
15// otherwise under any patent or patent rights of NVIDIA Corporation. No third
16// party distribution is allowed unless expressly authorized by NVIDIA. Details
17// are subject to change without notice. This code supersedes and replaces all
18// information previously supplied. NVIDIA Corporation products are not
19// authorized for use as critical components in life support devices or systems
20// without express written approval of NVIDIA Corporation.
21//
22// Copyright (c) 2022-2023 NVIDIA Corporation. All rights reserved.
23//
24// NVIDIA Corporation and its licensors retain all intellectual property and
25// proprietary rights in and to this software and related documentation and any
26// modifications thereto. Any use, reproduction, disclosure or distribution of
27// this software and related documentation without an express license agreement
28// from NVIDIA Corporation is strictly prohibited.
29//
31#ifndef DW_CORE_BASE_GEOMETRICTYPES_H_
32#define DW_CORE_BASE_GEOMETRICTYPES_H_
33// Generated by dwProto from geometric_types.proto DO NOT EDIT BY HAND!
34// See //3rdparty/shared/dwproto/README.md for more information
35
36// RFD - MISRAC 2012 Rule 1.4: Using emergent head file (stdalign.h)
37// coverity[misra_c_2012_rule_1_4_violation]
38#include <stdalign.h>
39
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
49typedef enum dwSide {
53} dwSide;
54
56typedef struct dwRect
57{
58 //<! x coordinate.
59 int32_t x __attribute__((aligned(8)));
60
61 //<! y coordinate.
62 int32_t y;
63
64 //<! Rectangle width.
65 int32_t width;
66
67 //<! Rectangle height.
68 int32_t height;
69} dwRect;
70
72//# sergen(generate)
73typedef struct dwRectf
74{
75 //<! Specifies the x coordinate.
76 float32_t x __attribute__((aligned(8)));
77
78 //<! Specifies the y coordinate.
80
81 //<! Rectangle width.
83
84 //<! Rectangle height.
86} dwRectf;
87
92typedef struct dwBbox3Df
93{
96} dwBbox3Df;
97
102typedef struct dwBbox2Df
103{
106} dwBbox2Df;
107
109typedef struct dwLine3f
110{
111 //<! p[0] start, p[1] end
113 uint32_t pCount;
114} dwLine3f;
115
117typedef struct dwLine3d
118{
119 //<! p[0] start, p[1] end
121 uint32_t pCount;
122} dwLine3d;
123
125//# sergen(generate)
126typedef struct dwQuaternionf
127{
128 float32_t x __attribute__((aligned(16)));
133
135//# sergen(generate)
136typedef struct dwQuaterniond
137{
138 float64_t x __attribute__((aligned(16)));
143
147{
150
153
157
161{
164
167
171
172#ifdef __cplusplus
173}
174#endif
175
176#endif // DW_CORE_BASE_GEOMETRICTYPES_H_
NVIDIA DriveWorks API: Core BasicTypes
dwVector2f bb
Point BB, opposite vertex of AA.
dwVector3d p[2]
dwVector3f p[2]
dwMatrix3f rotation
Rotation matrix defining the orientation in the local frame.
dwSide
A generic side enum definition to improve consistency of objects with a 'side' concept Usage: define ...
@ DW_SIDE_RIGHT
@ DW_SIDE_CENTER
@ DW_SIDE_LEFT
dwVector3f bb
Point BB, opposite vertex of AA.
uint32_t pCount
Stores the occupied/valid length of p.
dwVector2f center
Coordinate of the position of the center of the bounding box in the local frame.
dwVector3f center
Coordinate of the position of the center of the bounding box in the local frame.
dwVector2f halfAxisXY
Half of the width, and height of the box in the local frame.
dwMatrix2f rotation
Rotation matrix defining the orientation in the local frame.
dwVector2f aa
Point AA, one of vertices of a AABB bounding box.
dwVector3f aa
Point AA, one of vertices of a AABB bounding box.
dwVector3f halfAxisXYZ
Half of the width, height and depth of the box in the local frame.
uint32_t pCount
Stores the occupied/valid length of p.
Defines an AABB bounding box 2D.
Defines an AABB bounding box 3D.
Defines a double-precision line segment.
Defines a single-precision line segment.
Data structure representing an oriented bounding box in the local object coordinate frame The box is ...
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 double-precision floating point vector.
Definition: MatrixTypes.h:88
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:79
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
double float64_t
Definition: BasicTypes.h:60
Defines a 2x2 matrix of floating point numbers by using only one array.
Definition: MatrixTypes.h:132
Defines a double-precision quaternion.
float64_t x __attribute__((aligned(16)))
Defines a single-precision quaternion.
float32_t x __attribute__((aligned(16)))
Defines a rectangle.
int32_t width
int32_t x __attribute__((aligned(8)))
int32_t height
int32_t y
Defines a rectangle with floating point numbers.
float32_t height
float32_t x __attribute__((aligned(8)))
float32_t y
float32_t width
Defines a two-element single-precision floating-point vector.
Definition: MatrixTypes.h:49