| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csMatrix3 Class Reference
[Geometry utilities]

A 3x3 matrix. More...

`#include <csgeom/matrix3.h>`

Inheritance diagram for csMatrix3:

[legend]
List of all members.

## Public Member Functions
csVector3 | Col1 () const
| Get the first column of this matrix as a vector.
csVector3 | Col2 () const
| Get the second column of this matrix as a vector.
csVector3 | Col3 () const
| Get the third column of this matrix as a vector.
| csMatrix3 (const csQuaternion &quat)
| Construct a matrix with a quaternion.
| csMatrix3 (float x, float y, float z, float angle)
| Construct a matrix from axis-angle specifier.
| csMatrix3 (csMatrix3 const &o)
| Copy constructor.
| csMatrix3 (float am11, float am12, float am13, float am21, float am22, float am23, float am31, float am32, float am33)
| Construct a matrix and initialize it.
| csMatrix3 ()
| Construct a matrix, initialized to be the identity.
float | Determinant () const
| Compute the determinant of this matrix.
csMatrix3 | GetInverse () const
| Return the inverse of this matrix.
csMatrix3 | GetTranspose () const
| Return the transpose of this matrix.
void | Identity ()
| Set this matrix to the identity matrix.
void | Invert ()
| Invert this matrix.
bool | IsIdentity () const
| Check if the matrix is identity.
csMatrix3 & | operator *= (float)
| Multiply this matrix with a scalar.
csMatrix3 & | operator *= (const csMatrix3 &)
| Multiply another matrix with this matrix.
csMatrix3 | operator+ () const
| Unary + operator.
csMatrix3 & | operator+= (const csMatrix3 &)
| Add another matrix to this matrix.
csMatrix3 | operator- () const
| Unary - operator.
csMatrix3 & | operator-= (const csMatrix3 &)
| Subtract another matrix from this matrix.
csMatrix3 & | operator/= (float)
| Divide this matrix by a scalar.
csMatrix3 & | operator= (const csMatrix3 &o)
| Assign another matrix to this one.
csVector3 | Row1 () const
| Get the first row of this matrix as a vector.
csVector3 | Row2 () const
| Get the second row of this matrix as a vector.
csVector3 | Row3 () const
| Get the third row of this matrix as a vector.
void | Set (const csQuaternion &)
| Initialize matrix with a quaternion.
void | Set (csMatrix3 const &o)
void | Set (float o11, float o12, float o13, float o21, float o22, float o23, float o31, float o32, float o33)
| Set matrix values.
void | Transpose ()
| Transpose this matrix.
## Public Attributes
float | m11
float | m12
float | m13
float | m21
float | m22
float | m23
float | m31
float | m32
float | m33
## Friends
csMatrix3 | operator * (float f, const csMatrix3 &m)
| Multiply a matrix and a scalar.
csMatrix3 | operator * (const csMatrix3 &m, float f)
| Multiply a matrix and a scalar.
csVector3 | operator * (const csMatrix3 &m, const csVector3 &v)
| Multiply a vector by a matrix (transform it).
csMatrix3 | operator * (const csMatrix3 &m1, const csMatrix3 &m2)
| Multiply two matricies.
bool | operator!= (const csMatrix3 &m1, const csMatrix3 &m2)
| Check if two matricies are not equal.
csMatrix3 | operator+ (const csMatrix3 &m1, const csMatrix3 &m2)
| Add two matricies.
csMatrix3 | operator- (const csMatrix3 &m1, const csMatrix3 &m2)
| Subtract two matricies.
csMatrix3 | operator/ (const csMatrix3 &m, float f)
| Divide a matrix by a scalar.
bool | operator< (const csMatrix3 &m, float f)
| Test if each component of a matrix is less than a small epsilon value.
bool | operator== (const csMatrix3 &m1, const csMatrix3 &m2)
| Check if two matricies are equal.
bool | operator> (float f, const csMatrix3 &m)
| Test if each component of a matrix is greater than a small epsilon value.

## Detailed Description

A 3x3 matrix.

Definition at line 38 of file matrix3.h.

## Constructor & Destructor Documentation

csMatrix3::csMatrix3 | ( |  | ) | `[inline]`

Construct a matrix, initialized to be the identity.

Definition at line 47 of file matrix3.h.

csMatrix3::csMatrix3 | ( | float | am11,
|  | float | am12,
|  | float | am13,
|  | float | am21,
|  | float | am22,
|  | float | am23,
|  | float | am31,
|  | float | am32,
|  | float | am33 |
| ) |  |  | `[inline]`

Construct a matrix and initialize it.

Definition at line 54 of file matrix3.h.

csMatrix3::csMatrix3 | ( | csMatrix3 const & | o | ) | `[inline]`

Copy constructor.

Definition at line 63 of file matrix3.h.

csMatrix3::csMatrix3 | ( | float | x,
|  | float | y,
|  | float | z,
|  | float | angle |
| ) |  |  |

Construct a matrix from axis-angle specifier.

csMatrix3::csMatrix3 | ( | const csQuaternion & | quat | ) | `[inline, explicit]`

Construct a matrix with a quaternion.

Definition at line 69 of file matrix3.h.

## Member Function Documentation

csVector3 csMatrix3::Col1 | ( |  | ) | const`[inline]`

Get the first column of this matrix as a vector.

Definition at line 81 of file matrix3.h.

