# csMatrix2 Class Reference [Geometry utilities]

A 2x2 matrix. More...

`#include <csgeom/matrix2.h>`

List of all members.

## Public Member Functions

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

## Friends

csMatrix2 operator* (float f, const csMatrix2 &m)
Multiply a matrix and a scalar.
csMatrix2 operator* (const csMatrix2 &m, float f)
Multiply a matrix and a scalar.
csVector2 operator* (const csMatrix2 &m, const csVector2 &v)
Multiply a vector by a matrix (transform it).
csMatrix2 operator* (const csMatrix2 &m1, const csMatrix2 &m2)
Multiply two matricies.
csMatrix2 operator+ (const csMatrix2 &m1, const csMatrix2 &m2)
csMatrix2 operator- (const csMatrix2 &m1, const csMatrix2 &m2)
Subtract two matricies.
csMatrix2 operator/ (const csMatrix2 &m, float f)
Divide a matrix by a scalar.

## Detailed Description

A 2x2 matrix.

Definition at line 35 of file matrix2.h.

## Constructor & Destructor Documentation

 csMatrix2::csMatrix2 ( ) ` [inline]`

Construct a matrix, initialized to be the identity.

Definition at line 43 of file matrix2.h.

 csMatrix2::csMatrix2 ( float m11, float m12, float m21, float m22 ) ` [inline]`

Construct a matrix and initialize it.

Definition at line 48 of file matrix2.h.

## Member Function Documentation

 csVector2 csMatrix2::Col1 ( ) const` [inline]`

Get the first column of this matrix as a vector.

Definition at line 63 of file matrix2.h.

 csVector2 csMatrix2::Col2 ( ) const` [inline]`

Get the second column of this matrix as a vector.

Definition at line 67 of file matrix2.h.

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

Compute the determinant of this matrix.

Definition at line 159 of file matrix2.h.

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

Return the inverse of this matrix.

Definition at line 147 of file matrix2.h.

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

Return the transpose of this matrix.

Definition at line 141 of file matrix2.h.

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

Set this matrix to the identity matrix.

Definition at line 163 of file matrix2.h.

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

Invert this matrix.

Definition at line 155 of file matrix2.h.

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

Multiply this matrix with a scalar.

Definition at line 106 of file matrix2.h.

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

Multiply another matrix with this matrix.

Definition at line 95 of file matrix2.h.

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

Unary + operator.

Definition at line 123 of file matrix2.h.

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

Add another matrix to this matrix.

Definition at line 79 of file matrix2.h.

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

Unary - operator.

Definition at line 127 of file matrix2.h.

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

Subtract another matrix from this matrix.

Definition at line 87 of file matrix2.h.

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

Divide this matrix by a scalar.

Definition at line 114 of file matrix2.h.

 csVector2 csMatrix2::Row1 ( ) const` [inline]`

Get the first row of this matrix as a vector.

Definition at line 55 of file matrix2.h.

 csVector2 csMatrix2::Row2 ( ) const` [inline]`

Get the second row of this matrix as a vector.

Definition at line 59 of file matrix2.h.

 void csMatrix2::Set ( float m11, float m12, float m21, float m22 ) ` [inline]`

Set matrix values.

Definition at line 71 of file matrix2.h.

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

Transpose this matrix.

Definition at line 133 of file matrix2.h.

## Friends And Related Function Documentation

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

Multiply a matrix and a scalar.

Definition at line 204 of file matrix2.h.

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

Multiply a matrix and a scalar.

Definition at line 200 of file matrix2.h.

 csVector2 operator* ( const csMatrix2 & m, const csVector2 & v ) ` [friend]`

Multiply a vector by a matrix (transform it).

Definition at line 196 of file matrix2.h.

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

Multiply two matricies.

Definition at line 186 of file matrix2.h.

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

Definition at line 170 of file matrix2.h.

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

Subtract two matricies.

Definition at line 178 of file matrix2.h.

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

Divide a matrix by a scalar.

Definition at line 208 of file matrix2.h.

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

Generated for Crystal Space 2.1 by doxygen 1.6.1