14 #include "../G_Core/GSingleThreaded.h" 16 #include "GMathDefines.h" 25 static const GUUIID GMatrixUUIID =
27 0x3cca5fd9, 0x63aa, 0x48c1,{ 0x8c, 0x67, 0x36, 0xc6, 0x86, 0x9a, 0x6a, 0xff }
virtual GReturn RotationYawPitchRollF(float _yaw, float _pitch, float _roll, GMATRIXF &_outMatrix)=0
Builds a matrix based on specified yaw, pitch, and roll angles in radian.
GATEWARE_EXPORT_IMPLICIT GReturn CreateGMatrix(GMatrix **_outMatrix)
end GMatrix class
virtual GReturn InverseF(GMATRIXF _matrix, GMATRIXF &_outMatrix)=0
Inverse the specified matirx.
virtual GReturn ProjectionLHD(double _fovY, double _aspect, double _zn, double _zf, GMATRIXD &_outMatrix)=0
Builds a left-handed perspective matrix.
virtual GReturn RotationXD(GMATRIXD _matrix, double _radian, GMATRIXD &_outMatrix)=0
Roatate the specified matrix around the x-axis by multiplying a left-handed rotation matrix.
virtual GReturn VectorXMatrixF(GMATRIXF _matrix, GVECTORF _vector, GVECTORF &_outVector)=0
Multiply the specified matrix by the specified vector.
virtual GReturn GetRotationD(GMATRIXD _matrix, GQUATERNIOND &_outQuaternion)=0
Get the quaternion which represents the roataion of the specified matrix.
virtual GReturn LerpD(GMATRIXD _matrix1, GMATRIXD _matrix2, double _ratio, GMATRIXD &_outMatrix)=0
Linearly interpolates between two matrices.
virtual GReturn RotationByVectorF(GVECTORF _vector, float _radian, GMATRIXF &_outMatrix)=0
Builds a rotation matrix based on specified vector and an angle in radian.
virtual GReturn MultiplyMatrixF(GMATRIXF _matrix1, GMATRIXF _matrix2, GMATRIXF &_outMatrix)=0
Multiply two specified matirxs.
virtual GReturn GetScaleD(GMATRIXD _matrix, GVECTORD &_outMatrix)=0
Get the scaling matrix from the specified matrix.
virtual GReturn RotationZF(GMATRIXF _matrix, float _radian, GMATRIXF &_outMatrix)=0
Roatate the specified matrix around the z-axis by multiplying a left-handed rotation matrix.
virtual GReturn GetRotationF(GMATRIXF _matrix, GQUATERNIONF &_outQuaternion)=0
Get the quaternion which represents the roataion of the specified matrix.
virtual GReturn LookAtLHD(GVECTORD _eye, GVECTORD _at, GVECTORD _up, GMATRIXD &_outMatrix)=0
Builds a left-handed view matrix.
virtual GReturn RotationYF(GMATRIXF _matrix, float _radian, GMATRIXF &_outMatrix)=0
Roatate the specified matrix around the y-axis by multiplying a left-handed rotation matrix.
virtual GReturn LerpF(GMATRIXF _matrix1, GMATRIXF _matrix2, float _ratio, GMATRIXF &_outMatrix)=0
Linearly interpolates between two matrices.
virtual GReturn RotationZD(GMATRIXD _matrix, double _radian, GMATRIXD &_outMatrix)=0
Roatate the specified matrix around the z-axis by multiplying a left-handed rotation matrix.
Matrix functions.
Definition: GMatrix.h:34
Vector with 4 double elements.
Definition: GMathDefines.h:84
virtual GReturn SubtractMatrixD(GMATRIXD _matrix1, GMATRIXD _matrix2, GMATRIXD &_outMatrix)=0
Subtract two specified matirxs.
virtual GReturn TranslatelocalF(GMATRIXF _matrix, GVECTORF _vector, GMATRIXF &_outMatrix)=0
Translate the matrix by the specified vector.
virtual GReturn IdentityD(GMATRIXD &_outMatrix)=0
Identity the specified matrix.
virtual GReturn GetTranslationD(GMATRIXD _matrix, GVECTORD &_outMatrix)=0
Get the translation matrix from the specified matrix.
Quaternion with 4 float elements.
Definition: GMathDefines.h:132
Matrix with 4 double vectors which represent for each row.
Definition: GMathDefines.h:116
virtual GReturn TranslatelocalD(GMATRIXD _matrix, GVECTORD _vector, GMATRIXD &_outMatrix)=0
Translate the matrix by the specified vector.
virtual GReturn DeterminantD(GMATRIXD _matrix, double &_outValue)=0
Calculate the determinant of the specified matirx.
virtual GReturn MultiplyNumD(GMATRIXD _matrix, double _scalar, GMATRIXD &_outMatrix)=0
Scale the matrix.
virtual GReturn ConvertQuaternionD(GQUATERNIOND _quaternion, GMATRIXD &_outMatrix)=0
Convert the specified quaternion to a matrix.
virtual GReturn MultiplyNumF(GMATRIXF _matrix, float _scalar, GMATRIXF &_outMatrix)=0
Scale the matrix.
virtual GReturn TransposeF(GMATRIXF _matrix, GMATRIXF &_outMatrix)=0
Transpose the specified matirx.
virtual GReturn InverseD(GMATRIXD _matrix, GMATRIXD &_outMatrix)=0
Inverse the specified matirx.
virtual GReturn RotationByVectorD(GVECTORD _vector, double _radian, GMATRIXD &_outMatrix)=0
Builds a rotation matrix based on specified vector and an angle in radian.
virtual GReturn SubtractMatrixF(GMATRIXF _matrix1, GMATRIXF _matrix2, GMATRIXF &_outMatrix)=0
Subtract two specified matirxs.
virtual GReturn DeterminantF(GMATRIXF _matrix, float &_outValue)=0
Calculate the determinant of the specified matirx.
virtual GReturn RotationXF(GMATRIXF _matrix, float _radian, GMATRIXF &_outMatrix)=0
Roatate the specified matrix around the x-axis by multiplying a left-handed rotation matrix.
virtual GReturn RotationYD(GMATRIXD _matrix, double _radian, GMATRIXD &_outMatrix)=0
Roatate the specified matrix around the y-axis by multiplying a left-handed rotation matrix.
virtual GReturn LookAtLHF(GVECTORF _eye, GVECTORF _at, GVECTORF _up, GMATRIXF &_outMatrix)=0
Builds a left-handed view matrix.
virtual GReturn RotationYawPitchRollD(double _yaw, double _pitch, double _roll, GMATRIXD &_outMatrix)=0
Builds a matrix based on specified yaw, pitch, and roll angles in radian.
virtual GReturn GetTranslationF(GMATRIXF _matrix, GVECTORF &_outMatrix)=0
Get the translation matrix from the specified matrix.
virtual GReturn IdentityF(GMATRIXF &_outMatrix)=0
Identity the specified matrix.
virtual GReturn ConvertQuaternionF(GQUATERNIONF _quaternion, GMATRIXF &_outMatrix)=0
Convert the specified quaternion to a matrix.
To hold all math structs and variables.
Definition: GMathDefines.h:68
virtual GReturn GetScaleF(GMATRIXF _matrix, GVECTORF &_outMatrix)=0
Get the scaling matrix from the specified matrix.
virtual GReturn ScalingD(GMATRIXD _matrix, GVECTORD _vector, GMATRIXD &_outMatrix)=0
Scale the matrix by the specified vector.
This interface is only used to label and query interfaces which are not designed internally to suppor...
Definition: GSingleThreaded.h:31
virtual GReturn VectorXMatrixD(GMATRIXD _matrix, GVECTORD _vector, GVECTORD &_outVector)=0
Multiply the specified matrix by the specified vector.
Quaternion with 4 double elements.
Definition: GMathDefines.h:148
virtual GReturn ScalingF(GMATRIXF _matrix, GVECTORF _vector, GMATRIXF &_outMatirx)=0
Scale the matrix by the specified vector.
virtual GReturn AddMatrixF(GMATRIXF _matrix1, GMATRIXF _matrix2, GMATRIXF &_outMatrix)=0
Add two specified matirxs.
virtual GReturn ProjectionLHF(float _fovY, float _aspect, float _zn, float _zf, GMATRIXF &_outMatrix)=0
Builds a left-handed perspective matrix.
The core namespace to which all Gateware interfaces/structures/defines must belong.
Definition: GAudio.h:20
virtual GReturn TransposeD(GMATRIXD _matrix, GMATRIXD &_outMatrix)=0
Transpose the specified matirx.
virtual GReturn MultiplyMatrixD(GMATRIXD _matrix1, GMATRIXD _matrix2, GMATRIXD &_outMatrix)=0
Multiply two specified matirxs.
GReturn
Listing of common error codes returned by Gateware functions.
Definition: GDefines.h:53
Matrix with 4 float vectors which represent for each row.
Definition: GMathDefines.h:99
virtual GReturn AddMatrixD(GMATRIXD _matrix1, GMATRIXD _matrix2, GMATRIXD &_outMatrix)=0
Add two specified matirxs.