csVector3 csMatrix3::Col2 | ( |  | ) | const`[inline]`

Get the second column of this matrix as a vector.

Definition at line 84 of file matrix3.h.

csVector3 csMatrix3::Col3 | ( |  | ) | const`[inline]`

Get the third column of this matrix as a vector.

Definition at line 87 of file matrix3.h.

float csMatrix3::Determinant | ( |  | ) | const

Compute the determinant of this matrix.

csMatrix3 csMatrix3::GetInverse | ( |  | ) | const`[inline]`

Return the inverse of this matrix.

Definition at line 144 of file matrix3.h.

References m11, m21, and m31.

Referenced by csReversibleTransform::SetO2T(), and csReversibleTransform::SetT2O().

csMatrix3 csMatrix3::GetTranspose | ( |  | ) | const

Return the transpose of this matrix.

Referenced by csOrthoTransform::SetO2T(), and csOrthoTransform::SetT2O().

void csMatrix3::Identity | ( |  | ) |

Set this matrix to the identity matrix.

void csMatrix3::Invert | ( |  | ) | `[inline]`

Invert this matrix.

Definition at line 156 of file matrix3.h.

bool csMatrix3::IsIdentity | ( |  | ) | const

Check if the matrix is identity.

csMatrix3& csMatrix3::operator *= | ( | float |  | ) |

Multiply this matrix with a scalar.

csMatrix3& csMatrix3::operator *= | ( | const csMatrix3 & |  | ) |

Multiply another matrix with this matrix.

csMatrix3 csMatrix3::operator+ | ( |  | ) | const`[inline]`

Unary + operator.

Definition at line 128 of file matrix3.h.

csMatrix3& csMatrix3::operator+= | ( | const csMatrix3 & |  | ) |

Add another matrix to this matrix.

csMatrix3 csMatrix3::operator- | ( |  | ) | const`[inline]`

Unary - operator.

Definition at line 130 of file matrix3.h.

csMatrix3& csMatrix3::operator-= | ( | const csMatrix3 & |  | ) |

Subtract another matrix from this matrix.

csMatrix3& csMatrix3::operator/= | ( | float |  | ) |

Divide this matrix by a scalar.

csMatrix3& csMatrix3::operator= | ( | const csMatrix3 & | o | ) | `[inline]`

Assign another matrix to this one.

Definition at line 110 of file matrix3.h.

csVector3 csMatrix3::Row1 | ( |  | ) | const`[inline]`

Get the first row of this matrix as a vector.

Definition at line 72 of file matrix3.h.

csVector3 csMatrix3::Row2 | ( |  | ) | const`[inline]`

Get the second row of this matrix as a vector.

Definition at line 75 of file matrix3.h.

csVector3 csMatrix3::Row3 | ( |  | ) | const`[inline]`

Get the third row of this matrix as a vector.

Definition at line 78 of file matrix3.h.

void csMatrix3::Set | ( | const csQuaternion & |  | ) |

Initialize matrix with a quaternion.

void csMatrix3::Set | ( | float | o11,
|  | float | o12,
|  | float | o13,
|  | float | o21,
|  | float | o22,
|  | float | o23,
|  | float | o31,
|  | float | o32,
|  | float | o33 |
| ) |  |  | `[inline]`

Set matrix values.

Definition at line 90 of file matrix3.h.

void csMatrix3::Transpose | ( |  | ) |

Transpose this matrix.

## Friends And Related Function Documentation

csMatrix3 operator * | ( | float | f,
|  | const csMatrix3 & | m |
| ) |  |  | `[friend]`

Multiply a matrix and a scalar.

csMatrix3 operator * | ( | const csMatrix3 & | m,
|  | float | f |
| ) |  |  | `[friend]`

Multiply a matrix and a scalar.

csVector3 operator * | ( | const csMatrix3 & | m,
|  | const csVector3 & | v |
| ) |  |  | `[friend]`

Multiply a vector by a matrix (transform it).

Definition at line 178 of file matrix3.h.

csMatrix3 operator * | ( | const csMatrix3 & | m1,
|  | const csMatrix3 & | m2 |
| ) |  |  | `[friend]`

Multiply two matricies.

bool operator!= | ( | const csMatrix3 & | m1,
|  | const csMatrix3 & | m2 |
| ) |  |  | `[friend]`

Check if two matricies are not equal.

csMatrix3 operator+ | ( | const csMatrix3 & | m1,
|  | const csMatrix3 & | m2 |
| ) |  |  | `[friend]`

Add two matricies.

csMatrix3 operator- | ( | const csMatrix3 & | m1,
|  | const csMatrix3 & | m2 |
| ) |  |  | `[friend]`

Subtract two matricies.

csMatrix3 operator/ | ( | const csMatrix3 & | m,
|  | float | f |
| ) |  |  | `[friend]`

Divide a matrix by a scalar.

bool operator< | ( | const csMatrix3 & | m,
|  | float | f |
| ) |  |  | `[friend]`

Test if each component of a matrix is less than a small epsilon value.

bool operator== | ( | const csMatrix3 & | m1,
|  | const csMatrix3 & | m2 |
| ) |  |  | `[friend]`

Check if two matricies are equal.

bool operator> | ( | float | f,
|  | const csMatrix3 & | m |
| ) |  |  | `[friend]`

Test if each component of a matrix is greater than a small epsilon value.

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

- csgeom/matrix3.h