# b2Mat22 Struct Reference

A 2-by-2 matrix. Stored in column-major order. More...

`#include <b2Math.h>`

List of all members.

## Public Member Functions
| b2Mat22 ()
| The default constructor does nothing (for performance).
| b2Mat22 (const b2Vec2 &c1, const b2Vec2 &c2)
| Construct this matrix using columns.
| b2Mat22 (float32 a11, float32 a12, float32 a21, float32 a22)
| Construct this matrix using scalars.
| b2Mat22 (float32 angle)
void | Set (const b2Vec2 &c1, const b2Vec2 &c2)
| Initialize this matrix using columns.
void | Set (float32 angle)
void | SetIdentity ()
| Set this to the identity matrix.
void | SetZero ()
| Set this matrix to all zeros.
float32 | GetAngle () const
b2Mat22 | GetInverse () const
b2Vec2 | Solve (const b2Vec2 &b) const
## Public Attributes
b2Vec2 | col1
b2Vec2 | col2

## Detailed Description

A 2-by-2 matrix. Stored in column-major order.

## Constructor & Destructor Documentation

b2Mat22::b2Mat22 | ( |  | ) | `[inline]`

The default constructor does nothing (for performance).

b2Mat22::b2Mat22 | ( | const b2Vec2 & | c1,
|  | const b2Vec2 & | c2 |
| ) |  |  | `[inline]`

Construct this matrix using columns.

b2Mat22::b2Mat22 | ( | float32 | a11,
|  | float32 | a12,
|  | float32 | a21,
|  | float32 | a22 |
| ) |  |  | `[inline]`

Construct this matrix using scalars.

b2Mat22::b2Mat22 | ( | float32 | angle | ) | `[inline, explicit]`

Construct this matrix using an angle. This matrix becomes an orthonormal rotation matrix.

## Member Function Documentation

float32 b2Mat22::GetAngle | ( |  | ) | const`[inline]`

Extract the angle from this matrix (assumed to be a rotation matrix).

b2Mat22 b2Mat22::GetInverse | ( |  | ) | const`[inline]`

void b2Mat22::Set | ( | float32 | angle | ) | `[inline]`

Initialize this matrix using an angle. This matrix becomes an orthonormal rotation matrix.

void b2Mat22::Set | ( | const b2Vec2 & | c1,
|  | const b2Vec2 & | c2 |
| ) |  |  | `[inline]`

Initialize this matrix using columns.

void b2Mat22::SetIdentity | ( |  | ) | `[inline]`

Set this to the identity matrix.

void b2Mat22::SetZero | ( |  | ) | `[inline]`

Set this matrix to all zeros.

b2Vec2 b2Mat22::Solve | ( | const b2Vec2 & | b | ) | const`[inline]`

Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

## Member Data Documentation

b2Vec2 b2Mat22::col1

b2Vec2 b2Mat22::col2

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

- Box2D/Box2D/Common/b2Math.h