|
| Matrix4 () |
| Default constructor. More...
|
|
| Matrix4 (float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33) |
|
| Matrix4 (const Matrix3 &m3x3) |
| Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling 3x3 matrix.
|
|
| Matrix4 (const DeviceMatrix &mat) |
|
| Matrix4 (const QMatrix &mat2DAffine) |
| convert from 2d affine matrix. More...
|
|
| Matrix4 (const Quaternion &rot) |
| Creates a standard 4x4 transformation matrix with a zero translation part from a rotation/scaling Quaternion.
|
|
void | identity () |
| make this identity
|
|
float * | operator[] (size_t iRow) |
|
const float *const | operator[] (size_t iRow) const |
|
Matrix4 | operator* (const Matrix4 &m2) const |
| Matrix4 concatenation using '*'.
|
|
Matrix4 | Multiply4x3 (const Matrix4 &m2) const |
| we will assume both matrix are row-major affine matrix. More...
|
|
void | operator*= (const Matrix4 &m2) |
|
Vector3 | operator* (const Vector3 &v) const |
| Vector transformation using '*'. More...
|
|
Vector4 | operator* (const Vector4 &v) const |
|
Plane | operator* (const Plane &p) const |
|
Matrix4 | operator+ (const Matrix4 &m2) const |
| Matrix4 addition.
|
|
Matrix4 & | operator+= (const Matrix4 &m2) |
|
Matrix4 | operator- (const Matrix4 &m2) const |
| Matrix4 subtraction.
|
|
Matrix4 & | operator-= (const Matrix4 &m2) |
|
bool | operator== (const Matrix4 &m2) const |
| Tests 2 matrices for equality.
|
|
bool | operator!= (const Matrix4 &m2) const |
| Tests 2 matrices for inequality.
|
|
void | operator= (const Matrix3 &mat3) |
| Assignment from 3x3 matrix.
|
|
Matrix4 | transpose (void) const |
|
void | offsetTrans (const Vector3 &v) |
|
void | setTrans (const Vector3 &v) |
| Sets the translation transformation part of the matrix.
|
|
Vector3 | getTrans () const |
| Extracts the translation transformation part of the matrix.
|
|
void | makeTrans (const Vector3 &v) |
| Builds a translation matrix.
|
|
void | makeTrans (float tx, float ty, float tz) |
|
void | setScale (const Vector3 &v) |
| Sets the scale part of the matrix.
|
|
void | makeScale (float s_x, float s_y, float s_z) |
| Gets a scale matrix - variation for not using a vector.
|
|
void | makeScale (const Vector3 &v) |
|
void | extract3x3Matrix (Matrix3 &m3x3) const |
| Extracts the rotation / scaling part of the Matrix4 as a 3x3 matrix. More...
|
|
bool | hasScale () const |
| Determines if this matrix involves a scaling. More...
|
|
bool | hasNegativeScale () const |
| Determines if this matrix involves a negative scaling. More...
|
|
Quaternion | extractQuaternion () const |
| Extracts the rotation / scaling part as a quaternion from the Matrix4.
|
|
Matrix4 | operator* (float scalar) const |
|
Matrix4 | adjoint () const |
|
float | determinant () const |
|
Matrix4 | inverse () const |
|
void | invert () |
|
Matrix4 | InvertPRMatrix () const |
| Inverts a PR matrix. More...
|
|
void | makeTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation) |
| Building a Matrix4 from orientation / scale / position. More...
|
|
void | makeRot (const Quaternion &orientation, const Vector3 &origin) |
| make rotation matrix
|
|
void | makeInverseTransform (const Vector3 &position, const Vector3 &scale, const Quaternion &orientation) |
| Building an inverse Matrix4 from orientation / scale / position. More...
|
|
bool | isAffine (void) const |
| Check whether or not the matrix is affine row-major matrix. More...
|
|
bool | isAffineColumnMajor (void) const |
|
Vector3 | transformAffine (const Vector3 &v) const |
| Column vector: 3-D Vector transformation specially for affine matrix. More...
|
|
Vector4 | transformAffine (const Vector4 &v) const |
| Column vector: 4-D Vector transformation specially for affine matrix. More...
|
|
void | RemoveScaling (float Tolerance=SMALL_NUMBER) |
|
Matrix4 | GetMatrixWithoutScale (float Tolerance=SMALL_NUMBER) const |
|
Vector3 | ExtractScaling (float Tolerance=SMALL_NUMBER) |
| Remove any scaling from this matrix (ie magnitude of each row is 1) and return the 3D scale vector that was initially present. More...
|
|
Vector3 | GetScaleVector (float Tolerance=SMALL_NUMBER) const |
| return a 3D scale vector calculated from this matrix (where each component is the magnitude of a row vector). More...
|
|
float | GetScaleByAxis (int axis, float Tolerance=SMALL_NUMBER) const |
|
Matrix4 | RemoveTranslation () const |
|
DeviceMatrix_ptr | GetPointer () |
|
const DeviceMatrix_ptr | GetConstPointer () const |
|
Class encapsulating a standard 4x4 homogeneous matrix.
- ParaEngine deals with the differences between D3D and OpenGL etc. internally when operating through different render systems.
- matrix is indexed first by row and then by column.