10 #if defined(__ANDROID__) && !defined(__x86_64__)
11 #define __XV_DRIVER_ONLY__
28 enum class SlamStartMode {
38 ONLY_WIRELESS_CONTROLLER
45 enum class PlugEventType { Plugin, Unplug };
57 std::uint32_t iso_value;
58 std::uint32_t exp_abs;
59 std::uint8_t exp_mode;
60 std::int8_t exp_level;
61 std::uint8_t exp_anti;
62 std::uint8_t iso_mode;
70 std::uint8_t awb_mode;
71 std::uint8_t awb_lock;
102 int32_t maxIsoGainValue;
103 int32_t minIsoGainValue;
104 int32_t maxExposureTimeUs;
105 int32_t minExposureTimeUs;
106 uint8_t targetMeanPixelValue;
108 int32_t cpt_aec_no_modify_range;
109 float exposureTime_control_porprotion_value;
110 float exposureTime_control_integral_value;
111 float isoGain_control_porprotion_value;
112 float isoGain_control_integral_value;
113 uint32_t ISP_AEC_MODE;
129 Version(
const std::string &s );
136 std::string toString()
const;
148 std::ostream& operator<<(std::ostream& o,
Version const& v);
152 template<
class F>
using Vector2 = std::array<F,2>;
153 template<
class F>
using Vector3 = std::array<F,3>;
154 template<
class F>
using Vector4 = std::array<F,4>;
155 template<
class F>
using Matrix3 = std::array<F,9>;
157 typedef Vector2<bool> Vector2b;
158 typedef Vector3<bool> Vector3b;
159 typedef Vector4<bool> Vector4b;
160 typedef Vector2<double> Vector2d;
161 typedef Vector3<double> Vector3d;
162 typedef Vector4<double> Vector4d;
163 typedef Matrix3<double> Matrix3d;
164 typedef Vector2<float> Vector2f;
165 typedef Vector3<float> Vector3f;
166 typedef Vector4<float> Vector4f;
167 typedef Matrix3<float> Matrix3f;
237 template <
class F=
double>
241 Vector3<F> m_translation;
242 Matrix3<F> m_rotation;
247 return Transform_({0.,0,0},{1.,0,0,0,1,0,0,0,1});
251 Transform_(Vector3<F>
const& t, Matrix3<F>
const& r={}) : m_translation(t), m_rotation(r) {};
276 Matrix3<F>
const&
rotation()
const {
return m_rotation;}
284 void setRotation(F
const* v) {std::copy(v, v+9, m_rotation.data());}
289 F
x()
const {
return m_translation[0]; }
293 F
y()
const {
return m_translation[1]; }
297 F
z()
const {
return m_translation[2]; }
305 template <
class F=
double>
336 template <
class F=
double>
340 Vector3<F> m_translation;
341 Vector4<F> m_quaternions;
350 TransformQuat_(Vector3<F>
const& t, Vector4<F>
const& q={}) : m_translation(t), m_quaternions(q) {}
354 Vector3<F>
const& translation()
const;
355 void setTranslation(Vector3<F>
const& v);
356 void setTranslation(F
const* v);
374 F
x()
const {
return m_translation[0]; }
378 F
y()
const {
return m_translation[1]; }
382 F
z()
const {
return m_translation[2]; }
387 F
qx()
const {
return m_quaternions[0]; }
391 F
qy()
const {
return m_quaternions[1]; }
395 F
qz()
const {
return m_quaternions[2]; }
399 F
qw()
const {
return m_quaternions[3]; }
401 template <
class F=
double>
402 TransformQuat_<F> operator*(TransformQuat_<F> lhs,
const TransformQuat_<F>& rhs) {
407 template <
class F=
double>
409 double m_hostTimestamp = std::numeric_limits<double>::infinity();
410 std::int64_t m_edgeTimestampUs = std::numeric_limits<std::int64_t>::min();
437 template <
class F=
double>
439 double m_hostTimestamp = std::numeric_limits<double>::infinity();
440 std::int64_t m_edgeTimestampUs = std::numeric_limits<std::int64_t>::min();
466 template <
class F=
double>
471 Vector4<F> m_quaternions;
472 double m_confidence = 0;
476 static Pose_ Identity() {
477 return Pose_({0.,0,0},{1.,0,0,0,1,0,0,0,1});
485 Pose_(
double c) : m_confidence(c) {}
491 double hostTimestamp = std::numeric_limits<double>::infinity(), std::int64_t edgeTimestamp = (std::numeric_limits<std::int64_t>::min)(),
double c=0.)
519 std::copy(v, v+4, m_quaternions.data());
545 Vector3<F> m_linearVelocity = Vector3<F>{0.,0.,0.};
546 Vector3<F> m_angularVelocity = Vector3<F>{0.,0.,0.};
547 Vector3<F> m_linearAcceleration = Vector3<F>{0.,0.,0.};
548 Vector3<F> m_angularAcceleration = Vector3<F>{0.,0.,0.};
553 return PosePred_({0.,0,0},{1.,0,0,0,1,0,0,0,1});
567 double hostTimestamp = std::numeric_limits<double>::infinity(), std::int64_t edgeTimestamp = (std::numeric_limits<std::int64_t>::min)(),
double c=0.)
588 std::copy(v, v+3, m_linearVelocity.data());
600 std::copy(v, v+3, m_angularVelocity.data());
619 std::copy(v, v+3, m_linearAcceleration.data());
631 std::copy(v, v+3, m_angularAcceleration.data());
643 Transform(Vector3d
const& t, Matrix3d
const& r);
651 TransformF(Vector3f
const& t, Matrix3f
const& r);
659 Vector3f operator*(
const TransformF& a,
const Vector3f& p);
665 Vector3d operator*(
const Transform& lhs,
const Vector3d& rhs);
798 static Pose Identity() {
799 return Pose({0.,0,0},{1.,0,0,0,1,0,0,0,1});
806 double hostTimestamp = std::numeric_limits<double>::infinity(), std::int64_t edgeTimestamp = (std::numeric_limits<std::int64_t>::min)(),
double c=0.);
822 static Pose Identity() {
823 return Pose({0.,0,0},{1.,0,0,0,1,0,0,0,1});
830 double hostTimestamp = std::numeric_limits<double>::infinity(), std::int64_t edgeTimestamp = (std::numeric_limits<std::int64_t>::min)(),
double c=0.);
856 Vector4d m_quaternions;
857 Vector3d m_angularVelocity = Vector3d{0.,0.,0.};
858 Vector3d m_angularAcceleration = Vector3d{0.,0.,0.};
870 double hostTimestamp = std::numeric_limits<double>::infinity(), std::int64_t edgeTimestamp = (std::numeric_limits<std::int64_t>::min)());
876 double hostTimestamp = std::numeric_limits<double>::infinity(), std::int64_t edgeTimestamp = (std::numeric_limits<std::int64_t>::min)());
894 Matrix3d
const&
rotation()
const {
return m_rotation;}
968 std::vector<std::array<uint32_t,3>> triangles;
977 std::vector<Vector3d> vertices;
985 virtual std::int32_t width()
const {
return 0; }
986 virtual std::int32_t height()
const {
return 0; }
987 virtual bool project(
double const* ,
double* )
const {
return false;};
988 virtual bool raytrace(
double const* ,
double* )
const {
return false;};
996 std::vector<UnifiedCameraModel>
ucm;
997 std::vector<PolynomialDistortionCameraModel>
pdcm;
1022 std::shared_ptr<const std::uint8_t> data;
1031 std::vector<GrayScaleImage> images;
1041 std::shared_ptr<const std::uint8_t> data =
nullptr;
1042 RgbImage(std::size_t _width, std::size_t _height, std::shared_ptr<const std::uint8_t> _data) :
width(_width),
height(_height),data(_data) {}
1049 enum class Codec { YUYV = 0, YUV420p, JPEG, NV12, BITSTREAM};
1050 Codec codec = Codec::YUYV;
1053 std::shared_ptr<const std::uint8_t> data =
nullptr;
1068 int32_t enable_dewarp;
1069 float dewarp_zoom_factor;
1070 int32_t enable_disparity;
1071 int32_t enable_depth;
1072 int32_t enable_point_cloud;
1075 uint8_t disparity_confidence_threshold;
1076 float homography[9];
1077 int32_t enable_gamma;
1079 int32_t enable_gaussian;
1081 uint16_t max_distance;
1082 uint16_t min_distance;
1084 inline bool operator==(
const sgbm_config &cmp)
const
1086 return (enable_dewarp == cmp.enable_dewarp &&
1087 dewarp_zoom_factor == cmp.dewarp_zoom_factor &&
1088 enable_disparity == cmp.enable_disparity &&
1089 enable_depth == cmp.enable_depth &&
1090 enable_point_cloud == cmp.enable_point_cloud &&
1091 baseline == cmp.baseline &&
1093 disparity_confidence_threshold == cmp.disparity_confidence_threshold);
1095 inline bool operator!=(
const sgbm_config &cmp)
const
1097 return !(*
this == cmp);
1110 enum class Type { Depth_16 = 0, Depth_32, IR, Cloud, Raw, Eeprom, IQ };
1111 Type type = Type::Depth_32;
1115 std::shared_ptr<const std::uint8_t> data =
nullptr;
1128 std::shared_ptr<const std::uint8_t> data =
nullptr;
1138 std::vector<Vector3f> points;
1143 uint8_t data_ready_flag;
1152 enum class BeiDouGPSMode
1162 enum class Shape { BoundingBox = 0, Human, HandSkeleton };
1164 double x = -1, y = -1, z = -1;
1167 Shape shape = Shape::BoundingBox;
1170 std::string type =
"";
1175 double confidence = 0.0f;
1177 std::vector<keypoint> keypoints;
1185 double x = -1, y = -1, z = -1;
1191 float left, top, width, height;
1192 std::vector<keypoint> keypoints;
1194 Det2dObject(
int i,
const std::string& n,
float s,
float l,
float t,
float w,
float h) :
1195 idx(i), name(n), score(s), left(l), top(t), width(w), height(h) {}
1196 Det2dObject(
int i,
const std::string& n,
float s,
float l,
float t,
float w,
float h, std::vector<keypoint> pts) :
1197 idx(i), name(n), score(s), left(l), top(t), width(w), height(h), keypoints(pts){}
1201 std::shared_ptr<float> raw_data =
nullptr;
1202 unsigned int raw_data_length;
1203 double hostTimestamp;
1204 uint64_t edgeTimestamp;
1212 std::vector<std::string> classes;
1213 double threshold = 0.5;
1214 bool flipStereo =
false;
1215 bool flipRgb =
false;
1216 bool flipTof =
false;
1217 bool enable_3dbbox =
false;
1218 std::vector<double> prior_bbox_z;
1226 enum class Type { Disparity = 0, Depth,
PointCloud, None};
1232 std::shared_ptr<const std::uint8_t> data =
nullptr;
1246 enum class Codec {UYVY};
1251 std::shared_ptr<const std::uint8_t> data =
nullptr;
1279 std::vector<GrayScaleImage> images;
1285 std::shared_ptr<const std::uint8_t> data =
nullptr;
1311 enum class ResolutionMode{
1341 enum XV_ET_EYE_TYPE {
1345 typedef XV_ET_EYE_TYPE xv_ETEyeType;
1354 typedef XV_ET_MODE xv_ETMode;
1373 enum XV_EyeGazeExDataValidity {
1374 EYE_GAZE_EXDATA_SCORE = 0,
1446 typedef enum GazeStatus {
1454 GAZE_STATUS_INITIALIZE_FAILED,
1457 GAZE_STATUS_TERMINATE_FAILED,
1460 GAZE_STATUS_INVALID_PARAMETER,
1463 GAZE_STATUS_INVALID_OPERATION,
1466 GAZE_STATUS_DEVICE_NOT_AVAILABLE,
1469 GAZE_STATUS_TIMED_OUT,
1472 GAZE_STATUS_MEM_ALLOCATION_FAILED
1477 typedef enum CalibrationApiStatus {
1482 CALIBRATION_API_STATUS_COMPLETE_AUTOMATICALLY,
1485 CALIBRATION_API_STATUS_COMPLETE_MANUALLY,
1491 CALIBRATION_API_STATUS_ACCEPT_CALLING,
1494 CALIBRATION_API_STATUS_DO_NOT_CALL,
1497 CALIBRATION_API_STATUS_BUSY
1499 CalibrationApiStatus;
1534 if (
data !=
nullptr)
1541 GazeCalibrationData;
1545 std::vector<char> name;
1546 std::vector<unsigned char> feature;
1573 Vector2<unsigned short> p2d;
1575 Triple(Vector2<unsigned short>
const& p2,
size_t i3): p2d(p2), i3d(i3) {}
1580 std::vector<std::vector<Triple>> matches;
1595 std::vector<Pose> pose;
1597 int status[2] = {-1,-1};
1598 double timestamp[2];
1599 double fisheye_timestamp;
1612 double hostTimestamp;
1615 enum WirelessControllerDataType
1624 WirelessControllerDataType type;
1633 enum WirelessControllerSlamType
1637 REAL_TIME_SHARED_MAP = 3
Generic camera model.
Definition: xv-types.h:983
Orientation only (3dof) of the pose.
Definition: xv-types.h:853
Orientation(Vector4d const &quaternion, double hostTimestamp=std::numeric_limits< double >::infinity(), std::int64_t edgeTimestamp=(std::numeric_limits< std::int64_t >::min)())
Construct an orientation (3dof) rotation and timestamps.
Matrix3d const & rotation() const
Get the rotation matrix part of the transformation.
Definition: xv-types.h:894
void setAngularAcceleration(Vector3d const &v)
Set an estimation of instantaneous angular acceleration of the pose.
void setQuaternion(Vector4d const &v)
Set the quaternion of the rotation [qx,qy,qz,qw].
void setQuaternion(double const *v)
Set the quaternion of the rotation using pointer of 4D array [qx,qy,qz,qw].
Vector3d const & angularVelocity() const
An estimation of instantaneous angular velocity of the pose.
double hostTimestamp
host timestamp of the plane (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:861
Vector4d const & quaternion() const
Get the quaternion of the rotation [qx,qy,qz,qw].
void setRotation(Matrix3d const &v)
Get the rotation matrix part of the transformation.
void setAngularVelocity(Vector3d const &v)
Set an estimation of instantaneous angular velocity of the pose.
void setAngularAcceleration(double const *v)
Set an estimation of instantaneous angular acceleration of the pose.
Orientation prediction(double dt) const
Prediction of the orientation based on angular velocity and acceleration.
std::int64_t edgeTimestampUs
timestamp of the plane (in microsecond based on edge clock).
Definition: xv-types.h:862
Orientation(Matrix3d const &rotation, double hostTimestamp=std::numeric_limits< double >::infinity(), std::int64_t edgeTimestamp=(std::numeric_limits< std::int64_t >::min)())
Construct an orientation (3dof) rotation and timestamps.
void setRotation(double const *v)
Set the quaternion of the rotation using pointer of 4D array.
void setAngularVelocity(double const *v)
Set an estimation of instantaneous angular velocity of the pose.
Definition: xv-types.h:542
void setAngularAcceleration(Vector3< F > const &v)
Set an estimation of instantaneous angular acceleration of the pose.
Definition: xv-types.h:625
void setAngularVelocity(F const *v)
Set an estimation of instantaneous angular velocity of the pose.
Definition: xv-types.h:599
void setAngularAcceleration(F const *v)
Set an estimation of instantaneous angular acceleration of the pose.
Definition: xv-types.h:630
void setLinearVelocity(Vector3< F > const &v)
Set the linear velocity (in m/s)
Definition: xv-types.h:583
Vector3< F > const & linearVelocity() const
Get the linear velocity (in m/s) of the pose.
Definition: xv-types.h:575
void setAngularVelocity(Vector3< F > const &v)
Set an estimation of instantaneous angular velocity of the pose.
Definition: xv-types.h:594
Vector3< F > const & angularVelocity() const
Get the angular velocity (x,y,z) in rad/s.
Definition: xv-types.h:579
void setLinearAcceleration(Vector3< F > const &v)
Set the linear acceleration (in m/s)
Definition: xv-types.h:614
Vector3< F > const & linearAcceleration() const
Get the linear acceleration (in m/s/s) of the pose.
Definition: xv-types.h:606
PosePred_(Vector3< F > const &translation, Matrix3< F > const &rotation, double hostTimestamp=std::numeric_limits< double >::infinity(), std::int64_t edgeTimestamp=(std::numeric_limits< std::int64_t >::min)(), double c=0.)
Construct a pose with a translation, rotation, timestamps and confidence.
Definition: xv-types.h:566
PosePred_(double c)
Construct a pose with a specified confidence.
Definition: xv-types.h:561
void setLinearVelocity(F const *v)
Set the angular velocity (x,y,z) in rad/s.
Definition: xv-types.h:587
Vector3< F > const & angularAcceleration() const
Get the angular acceleration (x,y,z) in rad/s/s.
Definition: xv-types.h:610
void setLinearAcceleration(F const *v)
Set the angular acceleration (x,y,z) in rad/s/s.
Definition: xv-types.h:618
Definition: xv-types.h:408
void setEdgeTimestampUs(std::int64_t t)
Set the edge timestamp of the pose (in microseconds).
Definition: xv-types.h:426
void setHostTimestamp(double t)
Set the host timestamp corresponding to the pose (in s).
Definition: xv-types.h:434
double hostTimestamp() const
Get the host timestamp corresponding to the pose (in s).
Definition: xv-types.h:430
std::int64_t edgeTimestampUs() const
Get the edge timestamp of the pose (in microseconds).
Definition: xv-types.h:422
Definition: xv-types.h:438
void setHostTimestamp(double t)
Set the host timestamp of the pose (in s).
Definition: xv-types.h:463
double hostTimestamp() const
Get the host timestamp of the pose (in s).
Definition: xv-types.h:459
void setEdgeTimestampUs(std::int64_t t)
Set the edge timestamp of the pose (in microseconds).
Definition: xv-types.h:455
std::int64_t edgeTimestampUs() const
Get the edge timestamp of the pose (in microseconds).
Definition: xv-types.h:451
Definition: xv-types.h:467
void setQuaternion(F const *v)
Set the quaternion of the rotation using pointer of 4D array.
Definition: xv-types.h:518
void setConfidence(double c)
Set the confidence of the pose. Value in [0,1], 0 means lost.
Definition: xv-types.h:502
Pose_(Vector3< F > const &translation, Matrix3< F > const &rotation, double hostTimestamp=std::numeric_limits< double >::infinity(), std::int64_t edgeTimestamp=(std::numeric_limits< std::int64_t >::min)(), double c=0.)
Construct a pose with a translation, rotation, timestamps and confidence.
Definition: xv-types.h:490
double confidence() const
Get the confidence of the pose. Value in [0,1], 0 means lost.
Definition: xv-types.h:497
void setRotation(F const *v)
Set the quaternion of the rotation using pointer of 4D array.
Definition: xv-types.h:532
Pose_(double c)
Construct a pose with a specified confidence.
Definition: xv-types.h:485
Vector4< F > const & quaternion() const
Get the quaternion of the rotation.
Definition: xv-types.h:507
void setRotation(Matrix3< F > const &v)
Get the rotation matrix part of the transformation.
Definition: xv-types.h:525
void setQuaternion(Vector4< F > const &v)
Set the quaternion of the rotation.
Definition: xv-types.h:511
Vector4d rotationToQuaternion(Matrix3d const &rot)
Convert a rotation matrix to quaternion.
Matrix3d quaternionToRotation(Vector4d const &q)
Convert quaternion to rotation matrix.
Matrix3f quaternionsToRotation(Vector4f const &q)
Deprecated. Same to #quaternionToRotation.
Vector3f rotationToPitchYawRoll(Matrix3f const &rot)
Convert rotation Euler angles.
Transform_< float > inverse(const Transform_< float > &t)
Compute the inverse transformation.
AF settings.
Definition: xv-types.h:78
AWB settings.
Definition: xv-types.h:69
Definition: xv-types.h:1142
Definition: xv-types.h:1502
CalibrationApiStatus leave_status
Definition: xv-types.h:1516
CalibrationApiStatus reset_status
Definition: xv-types.h:1519
CalibrationApiStatus enter_status
Definition: xv-types.h:1504
CalibrationApiStatus setup_status
Definition: xv-types.h:1510
CalibrationApiStatus collect_status
Definition: xv-types.h:1507
CalibrationApiStatus compute_apply_status
Definition: xv-types.h:1513
Calibration (extrinsics and intrinsics).
Definition: xv-types.h:994
std::vector< UnifiedCameraModel > ucm
pose of the sensor(camera and display) in the IMU frame coordinates.
Definition: xv-types.h:996
std::vector< PolynomialDistortionCameraModel > pdcm
Deprecated, better to use camerasModel; List of Unified Camera Model parameters for differents camera...
Definition: xv-types.h:997
std::vector< std::shared_ptr< CameraModel > > camerasModel
Deprecated, better to use camerasModel; List of Polynomial Distortion Camera Model parameters for dif...
Definition: xv-types.h:998
Definition: xv-types.h:1200
A color image given by xv::ColorCamera.
Definition: xv-types.h:1048
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1056
unsigned int dataSize
image data
Definition: xv-types.h:1054
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1055
RgbImage toRgb() const
Convert to a xv::RgbImage.
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1051
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1052
Definition: xv-types.h:1555
int D
Year, month, and day.
Definition: xv-types.h:1556
int m
Hour and minutes.
Definition: xv-types.h:1557
int s
Seconds.
Definition: xv-types.h:1558
Definition: xv-types.h:1125
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1126
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1127
double hostTimestamp
image data of RGB-D pixels : RGB (3 bytes) D (float 4bytes)
Definition: xv-types.h:1129
An image provided by a TOF camera.
Definition: xv-types.h:1109
double confidence
confidence of depth [0.0,1.0]
Definition: xv-types.h:1114
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1113
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1112
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1118
RgbImage toRgb() const
Convert to a xv::RgbImage.
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1117
unsigned int dataSize
image of depth
Definition: xv-types.h:1116
Definition: xv-types.h:1184
Object detection bounding box. 2d.
Definition: xv-types.h:1183
Device setting.
Definition: xv-types.h:87
Event.
Definition: xv-types.h:843
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:844
int type
Type of event.
Definition: xv-types.h:846
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:845
int state
State of the event.
Definition: xv-types.h:847
Exposure settings.
Definition: xv-types.h:56
Definition: xv-types.h:1602
A color image given by xv::EyetrackingCamera.
Definition: xv-types.h:1276
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock),...
Definition: xv-types.h:1277
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1278
Images coming from xv::FisheyeCameras sensor system used for visual SLAM.
Definition: xv-types.h:1028
std::int64_t id
List of images (typically 2, first is left and second image is the right image)
Definition: xv-types.h:1032
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock),...
Definition: xv-types.h:1029
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1030
Definition: xv-types.h:1565
int distance
Distance.
Definition: xv-types.h:1566
int signal
Signal Intensity.
Definition: xv-types.h:1567
unsigned char sum
Check sum.
Definition: xv-types.h:1568
Definition: xv-types.h:1524
~GazeCalibrationData()
Definition: xv-types.h:1532
void * data
Definition: xv-types.h:1526
size_t size
Definition: xv-types.h:1529
Definition: xv-types.h:1654
Gesture data.
Definition: xv-types.h:1301
float distance
reserved, dynamic gesture movement distance.
Definition: xv-types.h:1307
float confidence
reserved, gesture confidence.
Definition: xv-types.h:1308
int index[2]
Index array for hands gesture, max size is two, default is -1 means invalid.
Definition: xv-types.h:1302
keypoint position[2]
Position array for hand gesture, max size is two, 2D points, z isn't used by default.
Definition: xv-types.h:1303
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1306
keypoint slamPosition[2]
Convert rgb points into slam points, Position array for hand gesture, max size is two.
Definition: xv-types.h:1304
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1305
A grayscale image that is usually an image from a camera used for visual SLAM.
Definition: xv-types.h:1019
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1021
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1020
new hand pose struct.
Definition: xv-types.h:1594
Data from IMU sensor of the XVisio device.
Definition: xv-types.h:1006
Vector3b accelSaturation
3-axis accel saturation status (true if saturating)
Definition: xv-types.h:1009
double temperature
sensor temperature (in K)
Definition: xv-types.h:1011
Vector3d accel
3-axis accelerometer values (in m/s²)
Definition: xv-types.h:1008
Vector3d gyro
3-axis gyrometer values (in rad/s)
Definition: xv-types.h:1007
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1012
Vector3d magneto
3-axis magnetometer values
Definition: xv-types.h:1010
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1013
Definition: xv-types.h:101
Definition: xv-types.h:1282
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1284
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1283
unsigned int dataSize
image data
Definition: xv-types.h:1286
Definition: xv-types.h:1210
Definition: xv-types.h:1163
Object detection bounding box.
Definition: xv-types.h:1161
Calibration parameters of a camera using Polynomial Distortion Model for camera intrinsics.
Definition: xv-types.h:786
A 3D plane definition.
Definition: xv-types.h:948
double d
Signed distance to origin. Signed distance between the plane and the origin of the world....
Definition: xv-types.h:958
Vector3d normal
Unit vector normal to the plane.
Definition: xv-types.h:953
std::string id
Plane unique identifier.
Definition: xv-types.h:950
std::vector< Vector3d > vertices
Flat, 3D, triangle mesh describing the detailed plane geometry extents. More convenient than the bord...
Definition: xv-types.h:967
std::vector< Vector3d > points
Points lying at the border of the plane. Array of 3D points lying on the plane that describes the pol...
Definition: xv-types.h:963
A point cloud of 3D points.
Definition: xv-types.h:1135
double hostTimestamp
host timestamp of ? (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1136
std::int64_t edgeTimestampUs
timestamp of ? (in microsecond based on edge clock).
Definition: xv-types.h:1137
Definition: xv-types.h:1578
Polynomial Distortion Model for camera intrisics.
Definition: xv-types.h:702
double fx
Focal length in width direction (in pixel)
Definition: xv-types.h:714
int w
Image width (in pixel)
Definition: xv-types.h:706
double fy
Focal length in height direction (in pixel)
Definition: xv-types.h:718
double u0
Optical axis intersection in width direction (in pixel)
Definition: xv-types.h:722
std::array< double, 5 > distor
Distortion parameters.
Definition: xv-types.h:737
int h
Image height (in pixel)
Definition: xv-types.h:710
double v0
Optical axis intersection in height direction (in pixel)
Definition: xv-types.h:726
Class representing a 6dof pose at a timestamp with a linear model for prediction.
Definition: xv-types.h:821
PoseF(Vector3f const &translation, Matrix3f const &rotation, double hostTimestamp=std::numeric_limits< double >::infinity(), std::int64_t edgeTimestamp=(std::numeric_limits< std::int64_t >::min)(), double c=0.)
Construct a pose with a translation, rotation, timestamps and confidence.
PoseF prediction(double dt) const
Prediction of the pose based on angular and linear velocity and acceleration.
Class representing a 6dof pose at a timestamp with a linear model for prediction.
Definition: xv-types.h:797
Pose(Vector3d const &translation, Matrix3d const &rotation, double hostTimestamp=std::numeric_limits< double >::infinity(), std::int64_t edgeTimestamp=(std::numeric_limits< std::int64_t >::min)(), double c=0.)
Construct a pose with a translation, rotation, timestamps and confidence.
Pose prediction(double dt) const
Prediction of the pose based on angular and linear velocity and acceleration.
A color image in RGB format.
Definition: xv-types.h:1038
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1039
RgbImage(std::size_t _width, std::size_t _height, std::shared_ptr< const std::uint8_t > _data)
image data (in row-major) : RGB RGB RGB .... Data size = width*height*3
Definition: xv-types.h:1042
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1040
SGBM data.
Definition: xv-types.h:1225
unsigned int dataSize
data of SGBM
Definition: xv-types.h:1233
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1234
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1235
RgbImage toRgb() const
Convert to a xv::RgbImage.
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1230
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1231
A sparse SLAM map with 3D points.
Definition: xv-types.h:976
Definition: xv-types.h:1584
A color image given by xv::ThermalCamera.
Definition: xv-types.h:1245
std::size_t height
height of the image (in pixel)
Definition: xv-types.h:1250
std::int64_t edgeTimestampUs
timestamp of the physical measurement (in microsecond based on edge clock).
Definition: xv-types.h:1254
RgbImage toRgb() const
Convert to a xv::RgbImage.
double hostTimestamp
host timestamp of the physical measurement (in second based on the std::chrono::steady_clock).
Definition: xv-types.h:1253
std::size_t width
width of the image (in pixel)
Definition: xv-types.h:1249
unsigned int dataSize
image data
Definition: xv-types.h:1252
Definition: xv-types.h:1572
Calibration parameters of a camera using Unified Camera Model for camera intrinsics.
Definition: xv-types.h:778
Unified Camera Model.
Definition: xv-types.h:744
double u0
Optical axis intersection in width direction (in pixel)
Definition: xv-types.h:764
int w
Image width (in pixel)
Definition: xv-types.h:748
double xi
xi parameter of Unified Camera Model
Definition: xv-types.h:772
double fx
Focal length in width direction (in pixel)
Definition: xv-types.h:756
double fy
Focal length in height direction (in pixel)
Definition: xv-types.h:760
double v0
Optical axis intersection in height direction (in pixel)
Definition: xv-types.h:768
int h
Image height (in pixel)
Definition: xv-types.h:752
The Version struct.
Definition: xv-types.h:127
int minor
Minor number of the version.
Definition: xv-types.h:132
int major
Major number of the version.
Definition: xv-types.h:131
int patch
Patch number of the version.
Definition: xv-types.h:133
Definition: xv-types.h:1623
Definition: xv-types.h:1641
Definition: xv-types.h:1368
unsigned char buf[1024]
calibration factor.
Definition: xv-types.h:1369
Definition: xv-types.h:1427
XV_ET_PUPIL_INFO leftPupil
left eye pupil data
Definition: xv-types.h:1434
XV_ET_PUPIL_INFO rightPupil
right eye pupil data
Definition: xv-types.h:1435
XV_ET_GAZE_POINT recomGaze
recommend gaze data
Definition: xv-types.h:1430
XV_ET_EYE_EXDATA rightExData
right eye extend data(include blink and eyelid data)
Definition: xv-types.h:1438
XV_ET_GAZE_POINT rightGaze
right eye gaze data
Definition: xv-types.h:1432
unsigned long long timestamp
timestamp.
Definition: xv-types.h:1428
int recommend
whether if there has the recommend point. 0-no recommend point, 1-use left eye as recommend point,...
Definition: xv-types.h:1429
XV_ET_GAZE_POINT leftGaze
left eye gaze data
Definition: xv-types.h:1431
float ipd
The estimated interpupilary distance (IPD)
Definition: xv-types.h:1442
int leftEyeMove
0-Eye movement type is no-eye detected. 1-Eye movement type is blink. 2-Eye movement type is noraml.
Definition: xv-types.h:1440
XV_ET_EYE_EXDATA leftExData
left eye extend data(include blink and eyelid data)
Definition: xv-types.h:1437
int rightEyeMove
0-Eye movement type is no-eye detected. 1-Eye movement type is blink. 2-Eye movement type is noraml.
Definition: xv-types.h:1441
Definition: xv-types.h:1414
float eyelidDown
down eyelid data(0-1), down eyelid's vertical position in the image, normalization value,...
Definition: xv-types.h:1419
float openness
eye openness(0-100), 0-cloing, 100-opening normally, >100-opening on purpose.
Definition: xv-types.h:1417
unsigned int eyeDataExBitMask
eye extend data bit mask, identify the four data below are valid or invalid.
Definition: xv-types.h:1415
int blink
blink data, 0-no blink, 1-start blinking, 2-closing process, 3-close eyes, 4-opening process,...
Definition: xv-types.h:1416
float eyelidUp
up eyelid data(0-1), up eyelid's vertical position in the image, normalization value,...
Definition: xv-types.h:1418
Definition: xv-types.h:1382
xv_ETPoint3D rawPoint
gaze point before smooth, x and y are valid, z default value is 0, x and y scope are as above.
Definition: xv-types.h:1385
float re
gaze re value, confidence level.
Definition: xv-types.h:1389
xv_ETPoint3D gazeDirection
gaze direction.
Definition: xv-types.h:1388
float exData[32]
reserved data.
Definition: xv-types.h:1391
xv_ETPoint3D gazeOrigin
origin gaze center coordinate.
Definition: xv-types.h:1387
xv_ETPoint3D smoothPoint
gaze point after smooth, x and y are valid, z default value is 0, x and y scope are as above.
Definition: xv-types.h:1386
unsigned int exDataBitMask
reserved data.
Definition: xv-types.h:1390
xv_ETPoint3D gazePoint
gaze point, x and y are valid, z default value is 0, x and y scope are related to the input calibrati...
Definition: xv-types.h:1384
unsigned int gazeBitMask
gaze bit mask, identify the six data below are valid or invalid.
Definition: xv-types.h:1383
Definition: xv-types.h:1359
xv_ETMode mode
sdk mode, refer to xv_ETMode.
Definition: xv-types.h:1360
char configPath[260]
config file path.
Definition: xv-types.h:1361
Definition: xv-types.h:1399
unsigned int pupilBitMask
pupil bit mask, identify the six data below are valid or invalid.
Definition: xv-types.h:1400
float pupilMinorAxisMM
pupil diameter, pupil minor axis value(mm).
Definition: xv-types.h:1406
float pupilDiameter
pupil diameter, pupil long axis value(0-1), the ratio of the pixel value of the long axis size of the...
Definition: xv-types.h:1403
xv_ETPoint2D pupilCenter
pupil center(0-1), the coordinate value of pupil center in the image, normalization value,...
Definition: xv-types.h:1401
float pupilMinorAxis
pupil diameter, pupil minor axis value(0-1), the ratio of the pixel value of the minor axis size of t...
Definition: xv-types.h:1405
float pupilDistance
the distance between pupil and camera(mm)
Definition: xv-types.h:1402
float pupilDiameterMM
pupil diameter, pupil long axis value(mm).
Definition: xv-types.h:1404
Definition: xv-types.h:1544
Gesture key point.
Definition: xv-types.h:1292
SGBM CONFIG STRUCT.
Definition: xv-types.h:1067
Definition: xv-types.h:1320
Definition: xv-types.h:1331