DriveWorks SDK Reference
5.12.103 Release
For Test and Development only

Rig.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2015-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
46#ifndef DW_RIG_RIG_H_
47#define DW_RIG_RIG_H_
48
49#include <dw/core/base/Config.h>
52#include <dw/core/base/Types.h>
53#include <dw/sensors/Sensors.h>
54#include <dw/rig/Vehicle.h>
55#include <stdint.h>
56
57#ifdef __cplusplus
58extern "C" {
59#endif
60
70typedef struct dwRigObject* dwRigHandle_t;
71typedef struct dwRigObject const* dwConstRigHandle_t;
72
74// Calibrated cameras
75
77#define DW_MAX_RIG_SENSOR_COUNT 128U
78
80#define DW_MAX_RIG_CAMERA_COUNT DW_MAX_RIG_SENSOR_COUNT
81
83#define DW_MAX_RIG_SENSOR_NAME_SIZE 64U
84
86#define DW_MAX_EXTRINSIC_PROFILE_NAME_SIZE 64U
87
89#define DW_MAX_EXTRINSIC_PROFILE_COUNT 3U
90
92#define DW_DEFAULT_EXTRINSIC_PROFILE_INDEX 0U
93
98typedef enum dwCameraModel {
99
103
107#define DW_PINHOLE_DISTORTION_LENGTH 3U
108
109/*
110 * Configuration parameters for a calibrated pinhole camera.
111 *
112 * The (forward) projection of a three-dimensional ray to a two-dimensional pixel coordinate
113 * is performed in three steps:
114 *
115 * **Step 1**: Projection of a ray `(x, y, z)` to normalized image coordinates, i.e.,
116 *
117 * (xn, yn) = (x/z, y/z) .
118 *
119 * **Step 2**: Distortion of the normalized image coordinates by a polynomial with coefficients
120 * `[k_1, k_2, k_3]` given in dwPinholeCameraConfig::distortion, i.e.,
121 *
122 * xd = xn * (1 + k_1 * r^2 + k_2 * r^4 + k_3 * r^6),
123 * yd = yn * (1 + k_1 * r^2 + k_2 * r^4 + k_3 * r^6),
124 *
125 * whereas
126 * r^2 = (xn^2 + yn^2) .
127 *
128 * **Step 3**: Mapping of distorted normalized image coordinates `(xd, yd)` to
129 * pixel coordinates `(u, v)`, i.e.,
130 *
131 * [u] = [focalX 0] * [xd] + [u0]
132 * [v] [0 focalY] [yd] [v0] .
133 */
135{
137 uint32_t width;
138
140 uint32_t height;
141
144
147
150
153
160
164#define DW_FTHETA_POLY_LENGTH 6U
165
183
191
201/*
202 * The camera model is defined by three major components
203 *
204 * - the polynomial `polynomial`
205 * - the principal point `(u0, v0)`, and
206 * - the transformation matrix `A`
207 *
208 *
209 * A = [ c d ]
210 * [ e 1 ] .
211 *
212 * The bottom right element of `A` is implicitly set to 1. This is general enough
213 * for relevant linear transformations because any matrix can be brought into this form
214 * by incorporating an absolute scale into the polynomial.
215 *
216 *
217 * The forward projection of a three-dimensional ray to a two-dimensional pixel coordinates
218 * by means of the FTheta camera model can be described in four steps:
219 *
220 * **Step 1**: Projection of a ray `(x, y, z)` to spherical coordinates `(direction, theta)`:
221 *
222 * direction = (x, y) / norm((x, y))
223 * theta = atan2(norm((x, y)), z)
224 *
225 * **Step 2**: Mapping of the angle `theta` to pixel distances according to the polynomial
226 * coefficients `polynomial` and polynomial type `type` :
227 *
228 * distance = map_angle_to_pixeldistance( polynomial, type, theta )
229 *
230 * **Step 3**: Mapping of `distance` and the two-dimensional `direction` to a pixel offset:
231 *
232 * offset = distance * direction
233 *
234 * **Step 4**: Linear transformation of the two-dimensional pixel offset to pixel coordinate `(u, v)`:
235 *
236 * [u] = [c d] * offset^T + [u0]
237 * [v] [e 1] [v0]
238 *
239 *
240 * Conversely, the backward projection of a two-dimensional pixel coordinate to
241 * a three-dimensional ray is performed in four steps reversely to the forward projection:
242 *
243 * **Step 1**: Linear transformation of pixel coordinates `(u, v)` to pixel offset:
244 *
245 * offset = inverse(A) * [u - u0]
246 * [v - v0]
247 *
248 * **Step 2**: Mapping of the two-dimensional pixel offset to polar coordinates `(direction, distance)`:
249 *
250 * direction = offset / norm(offset)
251 * distance = norm(offset)
252 *
253 * **Step 3**: Mapping of the pixel distance to the sight ray angle `theta` according to the polynomial
254 * coefficients `polynomial` and the polynomial type `type` :
255 *
256 * theta = map_pixel_distance_to_angle( polynomial, type, distance )
257 *
258 * **Step 4**: Computation of the sight ray `(x, y, z)` based on polar coordinates `(direction, angle)`:
259 *
260 * (x, y) = sin(theta) * direction
261 * z = cos(theta)
262 *
263 *
264 * The functions `map_angle_to_pixel_distance(.)` and `map_pixel_distance_to_angle(.)` depend on the
265 * polynomial coefficients `polynomial` and the type of the polynomial, i.e.,
266 *
267 * - whenever the type of polynomial corresponds to the requested direction,
268 * the function corresponds to a simple evaluation of the polynomial:
269 *
270 * map_a_to_b( polynomial, a_to_b, x ) = polynomial[0] + polynomial[1] * x + ... + polynomial[DW_FTHETA_POLY_LENGTH - 1] * x^(DW_FTHETA_POLY_LENGTH - 1)
271 *
272 * - whenever the type of polynomial is the inverse to the requested direction,
273 * the function is equivalent to the inverse of the polynomial:
274 *
275 * map_a_to_b( polynomial, b_to_a, x ) = y
276 *
277 * with `map_b_to_a( polynomial, b_to_a, y ) == x`.
278 * The solution is computed via iterative local inversion. The valid ranges are defined by the
279 * camera's resolution and field of view.
280 *
281 *
282 * In literature, the closest description is found in [Courbon et al, 2007], TABLE II:
283 *
284 * [Courbon et al, 2007]: Courbon, J., Mezouar, Y., Eckt, L., and Martinet, P. (2007, October).
285 * A generic fisheye camera model for robotic applications. In Intelligent Robots and Systems, 2007.
286 * IROS 2007, pp. 1683–1688.
287 */
289{
291 uint32_t width;
292
294 uint32_t height;
295
307
310
318
321
324
333
341
349/*
350 * The model is described by three major components:
351 *
352 * - the image size `(width, height)`,
353 * - the principal point `(u0, v0)`, and
354 * - the horizontal field of view `hFOV`.
355 *
356 *
357 * The horizontal field of view determines the radius `r` of the sphere
358 * used in the projection:
359 *
360 * r = 0.5 / tan(hFOV/4)
361 *
362 * The radius determines
363 *
364 * - the distance of the image plane to the origin of the camera coordinate system and
365 * - the distance of the pole of the projection to the origin of the camera coordinate system.
366 *
367 *
368 * The forward projection of a three-dimensional ray to a two-dimensional pixel coordinate
369 * by means of the stereographic camera model can be described in two steps:
370 *
371 * **Step 1**: Projection of a ray `(x, y, z)` of length 1 onto a normalized coordinate `(xn, yn)`
372 * on the image plane at distance r, i.e.,
373 *
374 * (xn, yn) = 2 * r * (x, y) / (1 + z)
375 *
376 * **Step 2**: Scaling and shift to pixel coordinate `(u, v)`, i.e.,
377 *
378 * u = xn * width / 2 + u0
379 * v = yn * height / 2 + v0
380 *
381 *
382 * Conversely, the backward projection of a two-dimensional pixel coordinate to
383 * a three-dimensional ray is performed in two steps reversely to the forward projection:
384 *
385 * **Step 1**: Scaling and shift of pixel coordinate `(u, v)` to normalized image coordinate `(xn, yn)`, i.e.,
386 *
387 * xn = (u - u0) / (width / 2)
388 * yn = (v - v0) / (height / 2)
389 *
390 * **Step 2**: Projection of normalized image coordinates to three-dimensional unit ray `(x, y, z)`, i.e.,
391 *
392 * (x, y, z) = (4 * r * xn, 4 * r * yn, - xn^2 - yn^2 + 4 * r^2)) / (xn^2 + yn^2 + 4 * r^2)
393 */
395{
397 uint32_t width;
398
400 uint32_t height;
401
404
407
411
433 dwContextHandle_t const ctx,
434 char8_t const* const configurationFile);
435
455 dwContextHandle_t const ctx,
456 char8_t const* const configurationString,
457 char8_t const* const relativeBasePath);
458
470
482
498dwStatus dwRig_getVehicle(dwVehicle const** const vehicle, dwConstRigHandle_t const obj);
499
514
529dwStatus dwRig_setVehicle(dwVehicle const* const vehicle, dwRigHandle_t const obj);
530
545
558dwStatus dwRig_getVehicleIOConfigCount(uint32_t* const vioConfigCount,
559 dwConstRigHandle_t const obj);
560
572dwStatus dwRig_getSensorCount(uint32_t* const sensorCount,
573 dwConstRigHandle_t const obj);
574
587dwStatus dwRig_getSensorCountOfType(uint32_t* const sensorCount,
588 dwSensorType const sensorType,
589 dwConstRigHandle_t const obj);
590
606dwStatus dwRig_getSensorProtocol(char8_t const** const sensorProtocol,
607 uint32_t const sensorId,
608 dwConstRigHandle_t const obj);
609
623DW_API_PUBLIC dwStatus dwRig_getSensorParameter(char8_t const** const sensorParameter,
624 uint32_t const sensorId,
625 dwConstRigHandle_t const obj);
626
640DW_API_PUBLIC dwStatus dwRig_setSensorParameter(char8_t const* const sensorParameter,
641 uint32_t const sensorId,
642 dwRigHandle_t const obj);
643
661DW_API_PUBLIC dwStatus dwRig_getSensorParameterUpdatedPath(char8_t const** const sensorParameter,
662 uint32_t const sensorId,
663 dwConstRigHandle_t const obj);
664
682 uint32_t const sensorId,
683 dwConstRigHandle_t const obj);
684
701 uint32_t const sensorId,
702 dwConstRigHandle_t const obj);
703
721 uint32_t const sensorId,
722 dwConstRigHandle_t const obj);
723
741 uint32_t const sensorIdFrom,
742 uint32_t const sensorIdTo,
743 dwConstRigHandle_t const obj);
744
763 uint32_t const sensorIdFrom,
764 uint32_t const sensorIdTo,
765 dwConstRigHandle_t const obj);
766
783 uint32_t const sensorId,
784 dwRigHandle_t const obj);
785
800dwStatus dwRig_getSensorName(char8_t const** const sensorName,
801 uint32_t const sensorId,
802 dwConstRigHandle_t const obj);
803
819dwStatus dwRig_getSensorDataPath(char8_t const** const dataPath,
820 uint32_t const sensorId,
821 dwConstRigHandle_t const obj);
822
837dwStatus dwRig_getCameraTimestampPath(char8_t const** const timestampPath,
838 uint32_t const sensorId,
839 dwConstRigHandle_t const obj);
840
858dwStatus dwRig_getSensorPropertyByName(char8_t const** const propertyValue,
859 char8_t const* const propertyName,
860 uint32_t const sensorId,
861 dwConstRigHandle_t const obj);
862
878dwStatus dwRig_addOrSetSensorPropertyByName(char8_t const* const propertyValue,
879 char8_t const* const propertyName,
880 uint32_t const sensorId,
881 dwRigHandle_t const obj);
898dwStatus dwRig_getPropertyByName(char8_t const** const propertyValue,
899 char8_t const* const propertyName,
900 dwConstRigHandle_t const obj);
901
916dwStatus dwRig_addOrSetPropertyByName(char8_t const* const propertyValue,
917 char8_t const* const propertyName,
918 dwRigHandle_t const obj);
919
934dwStatus dwRig_findSensorByName(uint32_t* const sensorId,
935 char8_t const* const sensorName,
936 dwConstRigHandle_t const obj);
952 uint32_t const vehicleIOId,
953 dwConstRigHandle_t const obj);
954
970dwStatus dwRig_findSensorByTypeIndex(uint32_t* const sensorId,
971 dwSensorType const sensorType,
972 uint32_t const sensorTypeIndex,
973 dwConstRigHandle_t const obj);
974
989 uint32_t const sensorId,
990 dwConstRigHandle_t const obj);
991
1008 uint32_t const sensorId,
1009 dwConstRigHandle_t const obj);
1010
1026 uint32_t const sensorId,
1027 dwConstRigHandle_t const obj);
1028
1047 uint32_t const sensorId,
1048 dwConstRigHandle_t const obj);
1049
1067DW_DEPRECATED("dwRig_getFThetaCameraConfigNew is replaced by dwRig_getFThetaCameraConfig.")
1069 uint32_t const sensorId,
1070 dwConstRigHandle_t const obj);
1071
1087 uint32_t const sensorId,
1088 dwRigHandle_t const obj);
1089
1105 uint32_t const sensorId,
1106 dwRigHandle_t const obj);
1107
1127dwStatus dwRig_serializeToFile(char8_t const* const configurationFile,
1128 dwConstRigHandle_t const obj);
1129
1130#ifdef __cplusplus
1131}
1132#endif
1133
1135#endif // DW_RIG_RIG_H_
NVIDIA DriveWorks API: Core Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:45
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:186
NVIDIA DriveWorks API: Sensors
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Vehicle Parameters
NVIDIA DriveWorks API: Core Exports
float float32_t
Specifies POD types.
Definition: BasicTypes.h:58
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:86
#define DW_DEPRECATED(msg)
Definition: Exports.h:66
#define DW_API_PUBLIC
Definition: Exports.h:54
uint32_t width
Width of the image (in pixels)
Definition: Rig.h:291
float32_t u0
U coordinate for the principal point (in pixels)
Definition: Rig.h:143
float32_t focalY
Focal length in the Y axis (in pixels)
Definition: Rig.h:152
float32_t v0
V coordinate for the principal point (in pixels)
Definition: Rig.h:146
float32_t e
Linear pixel transformation coefficient e (bottom left element).
Definition: Rig.h:323
uint32_t width
Width of the image (in pixels)
Definition: Rig.h:137
float32_t distortion[DW_PINHOLE_DISTORTION_LENGTH]
Polynomial coefficients [k_1, k_2, k_3] that allow to map undistored, normalized image coordinates (x...
Definition: Rig.h:158
float32_t focalX
Focal length in the X axis (in pixels)
Definition: Rig.h:149
float32_t u0
U coordinate for the principal point (in pixels)
Definition: Rig.h:403
float32_t v0
V coordinate for the principal point (in pixels)
Definition: Rig.h:309
float32_t c
Linear pixel transformation matrix coefficient c (top left element) If all c, d, and e are set to 0....
Definition: Rig.h:317
float32_t u0
Principal point coordinates: indicating the horizontal / vertical image coordinates of the principal ...
Definition: Rig.h:306
uint32_t height
Height of the image (in pixels)
Definition: Rig.h:140
uint32_t width
Width of the image (in pixels)
Definition: Rig.h:397
uint32_t height
Height of the image (in pixels)
Definition: Rig.h:294
float32_t v0
V coordinate for the principal point (in pixels)
Definition: Rig.h:406
float32_t d
Linear pixel transformation coefficient d (top right element).
Definition: Rig.h:320
float32_t polynomial[DW_FTHETA_POLY_LENGTH]
Polynomial describing either the mapping of angles to pixel-distances or the mapping of pixel-distanc...
Definition: Rig.h:332
dwFThetaCameraPolynomialType polynomialType
Defines whether the polynomial parameter either map angles to pixel-distances (called forward directi...
Definition: Rig.h:339
float32_t hFOV
Horizontal FOV (in radians)
Definition: Rig.h:409
uint32_t height
Height of the image (in pixels)
Definition: Rig.h:400
DW_API_PUBLIC dwStatus dwRig_getSensorName(char8_t const **const sensorName, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the name of a sensor as given in the configuration.
DW_API_PUBLIC dwStatus dwRig_getSensorDataPath(char8_t const **const dataPath, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets path to sensor recording.
DW_API_PUBLIC dwStatus dwRig_setVehicle(dwVehicle const *const vehicle, dwRigHandle_t const obj)
DEPRECATED: Sets the properties of a passenger car vehicle.
DW_API_PUBLIC dwStatus dwRig_getFThetaCameraConfigNew(dwFThetaCameraConfig *const config, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the parameters of the FTheta camera model.
DW_API_PUBLIC dwStatus dwRig_setFThetaCameraConfig(dwFThetaCameraConfig const *const config, uint32_t const sensorId, dwRigHandle_t const obj)
Sets the parameters of the FTheta camera model.
DW_API_PUBLIC dwStatus dwRig_getSensorProtocol(char8_t const **const sensorProtocol, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the protocol string of a sensor.
DW_API_PUBLIC dwStatus dwRig_getSensorType(dwSensorType *const sensorType, uint32_t const sensorId, dwConstRigHandle_t const obj)
Returns the type of sensor based upon the sensorID sent into the method.
DW_API_PUBLIC dwStatus dwRig_getNominalSensorToSensorTransformation(dwTransformation3f *const transformation, uint32_t const sensorIdFrom, uint32_t const sensorIdTo, dwConstRigHandle_t const obj)
Gets the nominal sensor to sensor transformation for a pair of sensors.
DW_API_PUBLIC dwStatus dwRig_setPinholeCameraConfig(dwPinholeCameraConfig const *const config, uint32_t const sensorId, dwRigHandle_t const obj)
Sets the parameters of the pinhole camera model.
DW_API_PUBLIC dwStatus dwRig_release(dwRigHandle_t const obj)
Releases the Rig Configuration module.
DW_API_PUBLIC dwStatus dwRig_getPinholeCameraConfig(dwPinholeCameraConfig *const config, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the parameters of the Pinhole camera model.
DW_API_PUBLIC dwStatus dwRig_initializeFromString(dwRigHandle_t *const obj, dwContextHandle_t const ctx, char8_t const *const configurationString, char8_t const *const relativeBasePath)
Initializes the Rig Configuration module from a string.
DW_API_PUBLIC dwStatus dwRig_getSensorPropertyByName(char8_t const **const propertyValue, char8_t const *const propertyName, uint32_t const sensorId, dwConstRigHandle_t const obj)
Returns property stored inside of a sensor.
DW_API_PUBLIC dwStatus dwRig_getPropertyByName(char8_t const **const propertyValue, char8_t const *const propertyName, dwConstRigHandle_t const obj)
Returns property stored inside of rig.
DW_API_PUBLIC dwStatus dwRig_getSensorToSensorTransformation(dwTransformation3f *const transformation, uint32_t const sensorIdFrom, uint32_t const sensorIdTo, dwConstRigHandle_t const obj)
Gets the sensor to sensor transformation for a pair of sensors.
DW_API_PUBLIC dwStatus dwRig_findSensorIdFromVehicleIOId(uint32_t *const sensorId, uint32_t const vehicleIOId, dwConstRigHandle_t const obj)
Finds a sensor with the given vehicleIO ID and returns the index.
dwCameraModel
Specifies the supported optical camera models.
Definition: Rig.h:98
DW_API_PUBLIC dwStatus dwRig_reset(dwRigHandle_t const obj)
Resets the Rig Configuration module.
DW_API_PUBLIC dwStatus dwRig_findSensorByTypeIndex(uint32_t *const sensorId, dwSensorType const sensorType, uint32_t const sensorTypeIndex, dwConstRigHandle_t const obj)
Finds the absolute sensor index of the Nth sensor of a given type.
DW_API_PUBLIC dwStatus dwRig_getGenericVehicle(dwGenericVehicle *const vehicle, dwConstRigHandle_t const obj)
Gets the properties of a generic vehicle (car or truck).
struct dwRigObject * dwRigHandle_t
Handle representing the Rig interface.
Definition: Rig.h:70
#define DW_FTHETA_POLY_LENGTH
Defines the number of distortion coefficients for the ftheta camera model.
Definition: Rig.h:164
DW_API_PUBLIC dwStatus dwRig_getNominalSensorToRigTransformation(dwTransformation3f *const transformation, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the nominal sensor to rig transformation for a sensor.
DW_API_PUBLIC dwStatus dwRig_serializeToFile(char8_t const *const configurationFile, dwConstRigHandle_t const obj)
This method serializes the rig-configuration object to a human-readable rig-configuration file.
DW_API_PUBLIC dwStatus dwRig_getSensorToRigTransformation(dwTransformation3f *const transformation, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the sensor to rig transformation for a sensor.
DW_API_PUBLIC dwStatus dwRig_findSensorByName(uint32_t *const sensorId, char8_t const *const sensorName, dwConstRigHandle_t const obj)
Finds the sensor with the given name and returns its index.
DW_API_PUBLIC dwStatus dwRig_getSensorCountOfType(uint32_t *const sensorCount, dwSensorType const sensorType, dwConstRigHandle_t const obj)
Find number of sensors of a given type.
DW_API_PUBLIC dwStatus dwRig_setSensorParameter(char8_t const *const sensorParameter, uint32_t const sensorId, dwRigHandle_t const obj)
Sets the parameter string for a sensor.
DW_API_PUBLIC dwStatus dwRig_getVehicle(dwVehicle const **const vehicle, dwConstRigHandle_t const obj)
DEPRECATED: Gets the properties of a passenger car vehicle.
DW_API_PUBLIC dwStatus dwRig_getSensorFLUToRigTransformation(dwTransformation3f *const transformation, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the sensor FLU to rig transformation for a sensor.
DW_API_PUBLIC dwStatus dwRig_addOrSetPropertyByName(char8_t const *const propertyValue, char8_t const *const propertyName, dwRigHandle_t const obj)
Overwrite content of an existing rig property.
DW_API_PUBLIC dwStatus dwRig_getSensorCount(uint32_t *const sensorCount, dwConstRigHandle_t const obj)
Gets the number of all available sensors.
DW_API_PUBLIC dwStatus dwRig_initializeFromFile(dwRigHandle_t *const obj, dwContextHandle_t const ctx, char8_t const *const configurationFile)
Initializes the Rig Configuration module from a file.
#define DW_PINHOLE_DISTORTION_LENGTH
Defines the number of distortion coefficients for the pinhole camera model.
Definition: Rig.h:107
DW_API_PUBLIC dwStatus dwRig_getSensorParameterUpdatedPath(char8_t const **const sensorParameter, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the parameter string for a sensor with any path described by file=,video=,timestamp= property mo...
struct dwRigObject const * dwConstRigHandle_t
Definition: Rig.h:71
dwFThetaCameraPolynomialType
Type of polynomial stored in FTheta.
Definition: Rig.h:176
DW_API_PUBLIC dwStatus dwRig_getCameraTimestampPath(char8_t const **const timestampPath, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets path to camera timestamp file.
DW_API_PUBLIC dwStatus dwRig_setSensorToRigTransformation(dwTransformation3f const *const transformation, uint32_t const sensorId, dwRigHandle_t const obj)
Sets the sensor to rig transformation for a sensor.
DW_API_PUBLIC dwStatus dwRig_getFThetaCameraConfig(dwFThetaCameraConfig *const config, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the parameters of the FTheta camera model.
DW_API_PUBLIC dwStatus dwRig_addOrSetSensorPropertyByName(char8_t const *const propertyValue, char8_t const *const propertyName, uint32_t const sensorId, dwRigHandle_t const obj)
Overwrite content of an existing sensor property.
DW_API_PUBLIC dwStatus dwRig_getCameraModel(dwCameraModel *const cameraModel, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the model type of the camera intrinsics.
DW_API_PUBLIC dwStatus dwRig_getSensorParameter(char8_t const **const sensorParameter, uint32_t const sensorId, dwConstRigHandle_t const obj)
Gets the parameter string for a sensor.
DW_API_PUBLIC dwStatus dwRig_getVehicleIOConfigCount(uint32_t *const vioConfigCount, dwConstRigHandle_t const obj)
Gets the number of vehicle IO sensors.
DW_API_PUBLIC dwStatus dwRig_setGenericVehicle(dwGenericVehicle const *const vehicle, dwRigHandle_t const obj)
Sets the properties of a generic vehicle (car or truck).
@ DW_CAMERA_MODEL_FTHETA
Definition: Rig.h:101
@ DW_CAMERA_MODEL_PINHOLE
Definition: Rig.h:100
@ DW_FTHETA_CAMERA_POLYNOMIAL_TYPE_PIXELDISTANCE_TO_ANGLE
Backward polynomial type, mapping pixel distances (offset from principal point) to angles (angle betw...
Definition: Rig.h:182
@ DW_FTHETA_CAMERA_POLYNOMIAL_TYPE_ANGLE_TO_PIXELDISTANCE
Forward polynomial type, mapping angles (angle between ray and forward direction) to pixel distances ...
Definition: Rig.h:189
Configuration parameters for a calibrated FTheta camera.
Definition: Rig.h:289
Vehicle description.
Definition: Vehicle.h:287
Configuration parameters for a calibrated stereographic camera.
Definition: Rig.h:395
DEPRECATED: Properties of a passenger car vehicle.
Definition: Vehicle.h:325
dwSensorType
Defines the type of sensors that are available in DriveWorks.
Definition: Sensors.h:192