14 #include "../G_Core/GSingleThreaded.h" 16 #include "GMathDefines.h" 25 static const GUUIID GQuaternionUUIID =
27 0x50aab369, 0xedfd, 0x4d04,{ 0x95, 0x3b, 0x7c, 0xdf, 0x71, 0x62, 0xbd, 0xc0 }
virtual GReturn NormalizeD(GQUATERNIOND _quaternion, GQUATERNIOND &_outQuaternion)=0
Normalize the specified quaternion.
virtual GReturn IdentityD(GQUATERNIOND &_outQuaternion)=0
Identity the specified quaternion.
To hold all math structs and variables.
Definition: GMathDefines.h:68
Matrix with 4 double vectors which represent for each row.
Definition: GMathDefines.h:116
virtual GReturn InverseD(GQUATERNIOND _quaternion, GQUATERNIOND &_outQuaternion)=0
Inverse the specified quaternion.
Quaternion with 4 double elements.
Definition: GMathDefines.h:148
virtual GReturn SubtractQuaternionD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GQUATERNIOND &_outQuaternion)=0
Subtract two quaternions.
virtual GReturn NormalizeF(GQUATERNIONF _quaternion, GQUATERNIONF &_outQuaternion)=0
Normalize the specified quaternion.
virtual GReturn ConjugateF(GQUATERNIONF _quaternion, GQUATERNIONF &_outQuaternion)=0
Conjugate the specified quaternion.
virtual GReturn DotD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, double &_outQuaternion)=0
Calculates the dot product of the two specified quaternions.
Quaternion functions.
Definition: GQuaternion.h:34
virtual GReturn ScaleD(GQUATERNIOND _quaternion, double _scalar, GQUATERNIOND &_outQuaternion)=0
Scale the quaternion.
virtual GReturn ScaleF(GQUATERNIONF _quaternion, float _scalar, GQUATERNIONF &_outQuaternion)=0
Scale the quaternion.
virtual GReturn SetByMatrixD(GMATRIXD _matrix, GQUATERNIOND &_outQuaternion)=0
Set the quaternion by the specified matrix.
virtual GReturn MultiplyQuaternionF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GQUATERNIONF &_outQuaternion)=0
Multiply two quaternions.
GReturn
Listing of common error codes returned by Gateware functions.
Definition: GDefines.h:53
virtual GReturn LerpF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, float _ratio, GQUATERNIONF &_outQuaternion)=0
Linear interpolate between two specified quaternions.
Quaternion with 4 float elements.
Definition: GMathDefines.h:132
virtual GReturn IdentityF(GQUATERNIONF &_outQuaternion)=0
Identity the specified quaternion.
virtual GReturn MultiplyQuaternionD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GQUATERNIOND &_outQuaternion)=0
Multiply two quaternions.
virtual GReturn ConjugateD(GQUATERNIOND _quaternion, GQUATERNIOND &_outQuaternion)=0
Conjugate the specified quaternion.
virtual GReturn SlerpF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, float _ratio, GQUATERNIONF &_outQuaternion)=0
Spherical linear interpolates between two specified quaternions.
virtual GReturn SubtractQuaternionF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GQUATERNIONF &_outQuaternion)=0
Subtract two quaternions.
virtual GReturn MagnitudeF(GQUATERNIONF _quaternion, float &_outMagnitude)=0
Calculate the magnitude of quaternion.
virtual GReturn AddQuaternionF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GQUATERNIONF &_outQuaternion)=0
Add two quaternions.
Vector with 4 double elements.
Definition: GMathDefines.h:84
Matrix with 4 float vectors which represent for each row.
Definition: GMathDefines.h:99
virtual GReturn SlerpD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, double _ratio, GQUATERNIOND &_outQuaternion)=0
Spherical linear interpolates between two specified quaternions.
virtual GReturn MagnitudeD(GQUATERNIOND _quaternion, double &_outMagnitude)=0
Calculate the magnitude of quaternion.
virtual GReturn SetByVectorAngleD(GVECTORD _vector, double _radain, GQUATERNIOND &_outQuaternion)=0
Set the quaternion by the specified vector and the specified angle.
virtual GReturn DotF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, float &_outValue)=0
Calculates the dot product of the two specified quaternions.
virtual GReturn SetByMatrixF(GMATRIXF _matrix, GQUATERNIONF &_outQuaternion)=0
Set the quaternion by the specified matrix.
The core namespace to which all Gateware interfaces/structures/defines must belong.
Definition: GAudio.h:20
GATEWARE_EXPORT_IMPLICIT GReturn CreateGQuaternion(GQuaternion **_outQuaternion)
end GQuaternion class
virtual GReturn InverseF(GQUATERNIONF _quaternion, GQUATERNIONF &_outQuaternion)=0
Inverse the specified quaternion.
This interface is only used to label and query interfaces which are not designed internally to suppor...
Definition: GSingleThreaded.h:31
virtual GReturn AddQuaternionD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GQUATERNIOND &_outQuaternion)=0
Add two quaternions.
virtual GReturn CrossD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GVECTORD &_outVector)=0
Calculates the cross product of the two specified quaternions.
virtual GReturn LerpD(GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, float _ratio, GQUATERNIOND &_outQuaternion)=0
Linear interpolate between two specified quaternions.
virtual GReturn SetByVectorAngleF(GVECTORF _vector, float _radian, GQUATERNIONF &_outQuaternion)=0
Set the quaternion by the specified vector and the specified angle.
virtual GReturn CrossF(GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GVECTORF &_outVector)=0
Calculates the cross product of the two specified quaternions.