# csMatrix3 Class Reference [Geometry utilities]

A 3x3 matrix. More...

`#include <csgeom/matrix3.h>`

Inheritance diagram for csMatrix3:

List of all members.

## Public Member Functions

csVector3 Col (size_t n) const
Get a column from this matrix as a vector.
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 ()
Construct a matrix, initialized to be the identity.
csMatrix3 (float x, float y, float z, float angle)
Construct a matrix from axis-angle specifier.
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 (const csQuaternion &quat)
Construct a matrix with a quaternion.
csMatrix3 (csMatrix3 const &o)
Copy constructor.
csString Description () const
Return a textual representation of the matrix.
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.
csMatrix3operator*= (const csMatrix3 &m)
Multiply another matrix with this matrix.
csMatrix3operator*= (float s)
Multiply this matrix with a scalar.
csMatrix3 operator+ () const
Unary + operator.
csMatrix3operator+= (const csMatrix3 &m)
Add another matrix to this matrix.
csMatrix3 operator- () const
Unary - operator.
csMatrix3operator-= (const csMatrix3 &m)
Subtract another matrix from this matrix.
csMatrix3operator/= (float s)
Divide this matrix by a scalar.
csMatrix3operator= (const csMatrix3 &o)
Assign another matrix to this one.
csVector3 Row (size_t n) const
Get a row from this matrix as a vector.
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 (csMatrix3 const &o)
Set matrix values.
void Set (const csQuaternion &)
Initialize matrix with a quaternion.
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.

## Friends

bool operator!= (const csMatrix3 &m1, const csMatrix3 &m2)
Check if two matricies are not equal.
csMatrix3 operator* (const csMatrix3 &m1, const csMatrix3 &m2)
Multiply two matricies.
csVector3 operator* (const csMatrix3 &m, const csVector3 &v)
Multiply a vector by a matrix (transform it).
csMatrix3 operator* (const csMatrix3 &m, float f)
Multiply a matrix and a scalar.
csMatrix3 operator* (float f, const csMatrix3 &m)
Multiply a matrix and a scalar.
csMatrix3 operator+ (const csMatrix3 &m1, const csMatrix3 &m2)
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 73 of file matrix3.h.

## Member Function Documentation

 csVector3 csMatrix3::Col ( size_t n ) const` [inline]`

Get a column from this matrix as a vector.

Definition at line 112 of file matrix3.h.

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

Get the first column of this matrix as a vector.

Definition at line 100 of file matrix3.h.

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

Get the second column of this matrix as a vector.

Definition at line 104 of file matrix3.h.

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

Get the third column of this matrix as a vector.

Definition at line 108 of file matrix3.h.

 csString csMatrix3::Description ( ) const

Return a textual representation of the matrix.

 float csMatrix3::Determinant ( ) const` [inline]`

Compute the determinant of this matrix.

Definition at line 254 of file matrix3.h.

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

Return the inverse of this matrix.

Definition at line 238 of file matrix3.h.

 csMatrix3 csMatrix3::GetTranspose ( ) const` [inline]`

Return the transpose of this matrix.

Definition at line 229 of file matrix3.h.

 void csMatrix3::Identity ( ) ` [inline]`

Set this matrix to the identity matrix.

Definition at line 262 of file matrix3.h.

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

Invert this matrix.

Definition at line 250 of file matrix3.h.

 bool csMatrix3::IsIdentity ( ) const` [inline]`

Check if the matrix is identity.

Definition at line 269 of file matrix3.h.

 csMatrix3& csMatrix3::operator*= ( const csMatrix3 & m ) ` [inline]`

Multiply another matrix with this matrix.

Definition at line 163 of file matrix3.h.

 csMatrix3& csMatrix3::operator*= ( float s ) ` [inline]`

Multiply this matrix with a scalar.

Definition at line 189 of file matrix3.h.

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

Unary + operator.

Definition at line 208 of file matrix3.h.

 csMatrix3& csMatrix3::operator+= ( const csMatrix3 & m ) ` [inline]`

Add another matrix to this matrix.

Definition at line 145 of file matrix3.h.

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

Unary - operator.

Definition at line 212 of file matrix3.h.

 csMatrix3& csMatrix3::operator-= ( const csMatrix3 & m ) ` [inline]`

Subtract another matrix from this matrix.

Definition at line 154 of file matrix3.h.

 csMatrix3& csMatrix3::operator/= ( float s ) ` [inline]`

Divide this matrix by a scalar.

Definition at line 198 of file matrix3.h.

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

Assign another matrix to this one.

Definition at line 141 of file matrix3.h.

 csVector3 csMatrix3::Row ( size_t n ) const` [inline]`

Get a row from this matrix as a vector.

Definition at line 92 of file matrix3.h.

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

Get the first row of this matrix as a vector.

Definition at line 80 of file matrix3.h.

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

Get the second row of this matrix as a vector.

Definition at line 84 of file matrix3.h.

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

Get the third row of this matrix as a vector.

Definition at line 88 of file matrix3.h.

 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 120 of file matrix3.h.

 void csMatrix3::Set ( csMatrix3 const & o ) ` [inline]`

Set matrix values.

Definition at line 130 of file matrix3.h.

 void csMatrix3::Set ( const csQuaternion & )

Initialize matrix with a quaternion.

 void csMatrix3::Transpose ( ) ` [inline]`

Transpose this matrix.

Definition at line 220 of file matrix3.h.

## Friends And Related Function Documentation

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

Check if two matricies are not equal.

Definition at line 358 of file matrix3.h.

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

Multiply two matricies.

Definition at line 295 of file matrix3.h.

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

Multiply a vector by a matrix (transform it).

Definition at line 310 of file matrix3.h.

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

Multiply a matrix and a scalar.

Definition at line 318 of file matrix3.h.

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

Multiply a matrix and a scalar.

Definition at line 327 of file matrix3.h.

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

Definition at line 277 of file matrix3.h.

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

Subtract two matricies.

Definition at line 286 of file matrix3.h.

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

Divide a matrix by a scalar.

Definition at line 336 of file matrix3.h.

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

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

Definition at line 367 of file matrix3.h.

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

Check if two matricies are equal.

Definition at line 346 of file matrix3.h.

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

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

Definition at line 375 of file matrix3.h.

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

Generated for Crystal Space 1.4.1 by doxygen 1.7.1