A 4x4 matrix math class for the representation of full transforms. More...
#include <matrix4x4.h>
Public Member Functions | |
| Matrix4x4 () | |
| Non-Initialization constructor. | |
| Matrix4x4 (const Real &XX, const Real &XY, const Real &XZ, const Real &XW, const Real &YX, const Real &YY, const Real &YZ, const Real &YW, const Real &ZX, const Real &ZY, const Real &ZZ, const Real &ZW, const Real &WX, const Real &WY, const Real &WZ, const Real &WW) | |
| Explict Initialization constructor. More... | |
| Matrix4x4 (const Ogre::Matrix4 &Mat) | |
| Ogre Matrix Initialization constructor. More... | |
| Matrix4x4 (const Vector3 &Position, const Vector3 &Scale, const Quaternion &Rotation) | |
| Transform Information Initialization constructor. More... | |
| ~Matrix4x4 () | |
| Class destructor. | |
| Matrix4x4 | Adjoint () const |
| Gets the Adjoint of this Matrix. More... | |
| Matrix4x4 | Concatenate (const Matrix4x4 &Mat) const |
| Combines the translation/rotation of two Matricies. More... | |
| void | ExtractOgreMatrix4x4 (const Ogre::Matrix4 &temp) |
| Gets the data from an Ogre Matrix4x4 and applies it to this. More... | |
| Real | GetDeterminant () const |
| Gets the Determinant of this Matrix. More... | |
| Ogre::Matrix4 | GetOgreMatrix4x4 () const |
| Gets an Ogre copy of this Matrix4x4. More... | |
| Matrix3x3 | GetRotationAsMatrix3x3 () const |
| Gets the rotation portion of this Matrix as a Matrix3x3. More... | |
| Quaternion | GetRotationAsQuaternion () const |
| Gets the rotation portion of this Matrix as a Quaternion. More... | |
| Matrix4x4 | Inverse () const |
| Gets the Inverse of this Matrix. More... | |
| Real | Minor (const Whole &Row1, const Whole &Row2, const Whole &Row3, const Whole &Col1, const Whole &Col2, const Whole &Col3) const |
| Gets the Minor of the specified rows/columns of this Matrix. More... | |
| Boole | operator!= (const Matrix4x4 &Other) const |
| Inequality comparison operator. More... | |
| Matrix4x4 | operator* (const Matrix4x4 &Other) const |
| Multiplication operator. More... | |
| Vector3 | operator* (const Vector3 &Vec) const |
| Multiply by Vector3 operator. More... | |
| Matrix4x4 | operator* (const Real &Scalar) const |
| Multiply by Real operator. More... | |
| Matrix4x4 & | operator*= (const Matrix4x4 &Other) |
| Multiplication Assignment operator. More... | |
| Matrix4x4 & | operator*= (const Real &Scalar) |
| Multiply Assignment by Real operator. More... | |
| Matrix4x4 | operator+ (const Matrix4x4 &Other) const |
| Addition operator. More... | |
| Matrix4x4 & | operator+= (const Matrix4x4 &Other) |
| Addition Assignment operator. More... | |
| Matrix4x4 | operator- (const Matrix4x4 &Other) const |
| Subtraction operator. More... | |
| Matrix4x4 & | operator-= (const Matrix4x4 &Other) |
| Subtraction Assignment operator. More... | |
| void | operator= (const Matrix4x4 &Other) |
| Assignment operator. More... | |
| void | operator= (const Matrix3x3 &Other) |
| Assignment operator. More... | |
| Boole | operator== (const Matrix4x4 &Other) const |
| Equality comparison operator. More... | |
| void | ProtoDeSerialize (const XML::Node &OneNode) |
| Take the data stored in an XML and overwrite this instance of this object with it. More... | |
| void | ProtoSerialize (XML::Node &CurrentRoot) const |
| Convert this class to an XML::Node ready for serialization. More... | |
| void | SetIdentity () |
| Sets all values in this Matrix to Identity values. More... | |
| void | SetTransform (const Vector3 &Position, const Vector3 &Scale, const Quaternion &Rotation) |
| Sets the Matrix based on a provided position, scale, and rotation. More... | |
| void | SetValues (const Real &XX, const Real &XY, const Real &XZ, const Real &XW, const Real &YX, const Real &YY, const Real &YZ, const Real &YW, const Real &ZX, const Real &ZY, const Real &ZZ, const Real &ZW, const Real &WX, const Real &WY, const Real &WZ, const Real &WW) |
| Sets the values for every number in the matrix. | |
| void | SetZero () |
| Sets all values in this Matrix to zero. | |
| Matrix4x4 | Transpose () const |
| Gets the Transpose of this Matrix. More... | |
Static Public Member Functions | |
| static String | GetSerializableName () |
| Get the name of the the XML tag this class will leave behind as its instances are serialized. More... | |
Public Attributes | |
| Real | Matrix [4][4] |
| The bigger Matrix. Fo' Reals. | |
A 4x4 matrix math class for the representation of full transforms.
4x4 matricies are commonly used by graphics subsystems.
Definition at line 59 of file matrix4x4.h.
| Mezzanine::Matrix4x4::Matrix4x4 | ( | const Real & | XX, |
| const Real & | XY, | ||
| const Real & | XZ, | ||
| const Real & | XW, | ||
| const Real & | YX, | ||
| const Real & | YY, | ||
| const Real & | YZ, | ||
| const Real & | YW, | ||
| const Real & | ZX, | ||
| const Real & | ZY, | ||
| const Real & | ZZ, | ||
| const Real & | ZW, | ||
| const Real & | WX, | ||
| const Real & | WY, | ||
| const Real & | WZ, | ||
| const Real & | WW | ||
| ) |
Explict Initialization constructor.
Provides initialization for every number in the matrix.
Definition at line 59 of file matrix4x4.cpp.
| Mezzanine::Matrix4x4::Matrix4x4 | ( | const Ogre::Matrix4 & | Mat | ) |
Ogre Matrix Initialization constructor.
| Mat | The Ogre Matrix to build this Matrix from. |
Definition at line 63 of file matrix4x4.cpp.
| Mezzanine::Matrix4x4::Matrix4x4 | ( | const Vector3 & | Position, |
| const Vector3 & | Scale, | ||
| const Quaternion & | Rotation | ||
| ) |
Transform Information Initialization constructor.
| Position | The position of the transform. |
| Scale | The scale of the transform. |
| Rotation | The rotation of the transform. |
Definition at line 66 of file matrix4x4.cpp.
| Matrix4x4 Mezzanine::Matrix4x4::Adjoint | ( | ) | const |
Gets the Adjoint of this Matrix.
Definition at line 379 of file matrix4x4.cpp.
Combines the translation/rotation of two Matricies.
| Mat | The other Matrix to combine with this. |
Definition at line 449 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::ExtractOgreMatrix4x4 | ( | const Ogre::Matrix4 & | temp | ) |
Gets the data from an Ogre Matrix4x4 and applies it to this.
| temp | The Matrix4x4 to copy from. |
Definition at line 150 of file matrix4x4.cpp.
| Real Mezzanine::Matrix4x4::GetDeterminant | ( | ) | const |
Gets the Determinant of this Matrix.
Definition at line 114 of file matrix4x4.cpp.
| Ogre::Matrix4 Mezzanine::Matrix4x4::GetOgreMatrix4x4 | ( | ) | const |
| Matrix3x3 Mezzanine::Matrix4x4::GetRotationAsMatrix3x3 | ( | ) | const |
Gets the rotation portion of this Matrix as a Matrix3x3.
Definition at line 133 of file matrix4x4.cpp.
| Quaternion Mezzanine::Matrix4x4::GetRotationAsQuaternion | ( | ) | const |
Gets the rotation portion of this Matrix as a Quaternion.
Definition at line 127 of file matrix4x4.cpp.
|
static |
Get the name of the the XML tag this class will leave behind as its instances are serialized.
Definition at line 589 of file matrix4x4.cpp.
| Matrix4x4 Mezzanine::Matrix4x4::Inverse | ( | ) | const |
Gets the Inverse of this Matrix.
Definition at line 387 of file matrix4x4.cpp.
| Real Mezzanine::Matrix4x4::Minor | ( | const Whole & | Row1, |
| const Whole & | Row2, | ||
| const Whole & | Row3, | ||
| const Whole & | Col1, | ||
| const Whole & | Col2, | ||
| const Whole & | Col3 | ||
| ) | const |
Gets the Minor of the specified rows/columns of this Matrix.
| Row1 | Row for the first Real of the calculated minor. |
| Row2 | Row for the second Real of the calculated minor. |
| Row3 | Row for the third Real of the calculated minor. |
| Col1 | Column for the first Real of the calculated minor. |
| Col2 | Column for the second Real of the calculated minor. |
| Col3 | Column for the third Real of the calculated minor. |
Definition at line 475 of file matrix4x4.cpp.
Inequality comparison operator.
| Other | The other Matrix4x4 to compare against. |
Definition at line 182 of file matrix4x4.cpp.
Multiplication operator.
| Other | The other Matrix4x4 to multiply this by. |
Definition at line 252 of file matrix4x4.cpp.
Multiply by Vector3 operator.
| Vec | The Vector to be rotated. |
Definition at line 316 of file matrix4x4.cpp.
Multiply by Real operator.
| Scalar | The Real to multiply each member of this Matrix by. |
Definition at line 329 of file matrix4x4.cpp.
Multiplication Assignment operator.
| Other | The other Matrix4x4 to add to this. |
Definition at line 307 of file matrix4x4.cpp.
Multiply Assignment by Real operator.
| Scalar | The Real to multiply each member of this Matrix by. |
Definition at line 338 of file matrix4x4.cpp.
Addition operator.
| Other | The other Matrix4x4 to add to this. |
Definition at line 198 of file matrix4x4.cpp.
Addition Assignment operator.
| Other | The other Matrix4x4 to add to this. |
Definition at line 257 of file matrix4x4.cpp.
Subtraction operator.
| Other | The other Matrix4x4 to subtract from this. |
Definition at line 225 of file matrix4x4.cpp.
Subtraction Assignment operator.
| Other | The other Matrix4x4 to subtract from this. |
Definition at line 282 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::operator= | ( | const Matrix4x4 & | Other | ) |
Assignment operator.
| Other | The other Matrix4x4 to copy from. |
Definition at line 350 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::operator= | ( | const Matrix3x3 & | Other | ) |
Assignment operator.
This will copy the rotation portions of the other Matrix into this Matrix.
| Other | The other Matrix3x3 to copy from. |
Definition at line 361 of file matrix4x4.cpp.
Equality comparison operator.
| Other | The other Matrix4x4 to compare against. |
Definition at line 169 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::ProtoDeSerialize | ( | const XML::Node & | OneNode | ) |
Take the data stored in an XML and overwrite this instance of this object with it.
| OneNode | and XML::Node containing the data. |
Definition at line 513 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::ProtoSerialize | ( | XML::Node & | CurrentRoot | ) | const |
Convert this class to an XML::Node ready for serialization.
Definition at line 485 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::SetIdentity | ( | ) |
Sets all values in this Matrix to Identity values.
Identity values for a 4x4 matrix is all zeros except for the values at [0][0], [1][1], [2][2], [3][3], which are set to one.
Definition at line 95 of file matrix4x4.cpp.
| void Mezzanine::Matrix4x4::SetTransform | ( | const Vector3 & | Position, |
| const Vector3 & | Scale, | ||
| const Quaternion & | Rotation | ||
| ) |
Sets the Matrix based on a provided position, scale, and rotation.
| Position | The position of the transform. |
| Scale | The scale of the transform. |
| Rotation | The rotation of the transform. |
Definition at line 84 of file matrix4x4.cpp.
| Matrix4x4 Mezzanine::Matrix4x4::Transpose | ( | ) | const |
Gets the Transpose of this Matrix.
Definition at line 371 of file matrix4x4.cpp.
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.