# CMatrix3f Class Reference

A class to represent a single precision floating point 3 by 3 matrix. This class is typically used for implementing custom ICE nodes. More...

`#include <xsi_matrix3f.h>`

List of all members.

## Public Member Functions
__forceinline | CMatrix3f ()
__forceinline | CMatrix3f (float in_00, float in_01, float in_02, float in_10, float in_11, float in_12, float in_20, float in_21, float in_22)
__forceinline | CMatrix3f (const CMatrix3f &in_matrix3)
__forceinline | ~CMatrix3f ()
__forceinline CMatrix3f & | operator= (const CMatrix3f &in_matrix3)
__forceinline CMatrix3f & | operator *= (const CMatrix3f &in_matrix3)
__forceinline CMatrix3f & | SetIdentity ()
__forceinline bool | Invert (const CMatrix3f &in_matrix3)
__forceinline bool | TransposeInverseInPlace ()
__forceinline bool | TransposeInverse (const CMatrix3f &in_matrix3)
__forceinline void | TransposeInPlace ()
__forceinline void | Transpose (const CMatrix3f &in_matrix3)
__forceinline CMatrix3f & | MulInPlace (const CMatrix3f &in_matrix3)
__forceinline CMatrix3f & | Mul (const CMatrix3f &in_matrix3A, const CMatrix3f &in_matrix3B)
__forceinline void | Get (float &io_00, float &io_01, float &io_02, float &io_10, float &io_11, float &io_12, float &io_20, float &io_21, float &io_22) const
__forceinline void | Set (float in_00, float in_01, float in_02, float in_10, float in_11, float in_12, float in_20, float in_21, float in_22)
__forceinline void | Set (const float in_Val[3][3])
__forceinline float * | Get ()
__forceinline float | GetValue (short in_sRow, short in_sCol) const
__forceinline void | SetValue (short in_sRow, short in_sCol, float in_Val)
bool | EpsilonEquals (const CMatrix3f &in_matrix3, float in_Epsilon) const
__forceinline bool | Equals (const CMatrix3f &in_matrix3) const
__forceinline bool | operator== (const CMatrix3f &in_matrix3) const
__forceinline bool | operator!= (const CMatrix3f &in_matrix3) const
__forceinline bool | operator< (const CMatrix3f &in_matrix3) const

## Detailed Description

A class to represent a single precision floating point 3 by 3 matrix. This class is typically used for implementing custom ICE nodes.

## Constructor & Destructor Documentation

__forceinline CMatrix3f | ( |  | ) |

Default constructor.

__forceinline CMatrix3f | ( | float | in_00,
|  | float | in_01,
|  | float | in_02,
|  | float | in_10,
|  | float | in_11,
|  | float | in_12,
|  | float | in_20,
|  | float | in_21,
|  | float | in_22 |
| ) |  |  |

Constructor.

Parameters:

  | in_00 | Value to set in this matrix[0,0].
  | in_01 | Value to set in this matrix[0,1].
  | in_02 | Value to set in this matrix[0,2].
  | in_10 | Value to set in this matrix[1,0].
  | in_11 | Value to set in this matrix[1,1].
  | in_12 | Value to set in this matrix[1,2].
  | in_20 | Value to set in this matrix[2,0].
  | in_21 | Value to set in this matrix[2,1].
  | in_22 | Value to set in this matrix[2,2].

__forceinline CMatrix3f | ( | const CMatrix3f & | in_matrix3 | ) |

Copy constructor.

Parameters:

  | in_matrix3 | constant class object.

__forceinline ~CMatrix3f | ( |  | ) |

Default destructor.

## Member Function Documentation

__forceinline CMatrix3f & operator= | ( | const CMatrix3f & | in_matrix3 | ) |

Assignment operator.

Parameters:

  | in_matrix3& | constant class object.

__forceinline CMatrix3f & operator *= | ( | const CMatrix3f & | in_matrix3 | ) |

Right-multiplies this CMatrix3f object by in_matrix3 and stores the result in the same CMatrix3f object (this = this * in_matrix3)

Parameters:

  | in_matrix3 | Matrix to be multiplied with.

Returns:
  A reference to this CMatrix3f object.

See also:
  CMatrix3f::MulInPlace

__forceinline CMatrix3f & SetIdentity | ( |  | ) |

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

Returns:
  A reference to this CMatrix3f object.

__forceinline bool Invert | ( | const CMatrix3f & | in_matrix3 | ) |

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

Parameters:

  | in_matrix3 | Matrix to be inverted.

Returns:
  true if this CMatrix3f object has been inverted (not singular), else false.

__forceinline bool TransposeInverseInPlace | ( |  | ) |

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

Returns:
  true if this CMatrix3f object has been inverted (not singular), else false.

__forceinline bool TransposeInverse | ( | const CMatrix3f & | in_matrix3 | ) |

Sets this CMatrix3f object to the transpose of the inverse of the input matrix (if not singular) (this = Transpose(in_matrix3^-1)).

Parameters:

  | in_matrix3 | CMatrix3f object to be inversed and transposed.

Returns:
  true if this CMatrix3f object has been inverted (not singular), else false.

