# csDMatrix3 Class Reference [Geometry utilities]

A 3x3 matrix. More...

`#include <csgeom/math3d_d.h>`

List of all members.

## Public Member Functions

csDVector3 Col1 () const
Get the first column of this matrix as a vector.
csDVector3 Col2 () const
Get the second column of this matrix as a vector.
csDVector3 Col3 () const
Get the third column of this matrix as a vector.
csDMatrix3 (double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33)
Construct a matrix and initialize it.
csDMatrix3 ()
Construct a matrix, initialized to be the identity.
double Determinant () const
Compute the determinant of this matrix.
csDMatrix3 GetInverse () const
Return the inverse of this matrix.
csDMatrix3 GetTranspose () const
Return the transpose of this matrix.
void Identity ()
Set this matrix to the identity matrix.
void Invert ()
Invert this matrix.
csDMatrix3operator*= (double s)
Multiply this matrix with a scalar.
csDMatrix3operator*= (const csDMatrix3 &m)
Multiply another matrix with this matrix.
csDMatrix3 operator+ () const
Unary + operator.
csDMatrix3operator+= (const csDMatrix3 &m)
Add another matrix to this matrix.
csDMatrix3 operator- () const
Unary - operator.
csDMatrix3operator-= (const csDMatrix3 &m)
Subtract another matrix from this matrix.
csDMatrix3operator/= (double s)
Divide this matrix by a scalar.
csDVector3 Row1 () const
Get the first row of this matrix as a vector.
csDVector3 Row2 () const
Get the second row of this matrix as a vector.
csDVector3 Row3 () const
Get the third row of this matrix as a vector.
void Set (double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33)
Set matrix values.
void Transpose ()
Transpose this matrix.

## Friends

bool operator!= (const csDMatrix3 &m1, const csDMatrix3 &m2)
Check if two matricies are not equal.
csDMatrix3 operator* (double f, const csDMatrix3 &m)
Multiply a matrix and a scalar.
csDMatrix3 operator* (const csDMatrix3 &m, double f)
Multiply a matrix and a scalar.
csDVector3 operator* (const csDMatrix3 &m, const csDVector3 &v)
Multiply a vector by a matrix (transform it).
csDMatrix3 operator* (const csDMatrix3 &m1, const csDMatrix3 &m2)
Multiply two matricies.
csDMatrix3 operator+ (const csDMatrix3 &m1, const csDMatrix3 &m2)
csDMatrix3 operator- (const csDMatrix3 &m1, const csDMatrix3 &m2)
Subtract two matricies.
csDMatrix3 operator/ (const csDMatrix3 &m, double f)
Divide a matrix by a scalar.
bool operator< (const csDMatrix3 &m, double f)
Test if each component of a matrix is less than a small epsilon value.
bool operator== (const csDMatrix3 &m1, const csDMatrix3 &m2)
Check if two matricies are equal.
bool operator> (double f, const csDMatrix3 &m)
Test if each component of a matrix is greater than a small epsilon value.

## Detailed Description

A 3x3 matrix.

Definition at line 223 of file math3d_d.h.

## Constructor & Destructor Documentation

 csDMatrix3::csDMatrix3 ( )

Construct a matrix, initialized to be the identity.

 csDMatrix3::csDMatrix3 ( double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33 )

Construct a matrix and initialize it.

## Member Function Documentation

 csDVector3 csDMatrix3::Col1 ( ) const` [inline]`

Get the first column of this matrix as a vector.

Definition at line 249 of file math3d_d.h.

 csDVector3 csDMatrix3::Col2 ( ) const` [inline]`

Get the second column of this matrix as a vector.

Definition at line 252 of file math3d_d.h.

 csDVector3 csDMatrix3::Col3 ( ) const` [inline]`

Get the third column of this matrix as a vector.

Definition at line 255 of file math3d_d.h.

 double csDMatrix3::Determinant ( ) const

Compute the determinant of this matrix.

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

Return the inverse of this matrix.

Definition at line 299 of file math3d_d.h.

 csDMatrix3 csDMatrix3::GetTranspose ( ) const

Return the transpose of this matrix.

 void csDMatrix3::Identity ( )

Set this matrix to the identity matrix.

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

Invert this matrix.

Definition at line 313 of file math3d_d.h.

 csDMatrix3& csDMatrix3::operator*= ( double s )

Multiply this matrix with a scalar.

 csDMatrix3& csDMatrix3::operator*= ( const csDMatrix3 & m )

Multiply another matrix with this matrix.

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

Unary + operator.

Definition at line 283 of file math3d_d.h.

 csDMatrix3& csDMatrix3::operator+= ( const csDMatrix3 & m )

Add another matrix to this matrix.

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

Unary - operator.

Definition at line 285 of file math3d_d.h.

 csDMatrix3& csDMatrix3::operator-= ( const csDMatrix3 & m )

Subtract another matrix from this matrix.

 csDMatrix3& csDMatrix3::operator/= ( double s )

Divide this matrix by a scalar.

 csDVector3 csDMatrix3::Row1 ( ) const` [inline]`

Get the first row of this matrix as a vector.

Definition at line 240 of file math3d_d.h.

 csDVector3 csDMatrix3::Row2 ( ) const` [inline]`

Get the second row of this matrix as a vector.

Definition at line 243 of file math3d_d.h.

 csDVector3 csDMatrix3::Row3 ( ) const` [inline]`

Get the third row of this matrix as a vector.

Definition at line 246 of file math3d_d.h.

 void csDMatrix3::Set ( double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33 ) ` [inline]`

Set matrix values.

Definition at line 258 of file math3d_d.h.

 void csDMatrix3::Transpose ( )

Transpose this matrix.

## Friends And Related Function Documentation

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

Check if two matricies are not equal.

 csDMatrix3 operator* ( double f, const csDMatrix3 & m ) ` [friend]`

Multiply a matrix and a scalar.

 csDMatrix3 operator* ( const csDMatrix3 & m, double f ) ` [friend]`

Multiply a matrix and a scalar.

 csDVector3 operator* ( const csDMatrix3 & m, const csDVector3 & v ) ` [friend]`

Multiply a vector by a matrix (transform it).

Definition at line 329 of file math3d_d.h.

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

Multiply two matricies.

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

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

Subtract two matricies.

 csDMatrix3 operator/ ( const csDMatrix3 & m, double f ) ` [friend]`

Divide a matrix by a scalar.

 bool operator< ( const csDMatrix3 & m, double f ) ` [friend]`

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

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

Check if two matricies are equal.

 bool operator> ( double f, const csDMatrix3 & 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:

Generated for Crystal Space 2.0 by doxygen 1.6.1