Public Member Functions
CMatrix4f Class Reference

Detailed Description

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>

List of all members.

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

Constructor & Destructor Documentation

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.

Parameters:
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].
SICPPSDK_INLINE CMatrix4f ( const CMatrix4f in_matrix4 )

Copy constructor.

Parameters:
in_matrix4 constant class object.
SICPPSDK_INLINE ~CMatrix4f ( )

Default destructor.


Member Function Documentation

SICPPSDK_INLINE CMatrix4f & operator= ( const CMatrix4f in_matrix4 )

Assignment operator.

Parameters:
in_matrix4 constant class object.
Returns:
A reference to this object.
SICPPSDK_INLINE CMatrix4f & operator*= ( const CMatrix4f in_matrix4 )

Right-multiplies this CMatrix4f object by the specified matrix and stores the result into this matrix (this = this * in_matrix4).

Parameters:
in_matrix4 matrix to be multiplied with.
Returns:
A reference to this object.
SICPPSDK_INLINE CMatrix4f & SetIdentity ( )

Sets this CMatrix4f object to the identity matrix (this = id).

Returns:
A reference to this object.
SICPPSDK_INLINE bool InvertInPlace ( )

Inverts this CMatrix4f object (if not singular) (this = this^-1).

Returns:
true if this matrix has been inverted (not singular), else false.
SICPPSDK_INLINE bool Invert ( const CMatrix4f in_matrix4 )

Inverts this CMatrix4f object (if not singular) (this = this^-1).

Parameters:
in_matrix4 matrix to be inverted.
Returns:
true if this matrix has been inverted (not singular), else false.
SICPPSDK_INLINE bool TransposeInverseInPlace ( )

Sets this CMatrix4f object to the transpose of the inverse of itself (if not singular) (this = Transpose(this^-1)).

Returns:
true if this matrix has been inverted (not singular), else false.
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)).

Parameters:
in_matrix4 matrix to be inversed and transposed.
Returns:
true if this matrix has been inverted (not singular), else false.
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)).

Parameters:
in_matrix4 matrix to be inversed and transposed.
SICPPSDK_INLINE CMatrix4f & MulInPlace ( const CMatrix4f in_matrix4 )

Right-multiplies this matrix by the matrix m and stores the result in this CMatrix4f object (this = this * in_matrix4).

Parameters:
in_matrix4 matrix to be multiplied with.
Returns:
A reference to this object.
SICPPSDK_INLINE CMatrix4f & Mul ( const CMatrix4f in_matrix4A,
const CMatrix4f in_matrix4B 
)

Right-multiplies matrix A by matrix B and stores the result in this CMatrix4f object (this = in_matrix4A . in_matrix4B).

Parameters:
in_matrix4A matrix
in_matrix4B matrix
Returns:
A reference to the object which contains the result of the multiplication.
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.

Parameters:
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.

Parameters:
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.

Returns:
Pointer to matrix.
SICPPSDK_INLINE void Set ( const float  in_vals[4][4] )

Sets the 16 components of this matrix.

Parameters:
in_vals values for the matrix.
SICPPSDK_INLINE float GetValue ( short  in_sRow,
short  in_sCol 
) const

Returns the (i,j)th value of this CMatrix4f object.

Parameters:
in_sRow access to the i th row
in_sCol access to the j th column
Returns:
The (i,j)th value of this CMatrix4f object.
SICPPSDK_INLINE void SetValue ( short  in_sRow,
short  in_sCol,
float  in_fVal 
)

Sets the (i,j)th value of this CMatrix4f object.

Parameters:
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.

Parameters:
in_matrix4 Operand matrix.
in_fEpsilon Error margin Possible Values: [0, +INF[ should be a positive value
Returns:
true if equal else false.
SICPPSDK_INLINE bool Equals ( const CMatrix4f in_matrix4 ) const

Tests the strict equality of this CMatrix4f object with the specified matrix.

Parameters:
in_matrix4 Operand matrix.
Returns:
true if equal else false.
SICPPSDK_INLINE bool operator== ( const CMatrix4f in_matrix4 ) const

Equality operator. Tests the strict equality of this CMatrix4f object with the specified matrix.

Parameters:
in_matrix4 Operand matrix4.
Returns:
true if equal else false.
See also:
CMatrix4f::Equals
SICPPSDK_INLINE bool operator!= ( const CMatrix4f in_matrix4 ) const

Inequality operator. Tests the strict inequality of this CMatrix4f object with the specified matrix.

Parameters:
in_matrix4 Operand matrix.
Returns:
true if equal else false.
See also:
CMatrix4f::Equals
SICPPSDK_INLINE bool operator< ( const CMatrix4f in_matrix4 ) const

Less than operator. Performs a comparison with a specified CMatrix4f to determine if this CMatrix4f is less than the specified CMatrix4f. The comparison is arbitrary and not geometrically meaningful, it's only purpose is to make CMatrix4f compliant with stl for sorting operations.

Returns:
true if this CMatrix4f is less than the specified CMatrix4f, false otherwise.
Since:
7.5
SICPPSDK_INLINE const float * Get ( ) const

Gets a pointer to the internal matrix. Const version

Returns:
Pointer to const matrix.
Since:
11.0 (2013)

The documentation for this class was generated from the following file: