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.