Class representing a transformation (translation and rotation) for the positional tracking module. More...
Functions | |
Transform () | |
Default constructor. More... | |
Transform (const Transform &motion) | |
Copy constructor (deep copy). More... | |
Transform (const Matrix4f &mat) | |
Copy constructor (deep copy). More... | |
Transform (const Rotation &rotation, const Translation &translation) | |
Constructor from an sl::Rotation and a sl::Translation. More... | |
Transform (const Orientation &orientation, const Translation &translation) | |
Constructor from an sl::Orientation and a sl::Translation. More... | |
void | setRotationMatrix (const Rotation &rotation) |
Sets the rotation component of the current sl::Transform from an sl::Rotation. More... | |
Rotation | getRotationMatrix () const |
Returns the sl::Rotation corresponding to the current sl::Transform. More... | |
void | setTranslation (const Translation &translation) |
Sets the translation component of the current sl::Transform from an sl::Translation. More... | |
Translation | getTranslation () const |
Returns the sl::Translation corresponding to the current sl::Transform. More... | |
void | setOrientation (const Orientation &orientation) |
Sets the orientation component of the current sl::Transform from an sl::Orientation. More... | |
Orientation | getOrientation () const |
Returns the sl::Orientation corresponding to the current sl::Transform. More... | |
float3 | getRotationVector () const |
Returns the 3x1 rotation vector obtained from 3x3 rotation matrix using Rodrigues formula. More... | |
void | setRotationVector (const float3 &vec_rot) |
Sets the rotation component of the sl::Transform with a 3x1 rotation vector (using Rodrigues' transformation). More... | |
float3 | getEulerAngles (bool radian=true) const |
Converts the rotation component of the sl::Transform into Euler angles. More... | |
void | setEulerAngles (const float3 &euler_angles, bool radian=true) |
Sets the rotation component of the sl::Transform from Euler angles. More... | |
Matrix4f | operator* (const Matrix4f &mat) const |
Gives the result of the multiplication between two sl::Matrix4f. More... | |
Matrix4f | operator* (const Vector4< float > &vect) const |
Gives the result of the multiplication between a sl::Matrix4f and a sl::float4. More... | |
Matrix4f | operator* (const float &scalar) const |
Gives the result of the multiplication between a sl::Matrix4f and a scalar. More... | |
Matrix4f | operator+ (const Matrix4f &mat) const |
Gives the result of the addition between two sl::Matrix4f. More... | |
Matrix4f | operator+ (const float &scalar) const |
Gives the result of the addition between a sl::Matrix4f and a scalar. More... | |
Matrix4f | operator- (const Matrix4f &mat) const |
Gives the result of the subtraction between two sl::Matrix4f. More... | |
Matrix4f | operator- (const float &scalar) const |
Gives the result of the subtraction between a sl::Matrix4f and a scalar. More... | |
bool | operator== (const Matrix4f &mat) const |
Tests two sl::Matrix4f equality. More... | |
bool | operator!= (const Matrix4f &mat) const |
Tests two sl::Matrix4f inequality. More... | |
float & | operator() (int const u, int const v) |
Gets access to a specific point in the sl::Matrix4f (read/write). More... | |
float | operator() (int const u, int const v) const |
Gets access to a specific point in the sl::Matrix4f (read). More... | |
ERROR_CODE | inverse () |
Sets the sl::Matrix4f to its inverse. More... | |
void | transpose () |
Sets the sl::Matrix4f to its transpose. More... | |
void | setIdentity () |
Sets the sl::Matrix4f to identity. More... | |
void | setZeros () |
Sets the sl::Matrix4f to zero. More... | |
ERROR_CODE | setSubMatrix3f (Matrix3f input, int row=0, int column=0) |
Sets a sl::Matrix3f inside the sl::Matrix4f. More... | |
ERROR_CODE | setSubVector3f (Vector3< float > input, int column=3) |
Sets a sl::Vector3 inside the sl::Matrix4f at the specified column index. More... | |
ERROR_CODE | setSubVector4f (Vector4< float > input, int column=3) |
Sets a sl::Vector4 inside the sl::Matrix4f at the specified column index. More... | |
String | getInfos () |
Returns the components of the sl::Matrix4f in a sl::String. More... | |
Static Functions | |
static Matrix4f | inverse (const Matrix4f &mat) |
Creates the inverse of a sl::Matrix4f. More... | |
static Matrix4f | transpose (const Matrix4f &mat) |
Creates the transpose of a sl::Matrix4f. More... | |
static Matrix4f | identity () |
Creates an identity sl::Matrix4f. More... | |
static Matrix4f | zeros () |
Creates a sl::Matrix4f filled with zeros. More... | |
Attributes | |
String | matrix_name |
Name of the matrix (optional). More... | |
Class representing a transformation (translation and rotation) for the positional tracking module.
It can be used to create any type of Matrix4x4 or sl::Matrix4f that must be specifically used for handling a rotation and position information (OpenGL, Tracking, etc.).
It inherits from the generic sl::Matrix4f class.
Transform | ( | ) |
Default constructor.
Copy constructor (deep copy).
motion | : sl::Transform to copy. |
Transform | ( | const Matrix4f & | mat | ) |
Copy constructor (deep copy).
mat | : sl::Matrix4f to copy. |
Transform | ( | const Rotation & | rotation, |
const Translation & | translation | ||
) |
Constructor from an sl::Rotation and a sl::Translation.
rotation | : sl::Rotation to copy. |
translation | : sl::Translation to copy. |
Transform | ( | const Orientation & | orientation, |
const Translation & | translation | ||
) |
Constructor from an sl::Orientation and a sl::Translation.
orientation | : sl::Orientation to copy. |
translation | : sl::Translation to copy. |
void setRotationMatrix | ( | const Rotation & | rotation | ) |
Sets the rotation component of the current sl::Transform from an sl::Rotation.
rotation | : sl::Rotation to be used. |
Rotation getRotationMatrix | ( | ) | const |
Returns the sl::Rotation corresponding to the current sl::Transform.
void setTranslation | ( | const Translation & | translation | ) |
Sets the translation component of the current sl::Transform from an sl::Translation.
translation | : sl::Translation to be used. |
Translation getTranslation | ( | ) | const |
Returns the sl::Translation corresponding to the current sl::Transform.
void setOrientation | ( | const Orientation & | orientation | ) |
Sets the orientation component of the current sl::Transform from an sl::Orientation.
orientation | : sl::Orientation to be used. |
Orientation getOrientation | ( | ) | const |
Returns the sl::Orientation corresponding to the current sl::Transform.
float3 getRotationVector | ( | ) | const |
Returns the 3x1 rotation vector obtained from 3x3 rotation matrix using Rodrigues formula.
void setRotationVector | ( | const float3 & | vec_rot | ) |
Sets the rotation component of the sl::Transform with a 3x1 rotation vector (using Rodrigues' transformation).
vec_rot | : Vector containing the rotation value for each axis (rx, ry, rz) . |
float3 getEulerAngles | ( | bool | radian = true | ) | const |
Converts the rotation component of the sl::Transform into Euler angles.
radian | : Whether the angle will be returned in radian or degree. |
void setEulerAngles | ( | const float3 & | euler_angles, |
bool | radian = true |
||
) |
Sets the rotation component of the sl::Transform from Euler angles.
euler_angles | : Euler angles (as a sl::float3) to update the sl::Transform. |
radian | : Whether the angle is in radian or degree. |
|
inherited |
Gives the result of the multiplication between two sl::Matrix4f.
|
inherited |
Gives the result of the multiplication between a sl::Matrix4f and a sl::float4.
|
inherited |
Gives the result of the multiplication between a sl::Matrix4f and a scalar.
|
inherited |
Gives the result of the addition between two sl::Matrix4f.
|
inherited |
Gives the result of the addition between a sl::Matrix4f and a scalar.
|
inherited |
Gives the result of the subtraction between two sl::Matrix4f.
|
inherited |
Gives the result of the subtraction between a sl::Matrix4f and a scalar.
|
inherited |
Tests two sl::Matrix4f equality.
|
inherited |
Tests two sl::Matrix4f inequality.
|
inherited |
Gets access to a specific point in the sl::Matrix4f (read/write).
u | : Row to get the value from. |
v | : Column to get the value from. |
|
inherited |
Gets access to a specific point in the sl::Matrix4f (read).
u | : Row to get the value from. |
v | : Column to get the value from. |
|
inherited |
Sets the sl::Matrix4f to its inverse.
|
staticinherited |
Creates the inverse of a sl::Matrix4f.
mat | : sl::Matrix4f to compute the inverse from. |
|
inherited |
Sets the sl::Matrix4f to its transpose.
|
staticinherited |
Creates the transpose of a sl::Matrix4f.
mat | : sl::Matrix4f to compute the transpose from. |
|
inherited |
Sets the sl::Matrix4f to identity.
|
staticinherited |
Creates an identity sl::Matrix4f.
|
inherited |
Sets the sl::Matrix4f to zero.
|
staticinherited |
Creates a sl::Matrix4f filled with zeros.
|
inherited |
Sets a sl::Matrix3f inside the sl::Matrix4f.
input | : Sub-matrix to put inside the sl::Matrix4f. |
row | : Index of the row to start the 3x3 block. Must be 0 or 1. |
column | : Index of the column to start the 3x3 block. Must be 0 or 1. |
|
inherited |
Sets a sl::Vector3 inside the sl::Matrix4f at the specified column index.
input | : Sub-vector to put inside the sl::Matrix4f. |
column | : Index of the column to start the 3x3 block. By default, it is the last column (translation for a sl::Pose). |
|
inherited |
Sets a sl::Vector4 inside the sl::Matrix4f at the specified column index.
input | : Sub-vector to put inside the sl::Matrix4f. |
column | : Index of the column to start the 3x3 block. By default, it is the last column (translation for a sl::Pose). |
|
inherited |
Returns the components of the sl::Matrix4f in a sl::String.
|
inherited |
Name of the matrix (optional).