Compacted affine matrix for 2D operations. More...
Public Member Functions | |
AffineMatrix2D (Matrix2D m, Point2Dd p) | |
Define an affine matrix. More... | |
void | Invert () |
Invert this affine transformation in-place if possible. More... | |
AffineMatrix2D | Inverse () |
Gets the inverse of this affine transformation if possible. More... | |
override string | ToString () |
String conversion. More... | |
Static Public Member Functions | |
static AffineMatrix2D | operator* (AffineMatrix2D lhs, AffineMatrix2D rhs) |
Compose two affine matrices by multiplying them. More... | |
Static Public Attributes | |
static readonly AffineMatrix2D | Identity = new AffineMatrix2D(Matrix2D.Identity, Point2Dd.Empty) |
The identity element. | |
Properties | |
Point2Dd | Translation [get, set] |
The translation part of the affine matrix. | |
Matrix2D | Matrix [get, set] |
The transformation part of the affine matrix. | |
double | this[int row, int column] [get, set] |
Index access. More... | |
bool | IsTranslation [get] |
True if this affine matrix corresponds to a pure translation, false otherwise. | |
Compacted affine matrix for 2D operations.
The third line is assumed to be 0, 0, 1.
AffineMatrix2D | ( | Matrix2D | m, |
Point2Dd | p | ||
) |
Define an affine matrix.
m | transformation part |
p | translation part |
AffineMatrix2D Inverse | ( | ) |
Gets the inverse of this affine transformation if possible.
DivideByZeroException | If the matrix cannot be inverted. |
void Invert | ( | ) |
Invert this affine transformation in-place if possible.
DivideByZeroException | If the matrix cannot be inverted. |
|
static |
Compose two affine matrices by multiplying them.
lhs | left hand side operand |
rhs | right hand side operand |
override string ToString | ( | ) |
String conversion.
|
getset |
Index access.
row | The row, or "Y" index to get. |
column | The column, or "X" index to get. |