Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
rs_types.h
Go to the documentation of this file.
1 /* License: Apache 2.0. See LICENSE file in root directory.
2  Copyright(c) 2017 Intel Corporation. All Rights Reserved. */
3 
9 #ifndef LIBREALSENSE_RS2_TYPES_H
10 #define LIBREALSENSE_RS2_TYPES_H
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
27 
29 typedef enum rs2_exception_type
30 {
42 
44 typedef enum rs2_distortion
45 {
54 const char* rs2_distortion_to_string(rs2_distortion distortion);
55 
57 typedef struct rs2_intrinsics
58 {
59  int width;
60  int height;
61  float ppx;
62  float ppy;
63  float fx;
64  float fy;
66  float coeffs[5];
68 
71 {
72  /* \internal
73  * Scale X cross axis cross axis Bias X \n
74  * cross axis Scale Y cross axis Bias Y \n
75  * cross axis cross axis Scale Z Bias Z */
76  float data[3][4];
78  float noise_variances[3];
79  float bias_variances[3];
81 
84 typedef struct rs2_vertex
85 {
86  float xyz[3];
87 } rs2_vertex;
88 
90 typedef struct rs2_pixel
91 {
92  int ij[2];
93 } rs2_pixel;
94 
96 typedef struct rs2_vector
97 {
98  float x, y, z;
99 }rs2_vector;
100 
102 typedef struct rs2_quaternion
103 {
104  float x, y, z, w;
106 
107 typedef struct rs2_pose
108 {
115  unsigned int tracker_confidence;
116  unsigned int mapper_confidence;
117 } rs2_pose;
118 
120 typedef enum rs2_log_severity {
130 
132 typedef enum rs2_extension
133 {
171 } rs2_extension;
173 const char* rs2_extension_to_string(rs2_extension type);
174 
176 typedef enum rs2_matchers
177 {
178  RS2_MATCHER_DI, //compare depth and ir based on frame number
179 
180  RS2_MATCHER_DI_C, //compare depth and ir based on frame number,
181  //compare the pair of corresponding depth and ir with color based on closest timestamp,
182  //commonly used by SR300
183 
184  RS2_MATCHER_DLR_C, //compare depth, left and right ir based on frame number,
185  //compare the set of corresponding depth, left and right with color based on closest timestamp,
186  //commonly used by RS415, RS435
187 
188  RS2_MATCHER_DLR, //compare depth, left and right ir based on frame number,
189  //commonly used by RS400, RS405, RS410, RS420, RS430
190 
191  RS2_MATCHER_DIC, //compare depth, ir and confidence based on frame number used by RS500
192 
193  RS2_MATCHER_DIC_C, //compare depth, ir and confidence based on frame number,
194  //compare the set of corresponding depth, ir and confidence with color based on closest timestamp,
195  //commonly used by RS515
196 
197  RS2_MATCHER_DEFAULT, //the default matcher compare all the streams based on closest timestamp
198 
200 }rs2_matchers;
201 
203 typedef struct rs2_device rs2_device;
204 typedef struct rs2_error rs2_error;
206 typedef struct rs2_frame rs2_frame;
208 typedef struct rs2_pipeline rs2_pipeline;
210 typedef struct rs2_config rs2_config;
217 typedef struct rs2_syncer rs2_syncer;
219 typedef struct rs2_source rs2_source;
223 typedef struct rs2_context rs2_context;
226 typedef struct rs2_sensor rs2_sensor;
227 typedef struct rs2_options rs2_options;
234 typedef void (*rs2_frame_callback_ptr)(rs2_frame*, void*);
236 
237 typedef double rs2_time_t;
238 typedef long long rs2_metadata_type;
241 const char* rs2_get_failed_function (const rs2_error* error);
242 const char* rs2_get_failed_args (const rs2_error* error);
243 const char* rs2_get_error_message (const rs2_error* error);
244 void rs2_free_error (rs2_error* error);
245 
246 #ifdef __cplusplus
247 }
248 #endif
249 #endif
struct rs2_processing_block_list rs2_processing_block_list
Definition: rs_types.h:213
Definition: rs_types.h:124
struct rs2_device_serializer rs2_device_serializer
Definition: rs_types.h:218
Definition: rs_types.hpp:25
struct rs2_vertex rs2_vertex
3D coordinates with origin at topmost left corner of the lense, with positive Z pointing away from th...
Definition: rs_types.h:197
struct rs2_raw_data_buffer rs2_raw_data_buffer
Definition: rs_types.h:205
struct rs2_pixel rs2_pixel
Pixel location within 2D image. (0,0) is the topmost, left corner. Positive X is right, positive Y is down.
rs2_exception_type
Exception types are the different categories of errors that RealSense API might return.
Definition: rs_types.h:29
float y
Definition: rs_types.h:104
void rs2_free_error(rs2_error *error)
rs2_vector angular_acceleration
Definition: rs_types.h:114
Definition: rs_types.h:163
Definition: rs_types.h:137
Definition: rs_types.h:161
float z
Definition: rs_types.h:98
unsigned int tracker_confidence
Definition: rs_types.h:115
Definition: rs_types.h:162
Definition: rs_types.hpp:39
Definition: rs_types.h:47
void(* rs2_frame_processor_callback_ptr)(rs2_frame *, rs2_source *, void *)
Definition: rs_types.h:235
Definition: rs_types.h:164
Definition: rs_types.h:143
struct rs2_frame_queue rs2_frame_queue
Definition: rs_types.h:207
rs2_distortion
Distortion model: defines how pixel coordinates should be mapped to sensor coordinates.
Definition: rs_types.h:44
Definition: rs_types.h:36
const char * rs2_distortion_to_string(rs2_distortion distortion)
struct rs2_pipeline rs2_pipeline
Definition: rs_types.h:208
struct rs2_context rs2_context
Definition: rs_types.h:223
struct rs2_device_info rs2_device_info
Definition: rs_types.h:202
rs2_vector translation
Definition: rs_types.h:109
Definition: rs_types.h:123
struct rs2_sensor_list rs2_sensor_list
Definition: rs_types.h:225
Definition: rs_types.h:145
Definition: rs_types.h:193
Definition: rs_types.h:191
Definition: rs_types.h:52
float data[3][4]
Definition: rs_types.h:76
Definition: rs_types.h:51
Definition: rs_types.hpp:60
Definition: rs_types.h:50
float coeffs[5]
Definition: rs_types.h:66
3D coordinates with origin at topmost left corner of the lense, with positive Z pointing away from th...
Definition: rs_types.h:84
Definition: rs_types.h:31
Definition: rs_types.h:157
const char * rs2_extension_to_string(rs2_extension type)
Definition: rs_types.h:141
Definition: rs_types.h:147
float x
Definition: rs_types.h:104
rs2_vector angular_velocity
Definition: rs_types.h:113
struct rs2_sensor rs2_sensor
Definition: rs_types.h:226
Definition: rs_types.hpp:46
Definition: rs_types.h:121
Definition: rs_types.h:153
float ppx
Definition: rs_types.h:61
const char * rs2_exception_type_to_string(rs2_exception_type type)
unsigned int mapper_confidence
Definition: rs_types.h:116
Quaternion used to represent rotation.
Definition: rs_types.h:102
Definition: rs_types.h:134
float y
Definition: rs_types.h:98
Definition: rs_types.h:158
struct rs2_pipeline_profile rs2_pipeline_profile
Definition: rs_types.h:209
float noise_variances[3]
Definition: rs_types.h:78
struct rs2_config rs2_config
Definition: rs_types.h:210
struct rs2_notification rs2_notification
Definition: rs_types.h:230
rs2_vector velocity
Definition: rs_types.h:110
Definition: rs_types.h:46
Definition: rs_types.h:39
Definition: rs_types.h:38
struct rs2_device_hub rs2_device_hub
Definition: rs_types.h:224
Definition: rs_types.h:178
Definition: rs_types.h:146
Definition: rs_types.h:140
Definition: rs_types.h:33
Definition: rs_types.hpp:32
Definition: rs_types.h:151
const char * rs2_get_error_message(const rs2_error *error)
rs2_matchers
Specifies types of different matchers.
Definition: rs_types.h:176
const char * rs2_extension_type_to_string(rs2_extension type)
Definition: rs_types.h:138
Definition: rs_types.h:49
Definition: rs_types.h:144
Definition: rs_types.h:107
struct rs2_motion_device_intrinsic rs2_motion_device_intrinsic
Motion device intrinsics: scale, bias, and variances.
int ij[2]
Definition: rs_types.h:92
struct rs2_stream_profile_list rs2_stream_profile_list
Definition: rs_types.h:212
Definition: rs_types.h:152
void(* rs2_devices_changed_callback_ptr)(rs2_device_list *, rs2_device_list *, void *)
Definition: rs_types.h:233
rs2_quaternion rotation
Definition: rs_types.h:112
int width
Definition: rs_types.h:59
struct rs2_stream_profile rs2_stream_profile
Definition: rs_types.h:214
Definition: rs_types.h:126
Definition: rs_types.h:148
rs2_exception_type rs2_get_librealsense_exception_type(const rs2_error *error)
struct rs2_options rs2_options
Definition: rs_types.h:227
struct rs2_syncer rs2_syncer
Definition: rs_types.h:217
struct rs2_vector rs2_vector
3D vector in Euclidean coordinate space
Definition: rs_types.h:48
float x
Definition: rs_types.h:98
Definition: rs_types.h:139
struct rs2_source rs2_source
Definition: rs_types.h:219
Definition: rs_types.h:199
Definition: rs_types.h:125
Definition: rs_types.h:159
Definition: rs_types.h:167
Definition: rs_types.h:127
Definition: rs_types.h:170
Definition: rs_types.h:156
Definition: rs_types.h:142
Definition: rs_types.h:122
Definition: rs_types.h:24
struct rs2_intrinsics rs2_intrinsics
Video stream intrinsics.
3D vector in Euclidean coordinate space
Definition: rs_types.h:96
Definition: rs_types.h:169
rs2_distortion model
Definition: rs_types.h:65
float w
Definition: rs_types.h:104
struct rs2_processing_block rs2_processing_block
Definition: rs_types.h:220
Definition: rs_types.h:135
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:132
rs2_notification_category
Category of the librealsense notifications.
Definition: rs_types.h:17
void(* rs2_notification_callback_ptr)(rs2_notification *, void *)
Definition: rs_types.h:232
long long rs2_metadata_type
Definition: rs_types.h:238
Definition: rs_types.h:149
float fy
Definition: rs_types.h:64
float fx
Definition: rs_types.h:63
Definition: rs_types.h:136
struct rs2_device rs2_device
Definition: rs_types.h:203
Definition: rs_types.h:166
Video stream intrinsics.
Definition: rs_types.h:57
Motion device intrinsics: scale, bias, and variances.
Definition: rs_types.h:70
rs2_vector acceleration
Definition: rs_types.h:111
void(* rs2_frame_callback_ptr)(rs2_frame *, void *)
Definition: rs_types.h:234
Definition: rs_types.h:168
int height
Definition: rs_types.h:60
Definition: rs_types.h:180
struct rs2_device_list rs2_device_list
Definition: rs_types.h:211
struct rs2_pose rs2_pose
const char * rs2_notification_category_to_string(rs2_notification_category category)
Definition: rs_types.h:160
const char * rs2_log_severity_to_string(rs2_log_severity info)
struct rs2_quaternion rs2_quaternion
Quaternion used to represent rotation.
Definition: rs_types.hpp:53
Definition: rs_types.h:154
Definition: rs_types.h:155
struct rs2_error rs2_error
Definition: rs_types.h:204
double rs2_time_t
Definition: rs_types.h:237
rs2_log_severity
Severity of the librealsense logger.
Definition: rs_types.h:120
Definition: rs_types.h:188
Definition: rs_types.h:150
struct rs2_options_list rs2_options_list
Definition: rs_types.h:228
const char * rs2_get_failed_function(const rs2_error *error)
const char * rs2_get_failed_args(const rs2_error *error)
Definition: rs_types.h:184
float bias_variances[3]
Definition: rs_types.h:79
float xyz[3]
Definition: rs_types.h:86
Definition: rs_types.h:34
float z
Definition: rs_types.h:104
struct rs2_frame rs2_frame
Definition: rs_types.h:206
float ppy
Definition: rs_types.h:62
Pixel location within 2D image. (0,0) is the topmost, left corner. Positive X is right, positive Y is down.
Definition: rs_types.h:90
Definition: rs_types.h:165