__forceinline void TransposeInPlace | ( |  | ) |

Transposes this CMatrix3f object in place (this = Transpose(this)).

__forceinline void Transpose | ( | const CMatrix3f & | in_matrix3 | ) |

Transposes the specified matrix and stores the result in this CMatrix3f object (this = Transpose(in_matrix3)).

Parameters:

  | in_matrix3 | matrix to be inversed and transposed.

__forceinline CMatrix3f & MulInPlace | ( | const CMatrix3f & | in_matrix3 | ) |

Right-multiplies this CMatrix3f object by in_matrix3 and stores the result in this CMatrix3f object (this = this * in_matrix3).

Parameters:

  | in_matrix3 | matrix to be multiplied with.

Returns:
  A reference to the CMatrix3f object.

__forceinline CMatrix3f & Mul | ( | const CMatrix3f & | in_matrix3A,
|  | const CMatrix3f & | in_matrix3B |
| ) |  |  |

Right-multiplies in_matrix3A by in_matrix3B and stores the result in this CMatrix3f object (this = in_matrix3A * in_matrix3B).

Parameters:

  | in_matrix3A | matrix
  | in_matrix3B | matrix

Returns:
  CMatrix3f& A reference to the CMatrix3f object which contains the result of the multiplication.

__forceinline void Get | ( | float & | io_00,
|  | float & | io_01,
|  | float & | io_02,
|  | float & | io_10,
|  | float & | io_11,
|  | float & | io_12,
|  | float & | io_20,
|  | float & | io_21,
|  | float & | io_22 |
| ) |  |  | const

Returns the 9 components of this CMatrix3f object.

Parameters:

  | io_00 | Value of this matrix[0,0].
  | io_01 | Value of this matrix[0,1].
  | io_02 | Value of this matrix[0,2].
  | io_10 | Value of this matrix[1,0].
  | io_11 | Value of this matrix[1,1].
  | io_12 | Value of this matrix[1,2].
  | io_20 | Value of this matrix[2,0].
  | io_21 | Value of this matrix[2,1].
  | io_22 | Value of this matrix[2,2].

__forceinline void Set | ( | float | in_00,
|  | float | in_01,
|  | float | in_02,
|  | float | in_10,
|  | float | in_11,
|  | float | in_12,
|  | float | in_20,
|  | float | in_21,
|  | float | in_22 |
| ) |  |  |

Sets the 9 components of this CMatrix3f object.

Parameters:

  | in_00 | Value to set to this matrix[0,0].
  | in_01 | Value to set to this matrix[0,1].
  | in_02 | Value to set to this matrix[0,2].
  | in_10 | Value to set to this matrix[1,0].
  | in_11 | Value to set to this matrix[1,1].
  | in_12 | Value to set to this matrix[1,2].
  | in_20 | Value to set to this matrix[2,0].
  | in_21 | Value to set to this matrix[2,1].
  | in_22 | Value to set to this matrix[2,2].

__forceinline void Set | ( | const float | in_Val[3][3] | ) |

Sets the 9 components of this CMatrix3f object.

Parameters:

  | in_Val | A 3x3 array of float values.

__forceinline float * Get | ( |  | ) |

Gets a pointer to the internal matrix.

Returns:
  Pointer to matrix.

__forceinline float GetValue | ( | short | in_sRow,
|  | short | in_sCol |
| ) |  |  | const

Returns the (i,j)th value of this CMatrix3f 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 CMatrix3f object.

__forceinline void SetValue | ( | short | in_sRow,
|  | short | in_sCol,
|  | float | in_Val |
| ) |  |  |

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

Parameters:

  | in_sRow | access to the i th row
  | in_sCol | access to the j th column
  | in_Val | new value

bool EpsilonEquals | ( | const CMatrix3f & | in_matrix3,
|  | float | in_Epsilon |
| ) |  |  | const

Tests the equality of this CMatrix3f object with the specified matrix, with a tolerance of Epsilon.

Parameters:

  | in_matrix3 | Operand matrix.
  | in_Epsilon | Error margin Possible Values: [0, +INF[ should be a positive value

Returns:
  true if equal else false.

__forceinline bool Equals | ( | const CMatrix3f & | in_matrix3 | ) | const

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

Parameters:

  | in_matrix3 | Operand matrix.

Returns:
  true if equal else false.

__forceinline bool operator== | ( | const CMatrix3f & | in_matrix3 | ) | const

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

Parameters:

  | in_matrix3 | Operand matrix3.

Returns:
  true if equal else false.

See also:
  CMatrix3f::Equals

__forceinline bool operator!= | ( | const CMatrix3f & | in_matrix3 | ) | const

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

Parameters:

  | in_matrix3 | Operand matrix.

Returns:
  true if equal else false.

See also:
  CMatrix3f::Equals

__forceinline bool operator< | ( | const CMatrix3f & | in_matrix3 | ) | const

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

Parameters:

  | in_matrix3 | CMatrix3f to compare.

Returns:
  true if this CMatrix3f is less than the specified CMatrix3f, false otherwise.

Since:
  7.5

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

- xsi_matrix3f.h