# 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.

float m11
float m12
float m21
float m22

## 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 37 of file matrix2.h.

## Constructor & Destructor Documentation

 csMatrix2::csMatrix2 ( )

Construct a matrix, initialized to be the identity.

 csMatrix2::csMatrix2 ( float m11, float m12, float m21, float m22 )

Construct a matrix and initialize it.

## Member Function Documentation

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

Get the first column of this matrix as a vector.

Definition at line 58 of file matrix2.h.

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

Get the second column of this matrix as a vector.

Definition at line 61 of file matrix2.h.

 float csMatrix2::Determinant ( ) const

Compute the determinant of this matrix.

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

Return the inverse of this matrix.

Definition at line 101 of file matrix2.h.

 csMatrix2 csMatrix2::GetTranspose ( ) const

Return the transpose of this matrix.

 void csMatrix2::Identity ( )

Set this matrix to the identity matrix.

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

Invert this matrix.

Definition at line 109 of file matrix2.h.

 csMatrix2& csMatrix2::operator *= ( float s )

Multiply this matrix with a scalar.

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

Multiply another matrix with this matrix.

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

Unary + operator.

Definition at line 87 of file matrix2.h.

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

Add another matrix to this matrix.

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

Unary - operator.

Definition at line 89 of file matrix2.h.

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

Subtract another matrix from this matrix.

 csMatrix2& csMatrix2::operator/= ( float s )

Divide this matrix by a scalar.

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

Get the first row of this matrix as a vector.

Definition at line 52 of file matrix2.h.

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

Get the second row of this matrix as a vector.

Definition at line 55 of file matrix2.h.

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

Set matrix values.

Definition at line 64 of file matrix2.h.

References m11, m12, m21, and m22.

 void csMatrix2::Transpose ( )

Transpose this matrix.

## Friends And Related Function Documentation

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

Multiply a matrix and a scalar.

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

Multiply a matrix and a scalar.

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

Multiply a vector by a matrix (transform it).

Definition at line 128 of file matrix2.h.

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

Multiply two matricies.

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

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