A class to represent a single precision floating point 4 by 4 matrix. This class is typically used for implementing custom ICE nodes.
#include <xsi_matrix4f.h>
Public Member Functions | |
SICPPSDK_INLINE | CMatrix4f () |
SICPPSDK_INLINE | CMatrix4f (float in_f00, float in_f01, float in_f02, float in_f03, float in_f10, float in_f11, float in_f12, float in_f13, float in_f20, float in_f21, float in_f22, float in_f23, float in_f30, float in_f31, float in_f32, float in_f33) |
SICPPSDK_INLINE | CMatrix4f (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE | ~CMatrix4f () |
SICPPSDK_INLINE CMatrix4f & | operator= (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE CMatrix4f & | operator*= (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE CMatrix4f & | SetIdentity () |
SICPPSDK_INLINE bool | InvertInPlace () |
SICPPSDK_INLINE bool | Invert (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE bool | TransposeInverseInPlace () |
SICPPSDK_INLINE bool | TransposeInverse (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE void | TransposeInPlace () |
SICPPSDK_INLINE void | Transpose (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE CMatrix4f & | MulInPlace (const CMatrix4f &in_matrix4) |
SICPPSDK_INLINE CMatrix4f & | Mul (const CMatrix4f &in_matrix4A, const CMatrix4f &in_matrix4B) |
SICPPSDK_INLINE void | Get (float &io_f00, float &io_f01, float &io_f02, float &io_f03, float &io_f10, float &io_f11, float &io_f12, float &io_f13, float &io_f20, float &io_f21, float &io_f22, float &io_f23, float &io_f30, float &io_f31, float &io_f32, float &io_f33) const |
SICPPSDK_INLINE void | Set (float in_f00, float in_f01, float in_f02, float in_f03, float in_f10, float in_f11, float in_f12, float in_f13, float in_f20, float in_f21, float in_f22, float in_f23, float in_f30, float in_f31, float in_f32, float in_f33) |
SICPPSDK_INLINE float * | Get () |
SICPPSDK_INLINE void | Set (const float in_vals[4][4]) |
SICPPSDK_INLINE float | GetValue (short in_sRow, short in_sCol) const |
SICPPSDK_INLINE void | SetValue (short in_sRow, short in_sCol, float in_fVal) |
SICPPSDK_INLINE bool | EpsilonEquals (const CMatrix4f &in_matrix4, float in_fEpsilon) const |
SICPPSDK_INLINE bool | Equals (const CMatrix4f &in_matrix4) const |
SICPPSDK_INLINE bool | operator== (const CMatrix4f &in_matrix4) const |
SICPPSDK_INLINE bool | operator!= (const CMatrix4f &in_matrix4) const |
SICPPSDK_INLINE bool | operator< (const CMatrix4f &in_matrix4) const |
SICPPSDK_INLINE const float * | Get () const |
SICPPSDK_INLINE CMatrix4f | ( | ) |
Default constructor.
SICPPSDK_INLINE CMatrix4f | ( | float | in_f00, |
float | in_f01, | ||
float | in_f02, | ||
float | in_f03, | ||
float | in_f10, | ||
float | in_f11, | ||
float | in_f12, | ||
float | in_f13, | ||
float | in_f20, | ||
float | in_f21, | ||
float | in_f22, | ||
float | in_f23, | ||
float | in_f30, | ||
float | in_f31, | ||
float | in_f32, | ||
float | in_f33 | ||
) |
Constructor.
in_f00 | Value to set to this matrix[0,0]. |
in_f01 | Value to set to this matrix[0,1]. |
in_f02 | Value to set to this matrix[0,2]. |
in_f03 | Value to set to this matrix[0,3]. |
in_f10 | Value to set to this matrix[1,0]. |
in_f11 | Value to set to this matrix[1,1]. |
in_f12 | Value to set to this matrix[1,2]. |
in_f13 | Value to set to this matrix[1,3]. |
in_f20 | Value to set to this matrix[2,0]. |
in_f21 | Value to set to this matrix[2,1]. |
in_f22 | Value to set to this matrix[2,2]. |
in_f23 | Value to set to this matrix[2,3]. |
in_f30 | Value to set to this matrix[3,0]. |
in_f31 | Value to set to this matrix[3,1]. |
in_f32 | Value to set to this matrix[3,2]. |
in_f33 | Value to set to this matrix[3,3]. |
Copy constructor.
in_matrix4 | constant class object. |
SICPPSDK_INLINE ~CMatrix4f | ( | ) |
Default destructor.
Assignment operator.
in_matrix4 | constant class object. |
Right-multiplies this CMatrix4f object by the specified matrix and stores the result into this matrix (this = this * in_matrix4).
in_matrix4 | matrix to be multiplied with. |
SICPPSDK_INLINE CMatrix4f & SetIdentity | ( | ) |
Sets this CMatrix4f object to the identity matrix (this = id).
SICPPSDK_INLINE bool InvertInPlace | ( | ) |
Inverts this CMatrix4f object (if not singular) (this = this^-1).
SICPPSDK_INLINE bool Invert | ( | const CMatrix4f & | in_matrix4 | ) |
Inverts this CMatrix4f object (if not singular) (this = this^-1).
in_matrix4 | matrix to be inverted. |
SICPPSDK_INLINE bool TransposeInverseInPlace | ( | ) |
Sets this CMatrix4f object to the transpose of the inverse of itself (if not singular) (this = Transpose(this^-1)).
SICPPSDK_INLINE bool TransposeInverse | ( | const CMatrix4f & | in_matrix4 | ) |
Sets this CMatrix4f object to the transpose of the inverse of the input matrix (if not singular) (this = Transpose(in_matrix4^-1)).
in_matrix4 | matrix to be inversed and transposed. |
SICPPSDK_INLINE void TransposeInPlace | ( | ) |
Transposes this CMatrix4f object in place (this = Transpose(this)).
SICPPSDK_INLINE void Transpose | ( | const CMatrix4f & | in_matrix4 | ) |
Transposes in_matrix and stores the result in this CMatrix4f object (this = Transpose(in_matrix4)).
in_matrix4 | matrix to be inversed and transposed. |
Right-multiplies this matrix by the matrix m and stores the result in this CMatrix4f object (this = this * in_matrix4).
in_matrix4 | matrix to be multiplied with. |
Right-multiplies matrix A by matrix B and stores the result in this CMatrix4f object (this = in_matrix4A . in_matrix4B).
in_matrix4A | matrix |
in_matrix4B | matrix |
SICPPSDK_INLINE void Get | ( | float & | io_f00, |
float & | io_f01, | ||
float & | io_f02, | ||
float & | io_f03, | ||
float & | io_f10, | ||
float & | io_f11, | ||
float & | io_f12, | ||
float & | io_f13, | ||
float & | io_f20, | ||
float & | io_f21, | ||
float & | io_f22, | ||
float & | io_f23, | ||
float & | io_f30, | ||
float & | io_f31, | ||
float & | io_f32, | ||
float & | io_f33 | ||
) | const |
Gets the 16 components of this matrix.
io_f00 | Value of this matrix[0,0]. |
io_f01 | Value of this matrix[0,1]. |
io_f02 | Value of this matrix[0,2]. |
io_f03 | Value of this matrix[0,3]. |
io_f10 | Value of this matrix[1,0]. |
io_f11 | Value of this matrix[1,1]. |
io_f12 | Value of this matrix[1,2]. |
io_f13 | Value of this matrix[1,3]. |
io_f20 | Value of this matrix[2,0]. |
io_f21 | Value of this matrix[2,1]. |
io_f22 | Value of this matrix[2,2]. |
io_f23 | Value of this matrix[2,3]. |
io_f30 | Value of this matrix[3,0]. |
io_f31 | Value of this matrix[3,1]. |
io_f32 | Value of this matrix[3,2]. |
io_f33 | Value of this matrix[3,3]. |
SICPPSDK_INLINE void Set | ( | float | in_f00, |
float | in_f01, | ||
float | in_f02, | ||
float | in_f03, | ||
float | in_f10, | ||
float | in_f11, | ||
float | in_f12, | ||
float | in_f13, | ||
float | in_f20, | ||
float | in_f21, | ||
float | in_f22, | ||
float | in_f23, | ||
float | in_f30, | ||
float | in_f31, | ||
float | in_f32, | ||
float | in_f33 | ||
) |
Sets the 16 components of this matrix.
in_f00 | Value to set in this matrix[0,0]. |
in_f01 | Value to set in this matrix[0,1]. |
in_f02 | Value to set in this matrix[0,2]. |
in_f03 | Value to set in this matrix[0,3]. |
in_f10 | Value to set in this matrix[1,0]. |
in_f11 | Value to set in this matrix[1,1]. |
in_f12 | Value to set in this matrix[1,2]. |
in_f13 | Value to set in this matrix[1,3]. |
in_f20 | Value to set in this matrix[2,0]. |
in_f21 | Value to set in this matrix[2,1]. |
in_f22 | Value to set in this matrix[2,2]. |
in_f23 | Value to set in this matrix[2,3]. |
in_f30 | Value to set in this matrix[3,0]. |
in_f31 | Value to set in this matrix[3,1]. |
in_f32 | Value to set in this matrix[3,2]. |
in_f33 | Value to set in this matrix[3,3]. |
SICPPSDK_INLINE float * Get | ( | ) |
Gets a pointer to the internal matrix.
SICPPSDK_INLINE void Set | ( | const float | in_vals[4][4] | ) |
Sets the 16 components of this matrix.
in_vals | values for the matrix. |
SICPPSDK_INLINE float GetValue | ( | short | in_sRow, |
short | in_sCol | ||
) | const |
SICPPSDK_INLINE void SetValue | ( | short | in_sRow, |
short | in_sCol, | ||
float | in_fVal | ||
) |
Sets the (i,j)th value of this CMatrix4f object.
in_sRow | access to the i th row |
in_sCol | access to the j th column |
in_fVal | new value |
SICPPSDK_INLINE bool EpsilonEquals | ( | const CMatrix4f & | in_matrix4, |
float | in_fEpsilon | ||
) | const |
Tests the equality of this CMatrix4f object with the specified matrix, with a tolerance of Epsilon.
in_matrix4 | Operand matrix. |
in_fEpsilon | Error margin Possible Values: [0, +INF[ should be a positive value |
SICPPSDK_INLINE bool Equals | ( | const CMatrix4f & | in_matrix4 | ) | const |
Tests the strict equality of this CMatrix4f object with the specified matrix.
in_matrix4 | Operand matrix. |
SICPPSDK_INLINE bool operator== | ( | const CMatrix4f & | in_matrix4 | ) | const |
Equality operator. Tests the strict equality of this CMatrix4f object with the specified matrix.
in_matrix4 | Operand matrix4. |
SICPPSDK_INLINE bool operator!= | ( | const CMatrix4f & | in_matrix4 | ) | const |
Inequality operator. Tests the strict inequality of this CMatrix4f object with the specified matrix.
in_matrix4 | Operand matrix. |
SICPPSDK_INLINE bool operator< | ( | const CMatrix4f & | in_matrix4 | ) | const |
SICPPSDK_INLINE const float * Get | ( | ) | const |
Gets a pointer to the internal matrix. Const version