| ## Public API Reference

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

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

# 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.
csDMatrix3 & | operator *= (double s)
| Multiply this matrix with a scalar.
csDMatrix3 & | operator *= (const csDMatrix3 &m)
| Multiply another matrix with this matrix.
csDMatrix3 | operator+ () const
| Unary + operator.
csDMatrix3 & | operator+= (const csDMatrix3 &m)
| Add another matrix to this matrix.
csDMatrix3 | operator- () const
| Unary - operator.
csDMatrix3 & | operator-= (const csDMatrix3 &m)
| Subtract another matrix from this matrix.
csDMatrix3 & | operator/= (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.
## Public Attributes
double | m11
double | m12
double | m13
double | m21
double | m22
double | m23
double | m31
double | m32
double | m33
## Friends
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.
bool | operator!= (const csDMatrix3 &m1, const csDMatrix3 &m2)
| Check if two matricies are not equal.
csDMatrix3 | operator+ (const csDMatrix3 &m1, const csDMatrix3 &m2)
| Add two matricies.
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.

References m11, m21, and m31.

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.

References m11, m12, m13, m21, m22, m23, m31, m32, and m33.

void csDMatrix3::Transpose | ( |  | ) |

Transpose this matrix.

## Friends And Related Function Documentation

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.

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

Check if two matricies are not equal.

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

Add two matricies.

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:

- csgeom/math3d_d.h