|
AeonGUI
A portable video game graphic user interface library.
|
2x3 affine transformation matrix. More...
#include <aeongui/Matrix2x3.hpp>
Public Member Functions | |
| Matrix2x3 () | |
| Default constructor. Initializes to the identity matrix. | |
| Matrix2x3 (double xx, double yx, double xy, double yy, double x0, double y0) | |
| Construct from individual matrix elements. | |
| Matrix2x3 (const std::array< const double, 6 > aMatrixArray) | |
| Construct from an array of 6 doubles. | |
| Matrix2x3 (double aRotation) | |
| Construct a rotation matrix. | |
| Matrix2x3 (const Vector2 &aScale) | |
| Construct a scale matrix. | |
| Matrix2x3 (const Vector2 &aScale, double aRotation) | |
| Construct a scale-rotation matrix. | |
| Matrix2x3 (const Vector2 &aScale, double aRotation, const Vector2 &aTranslation) | |
| Construct a full scale-rotation-translation matrix. | |
| Matrix2x3 & | operator*= (const Matrix2x3 &aRight) |
| Multiply this matrix by another (post-multiply). | |
| const double & | operator[] (size_t aIndex) const |
| Access a matrix element by index. | |
2x3 affine transformation matrix.
Represents a 2D affine transform as a 2x3 matrix of the form:
Supports construction from scale, rotation, and translation components.
| AeonGUI::Matrix2x3::Matrix2x3 | ( | double | xx, |
| double | yx, | ||
| double | xy, | ||
| double | yy, | ||
| double | x0, | ||
| double | y0 ) |
Construct from individual matrix elements.
| xx | Row 0, column 0. |
| yx | Row 0, column 1. |
| xy | Row 1, column 0. |
| yy | Row 1, column 1. |
| x0 | Translation X. |
| y0 | Translation Y. |
| AeonGUI::Matrix2x3::Matrix2x3 | ( | const std::array< const double, 6 > | aMatrixArray | ) |
Construct from an array of 6 doubles.
| aMatrixArray | Array in row-major order {xx, yx, xy, yy, x0, y0}. |
| AeonGUI::Matrix2x3::Matrix2x3 | ( | double | aRotation | ) |
Construct a rotation matrix.
| aRotation | Rotation angle in radians. |
| AeonGUI::Matrix2x3::Matrix2x3 | ( | const Vector2 & | aScale | ) |
Construct a scale matrix.
| aScale | Scale factors for each axis. |
| AeonGUI::Matrix2x3::Matrix2x3 | ( | const Vector2 & | aScale, |
| double | aRotation ) |
Construct a scale-rotation matrix.
| aScale | Scale factors for each axis. |
| aRotation | Rotation angle in radians. |
| AeonGUI::Matrix2x3::Matrix2x3 | ( | const Vector2 & | aScale, |
| double | aRotation, | ||
| const Vector2 & | aTranslation ) |
Construct a full scale-rotation-translation matrix.
| aScale | Scale factors for each axis. |
| aRotation | Rotation angle in radians. |
| aTranslation | Translation vector. |
Multiply this matrix by another (post-multiply).
| aRight | The right-hand-side matrix. |
| const double & AeonGUI::Matrix2x3::operator[] | ( | size_t | aIndex | ) | const |
Access a matrix element by index.
| aIndex | Element index [0..5]. |