CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

csMatrix3 Class Reference
[Geometry utilities]

A 3x3 matrix. More...

#include <matrix3.h>

Inheritance diagram for csMatrix3:

csXRotMatrix3 csXScaleMatrix3 csYRotMatrix3 csYScaleMatrix3 csZRotMatrix3 csZScaleMatrix3 List of all members.

Public Methods

 csMatrix3 ()
 Construct a matrix, initialized to be the identity.

 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 (csMatrix3 const &o)
 Copy constructor.

 csMatrix3 (float x, float y, float z, float angle)
 Construct a matrix from axis-angle specifier.

 csMatrix3 (const csQuaternion &quat)
 Construct a matrix with a quaternion.

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.

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.

void Set (float o11, float o12, float o13, float o21, float o22, float o23, float o31, float o32, float o33)
 Set matrix values.

void Set (const csQuaternion &)
 Initialize matrix with a quaternion.

csMatrix3 & operator= (const csMatrix3 &o)
 Assign another matrix to this one.

csMatrix3 & operator+= (const csMatrix3 &)
 Add another matrix to this matrix.

csMatrix3 & operator-= (const csMatrix3 &)
 Subtract another matrix from this matrix.

csMatrix3 & operator *= (const csMatrix3 &)
 Multiply another matrix with this matrix.

csMatrix3 & operator *= (float)
 Multiply this matrix with a scalar.

csMatrix3 & operator/= (float)
 Divide this matrix by a scalar.

csMatrix3 operator+ () const
 Unary + operator.

csMatrix3 operator- () const
 Unary - operator.

void Transpose ()
 Transpose this matrix.

csMatrix3 GetTranspose () const
 Return the transpose of this matrix.

csMatrix3 GetInverse () const
 Return the inverse of this matrix.

void Invert ()
 Invert this matrix.

float Determinant () const
 Compute the determinant of this matrix.

void Identity ()
 Set this matrix to the identity matrix.

bool IsIdentity () const
 Check if the matrix is identity.


Friends

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 &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 &m, float f)
 Divide a matrix by a scalar.

bool operator== (const csMatrix3 &m1, const csMatrix3 &m2)
 Check if two matricies are equal.

bool operator!= (const csMatrix3 &m1, const csMatrix3 &m2)
 Check if two matricies are not equal.

bool operator< (const csMatrix3 &m, float f)
 Test if each component of a matrix is less than a small epsilon value.

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


Constructor & Destructor Documentation

csMatrix3::csMatrix3   [inline]
 

Construct a matrix, initialized to be the identity.

Definition at line 51 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 58 of file matrix3.h.

csMatrix3::csMatrix3 csMatrix3 const &    o [inline]
 

Copy constructor.

Definition at line 67 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::Col1   const [inline]
 

Get the first column of this matrix as a vector.

Definition at line 85 of file matrix3.h.

csVector3 csMatrix3::Col2   const [inline]
 

Get the second column of this matrix as a vector.

Definition at line 88 of file matrix3.h.

csVector3 csMatrix3::Col3   const [inline]
 

Get the third column of this matrix as a vector.

Definition at line 91 of file matrix3.h.

float csMatrix3::Determinant  
 

Compute the determinant of this matrix.

csMatrix3 csMatrix3::GetInverse   const [inline]
 

Return the inverse of this matrix.

Definition at line 148 of file matrix3.h.

References m11, m21, and m31.

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

csMatrix3 csMatrix3::GetTranspose  
 

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

bool csMatrix3::IsIdentity  
 

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 132 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 134 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 114 of file matrix3.h.

csVector3 csMatrix3::Row1   const [inline]
 

Get the first row of this matrix as a vector.

Definition at line 76 of file matrix3.h.

csVector3 csMatrix3::Row2   const [inline]
 

Get the second row of this matrix as a vector.

Definition at line 79 of file matrix3.h.

csVector3 csMatrix3::Row3   const [inline]
 

Get the third row of this matrix as a vector.

Definition at line 82 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 94 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 182 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:
Generated for Crystal Space by doxygen 1.2.18