|
void | Output () const |
|
| Pose () |
|
| Pose (const cv::Mat &tra, const cv::Mat &rot, RotationType t) |
|
| Pose (const cv::Mat &mat) |
|
| Pose (const Pose &p) |
|
void | Reset () |
|
void | SetMatrix (const cv::Mat &mat) |
|
void | SetMatrixGL (double gl[16], bool mirror=true) |
| Set the Pose using OpenGL's transposed format. Note, that by default this also mirrors both the y- and z-axis (see Camera and Pose for more information) More...
|
|
void | GetMatrix (cv::Mat &mat) const |
|
void | GetMatrixGL (double gl[16], bool mirror=true) |
| Get the transformation matrix representation of the Pose using OpenGL's transposed format. Note, that by default this also mirrors both the y- and z-axis (see Camera and Pose for more information) More...
|
|
void | Transpose () |
|
void | Invert () |
|
void | Mirror (bool x, bool y, bool z) |
|
void | SetTranslation (const cv::Mat &tra) |
|
void | SetTranslation (const double *tra) |
|
void | SetTranslation (const double x, const double y, const double z) |
|
void | GetTranslation (cv::Mat &tra) const |
|
Pose & | operator= (const Pose &p) |
|
| Rotation (const Rotation &r) |
|
| Rotation (const cv::Mat &data, RotationType t) |
| Constructor. More...
|
|
Rotation & | operator= (const Rotation &p) |
|
Rotation & | operator+= (const Rotation &v) |
|
void | Transpose () |
|
void | Mirror (bool x, bool y, bool z) |
| Mirrors the rotation in selected directions. More...
|
|
void | Reset () |
| Resets the rotation into identity.
|
|
void | SetQuaternion (const cv::Mat &mat) |
| Sets the rotation from given quaternion. More...
|
|
void | SetQuaternion (const double *quat) |
| Sets the rotation from given quaternion. More...
|
|
void | SetEuler (const cv::Mat &mat) |
| Sets the rotation from given Euler angles. More...
|
|
void | SetRodriques (const cv::Mat &mat) |
| Sets the rotation from given rotation vector. More...
|
|
void | SetMatrix (const cv::Mat &mat) |
| Sets the rotation from given rotation matrix. 3x3 and 4x4 matrices are allowed. More...
|
|
void | GetMatrix (cv::Mat &mat) const |
| Returns the rotation in matrix form. 3x3 and 4x4 matrices are allowed. More...
|
|
void | GetRodriques (cv::Mat &mat) const |
| Returns the rotation in rotation vector form. More...
|
|
void | GetEuler (cv::Mat &mat) const |
| Returns the rotation in Euler angles. More...
|
|
void | GetQuaternion (cv::Mat &mat) const |
| Returns the rotation in quaternion form. More...
|
|
|
enum | RotationType { QUAT
, MAT
, EUL
, ROD
} |
| Rotation can be represented in four ways: quaternion (QUAT), matrix (MAT), euler angles (EUL) and exponential map (ROD).
|
|
static void | MirrorMat (cv::Mat &mat, bool x, bool y, bool z) |
| Simple function to mirror a rotation matrix in different directions. More...
|
|
static void | Mat9ToRod (double *mat, double *rod) |
| Converts 3x3 rotation matrix into Rodriques representation. More...
|
|
static void | RodToMat9 (const double *rod, double *mat) |
| Converts 3x1 rotation vector into 3x3 rotation matrix using Rodriques' formula. More...
|
|
static void | QuatInv (const double *q, double *qi) |
| Inverts unit quaternion. More...
|
|
static void | QuatNorm (double *q) |
| Normalizes a quaternion. More...
|
|
static void | QuatMul (const double *q1, const double *q2, double *q3) |
| Quaternion multiplication. More...
|
|
static void | QuatToMat9 (const double *quat, double *mat) |
| Converts a rotation described by a quaternion into 3x3 rotation matrix. More...
|
|
static void | QuatToMat16 (const double *quat, double *mat) |
| Converts a rotation described by a quaternion into 4x4 OpenGL-like transformation matrix. The translation part is not altered. More...
|
|
static void | QuatToEul (const double *q, double *eul) |
| Converts a rotation described by a quaternion into Euler angles. More...
|
|
static void | Mat9ToQuat (const double *mat, double *quat) |
| Converts a 3x3 rotation martix into quaternion form. More...
|
|
static void | EulToQuat (const double *eul, double *quat) |
| Converts a rotation described by Euler angles into quaternion form. More...
|
|
double | quaternion [4] |
|
cv::Mat | quaternion_mat |
|
Pose representation derived from the Rotation class
The rotation part of the transformation is handled by Rotation . The translation part is stored internally using homogeneous 4-vector.
Internally in ALVAR we assume coordinate system where 'x' is right, 'y' is down, and 'z' is forward. However the SetMatrixGL and GetMatrixGL change the pose to support coordinates commonly used in OpenGL: 'x' is right, 'y' is up, and 'z' is backward.
Definition at line 52 of file Pose.h.