A 2-by-2 matrix. Stored in column-major order. More...
#include <b2Math.h>
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 |
A 2-by-2 matrix. Stored in column-major order.
b2Mat22::b2Mat22 | ( | ) | [inline] |
The default constructor does nothing (for performance).
Construct this matrix using columns.
Construct this matrix using scalars.
b2Mat22::b2Mat22 | ( | float32 | angle | ) | [inline, explicit] |
Construct this matrix using an angle. This matrix becomes an orthonormal rotation matrix.
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.
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.
Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.