Gateware Libraries  R6.5A
Beta Build
GW::MATH::GQuaternion Class Referenceabstract

Quaternion functions. More...

#include <GQuaternion.h>

Inheritance diagram for GW::MATH::GQuaternion:
Collaboration diagram for GW::MATH::GQuaternion:

Public Member Functions

virtual GReturn AddQuaternionF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GQUATERNIONF &_outQuaternion)=0
 Add two quaternions. More...
 
virtual GReturn SubtractQuaternionF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GQUATERNIONF &_outQuaternion)=0
 Subtract two quaternions. More...
 
virtual GReturn MultiplyQuaternionF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GQUATERNIONF &_outQuaternion)=0
 Multiply two quaternions. More...
 
virtual GReturn ScaleF (GQUATERNIONF _quaternion, float _scalar, GQUATERNIONF &_outQuaternion)=0
 Scale the quaternion. More...
 
virtual GReturn SetByVectorAngleF (GVECTORF _vector, float _radian, GQUATERNIONF &_outQuaternion)=0
 Set the quaternion by the specified vector and the specified angle. More...
 
virtual GReturn SetByMatrixF (GMATRIXF _matrix, GQUATERNIONF &_outQuaternion)=0
 Set the quaternion by the specified matrix. More...
 
virtual GReturn DotF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, float &_outValue)=0
 Calculates the dot product of the two specified quaternions. More...
 
virtual GReturn CrossF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, GVECTORF &_outVector)=0
 Calculates the cross product of the two specified quaternions. More...
 
virtual GReturn ConjugateF (GQUATERNIONF _quaternion, GQUATERNIONF &_outQuaternion)=0
 Conjugate the specified quaternion. More...
 
virtual GReturn InverseF (GQUATERNIONF _quaternion, GQUATERNIONF &_outQuaternion)=0
 Inverse the specified quaternion. More...
 
virtual GReturn MagnitudeF (GQUATERNIONF _quaternion, float &_outMagnitude)=0
 Calculate the magnitude of quaternion. More...
 
virtual GReturn NormalizeF (GQUATERNIONF _quaternion, GQUATERNIONF &_outQuaternion)=0
 Normalize the specified quaternion. More...
 
virtual GReturn IdentityF (GQUATERNIONF &_outQuaternion)=0
 Identity the specified quaternion. More...
 
virtual GReturn LerpF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, float _ratio, GQUATERNIONF &_outQuaternion)=0
 Linear interpolate between two specified quaternions. More...
 
virtual GReturn SlerpF (GQUATERNIONF _quaternion1, GQUATERNIONF _quaternion2, float _ratio, GQUATERNIONF &_outQuaternion)=0
 Spherical linear interpolates between two specified quaternions. More...
 
virtual GReturn AddQuaternionD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GQUATERNIOND &_outQuaternion)=0
 Add two quaternions. More...
 
virtual GReturn SubtractQuaternionD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GQUATERNIOND &_outQuaternion)=0
 Subtract two quaternions. More...
 
virtual GReturn MultiplyQuaternionD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GQUATERNIOND &_outQuaternion)=0
 Multiply two quaternions. More...
 
virtual GReturn ScaleD (GQUATERNIOND _quaternion, double _scalar, GQUATERNIOND &_outQuaternion)=0
 Scale the quaternion. More...
 
virtual GReturn SetByVectorAngleD (GVECTORD _vector, double _radain, GQUATERNIOND &_outQuaternion)=0
 Set the quaternion by the specified vector and the specified angle. More...
 
virtual GReturn SetByMatrixD (GMATRIXD _matrix, GQUATERNIOND &_outQuaternion)=0
 Set the quaternion by the specified matrix. More...
 
virtual GReturn DotD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, double &_outQuaternion)=0
 Calculates the dot product of the two specified quaternions. More...
 
virtual GReturn CrossD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, GVECTORD &_outVector)=0
 Calculates the cross product of the two specified quaternions. More...
 
virtual GReturn ConjugateD (GQUATERNIOND _quaternion, GQUATERNIOND &_outQuaternion)=0
 Conjugate the specified quaternion. More...
 
virtual GReturn InverseD (GQUATERNIOND _quaternion, GQUATERNIOND &_outQuaternion)=0
 Inverse the specified quaternion. More...
 
virtual GReturn MagnitudeD (GQUATERNIOND _quaternion, double &_outMagnitude)=0
 Calculate the magnitude of quaternion. More...
 
virtual GReturn NormalizeD (GQUATERNIOND _quaternion, GQUATERNIOND &_outQuaternion)=0
 Normalize the specified quaternion. More...
 
virtual GReturn IdentityD (GQUATERNIOND &_outQuaternion)=0
 Identity the specified quaternion. More...
 
virtual GReturn LerpD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, float _ratio, GQUATERNIOND &_outQuaternion)=0
 Linear interpolate between two specified quaternions. More...
 
virtual GReturn SlerpD (GQUATERNIOND _quaternion1, GQUATERNIOND _quaternion2, double _ratio, GQUATERNIOND &_outQuaternion)=0
 Spherical linear interpolates between two specified quaternions. More...
 
- Public Member Functions inherited from GW::CORE::GInterface
virtual GReturn GetCount (unsigned int &_outCount)=0
 Return the total number of active references to this object. More...
 
virtual GReturn IncrementCount ()=0
 Increase the total number of active references to this object. More...
 
virtual GReturn DecrementCount ()=0
 Decrease the total number of active references to this object. More...
 
virtual GReturn RequestInterface (const GUUIID &_interfaceID, void **_outputInterface)=0
 Requests an interface that may or may not be supported by this object. More...
 

Detailed Description

Quaternion functions.

Include float vector and double quaternion's functions

Member Function Documentation

◆ AddQuaternionD()

virtual GReturn GW::MATH::GQuaternion::AddQuaternionD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
GQUATERNIOND _outQuaternion 
)
pure virtual

Add two quaternions.

Adds the two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outQuaternionThe result of the addition
Return values
SUCCESSThe calculation succeed

◆ AddQuaternionF()

virtual GReturn GW::MATH::GQuaternion::AddQuaternionF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
GQUATERNIONF _outQuaternion 
)
pure virtual

Add two quaternions.

Adds the two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outQuaternionThe result of the addition
Return values
SUCCESSThe calculation succeed

◆ ConjugateD()

virtual GReturn GW::MATH::GQuaternion::ConjugateD ( GQUATERNIOND  _quaternion,
GQUATERNIOND _outQuaternion 
)
pure virtual

Conjugate the specified quaternion.

Conjugates the specified quaternion and stores the result in the output quaternion.

Parameters
[in]_quaternionThe quaternion
[out]_outQuaternionThe result of the conjugate
Return values
SUCCESSThe calculation succeed

◆ ConjugateF()

virtual GReturn GW::MATH::GQuaternion::ConjugateF ( GQUATERNIONF  _quaternion,
GQUATERNIONF _outQuaternion 
)
pure virtual

Conjugate the specified quaternion.

Conjugates the specified quaternion and stores the result in the output quaternion.

Parameters
[in]_quaternionThe quaternion
[out]_outQuaternionThe result of the conjugate
Return values
SUCCESSThe calculation succeed

◆ CrossD()

virtual GReturn GW::MATH::GQuaternion::CrossD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
GVECTORD _outVector 
)
pure virtual

Calculates the cross product of the two specified quaternions.

Corsses two specified quaternions and stores the result in the output Value.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outVectorThe vector of the corss product
Return values
SUCCESSThe calculation succeed

◆ CrossF()

virtual GReturn GW::MATH::GQuaternion::CrossF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
GVECTORF _outVector 
)
pure virtual

Calculates the cross product of the two specified quaternions.

Corsses two specified quaternions and stores the result in the output Value.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outVectorThe vector of the corss product
Return values
SUCCESSThe calculation succeed

◆ DotD()

virtual GReturn GW::MATH::GQuaternion::DotD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
double &  _outQuaternion 
)
pure virtual

Calculates the dot product of the two specified quaternions.

Calculates the dot product of two specified quaternions and stores the result in the output Value.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outValueThe value of the dot product
Return values
SUCCESSThe calculation succeed

◆ DotF()

virtual GReturn GW::MATH::GQuaternion::DotF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
float &  _outValue 
)
pure virtual

Calculates the dot product of the two specified quaternions.

Calculates the dot product of two specified quaternions and stores the result in the output Value.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outValueThe value of the dot product
Return values
SUCCESSThe calculation succeed

◆ IdentityD()

virtual GReturn GW::MATH::GQuaternion::IdentityD ( GQUATERNIOND _outQuaternion)
pure virtual

Identity the specified quaternion.

Set the output quaternion as an identity quaternion

Parameters
[out]_outQuaternionThe result of the identity
Return values
SUCCESSThe calculation succeed

◆ IdentityF()

virtual GReturn GW::MATH::GQuaternion::IdentityF ( GQUATERNIONF _outQuaternion)
pure virtual

Identity the specified quaternion.

Set the output quaternion as an identity quaternion

Parameters
[out]_outQuaternionThe result of the identity
Return values
SUCCESSThe calculation succeed

◆ InverseD()

virtual GReturn GW::MATH::GQuaternion::InverseD ( GQUATERNIOND  _quaternion,
GQUATERNIOND _outQuaternion 
)
pure virtual

Inverse the specified quaternion.

Inverses the specified quaternion and stores the result in the output quaternion.

Parameters
[in]_quaternionThe specified quaternion
[out]_outQuaternionThe result of the inverse
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ InverseF()

virtual GReturn GW::MATH::GQuaternion::InverseF ( GQUATERNIONF  _quaternion,
GQUATERNIONF _outQuaternion 
)
pure virtual

Inverse the specified quaternion.

Inverses the specified quaternion and stores the result in the output quaternion.

Parameters
[in]_quaternionThe specified quaternion
[out]_outQuaternionThe result of the inverse
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ LerpD()

virtual GReturn GW::MATH::GQuaternion::LerpD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
float  _ratio,
GQUATERNIOND _outQuaternion 
)
pure virtual

Linear interpolate between two specified quaternions.

Linear interpolates between two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The seconds quaternion
[in]_ratioThe interpolation coefficient
[out]_outQuaternionThe result of the lerp
Return values
SUCCESSThe calculation succeed

◆ LerpF()

virtual GReturn GW::MATH::GQuaternion::LerpF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
float  _ratio,
GQUATERNIONF _outQuaternion 
)
pure virtual

Linear interpolate between two specified quaternions.

Linear interpolates between two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The seconds quaternion
[in]_ratioThe interpolation coefficient
[out]_outQuaternionThe result of the lerp
Return values
SUCCESSThe calculation succeed

◆ MagnitudeD()

virtual GReturn GW::MATH::GQuaternion::MagnitudeD ( GQUATERNIOND  _quaternion,
double &  _outMagnitude 
)
pure virtual

Calculate the magnitude of quaternion.

Calculate the magnitude of the specified quaternion and stores the result in the output value.

Parameters
[in]_quaternionThe quaternion
[out]_outMagnitudeThe result of the Calculation
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ MagnitudeF()

virtual GReturn GW::MATH::GQuaternion::MagnitudeF ( GQUATERNIONF  _quaternion,
float &  _outMagnitude 
)
pure virtual

Calculate the magnitude of quaternion.

Calculate the magnitude of the specified quaternion and stores the result in the output value.

Parameters
[in]_quaternionThe quaternion
[out]_outMagnitudeThe result of the Calculation
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ MultiplyQuaternionD()

virtual GReturn GW::MATH::GQuaternion::MultiplyQuaternionD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
GQUATERNIOND _outQuaternion 
)
pure virtual

Multiply two quaternions.

Multiplies the two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outQuaternionThe result of the multiplication
Return values
SUCCESSThe calculation succeed

◆ MultiplyQuaternionF()

virtual GReturn GW::MATH::GQuaternion::MultiplyQuaternionF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
GQUATERNIONF _outQuaternion 
)
pure virtual

Multiply two quaternions.

Multiplies the two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outQuaternionThe result of the multiplication
Return values
SUCCESSThe calculation succeed

◆ NormalizeD()

virtual GReturn GW::MATH::GQuaternion::NormalizeD ( GQUATERNIOND  _quaternion,
GQUATERNIOND _outQuaternion 
)
pure virtual

Normalize the specified quaternion.

Normalizes the specified quaternion and stores the result in the output quaternion.

Parameters
[in]_quaternionThe quaternion
[out]_outMagnitudeThe result of the normalization
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ NormalizeF()

virtual GReturn GW::MATH::GQuaternion::NormalizeF ( GQUATERNIONF  _quaternion,
GQUATERNIONF _outQuaternion 
)
pure virtual

Normalize the specified quaternion.

Normalizes the specified quaternion and stores the result in the output quaternion.

Parameters
[in]_quaternionThe quaternion
[out]_outMagnitudeThe result of the normalization
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ ScaleD()

virtual GReturn GW::MATH::GQuaternion::ScaleD ( GQUATERNIOND  _quaternion,
double  _scalar,
GQUATERNIOND _outQuaternion 
)
pure virtual

Scale the quaternion.

Scales the specified quaternion with a number and stores the result in the output quaternion.

Parameters
[in]_quaternionThe quaternion
[in]_scalarThe specified value to scale
[out]_outQuaternionThe result of the scaling
Return values
SUCCESSThe calculation succeed

◆ ScaleF()

virtual GReturn GW::MATH::GQuaternion::ScaleF ( GQUATERNIONF  _quaternion,
float  _scalar,
GQUATERNIONF _outQuaternion 
)
pure virtual

Scale the quaternion.

Scales the specified quaternion with a number and stores the result in the output quaternion.

Parameters
[in]_quaternionThe quaternion
[in]_scalarThe specified value to scale
[out]_outQuaternionThe result of the scaling
Return values
SUCCESSThe calculation succeed

◆ SetByMatrixD()

virtual GReturn GW::MATH::GQuaternion::SetByMatrixD ( GMATRIXD  _matrix,
GQUATERNIOND _outQuaternion 
)
pure virtual

Set the quaternion by the specified matrix.

Sets the quaternion by the rotational part of the specifed matrix and stores the result in the output quaternion.

Parameters
[in]_matrixThe specified matrix
[out]_outQuaternionThe result of the rotation of matrix
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ SetByMatrixF()

virtual GReturn GW::MATH::GQuaternion::SetByMatrixF ( GMATRIXF  _matrix,
GQUATERNIONF _outQuaternion 
)
pure virtual

Set the quaternion by the specified matrix.

Sets the quaternion by the rotational part of the specifed matrix and stores the result in the output quaternion.

Parameters
[in]_matrixThe specified matrix
[out]_outQuaternionThe result of the rotation of matrix
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ SetByVectorAngleD()

virtual GReturn GW::MATH::GQuaternion::SetByVectorAngleD ( GVECTORD  _vector,
double  _radain,
GQUATERNIOND _outQuaternion 
)
pure virtual

Set the quaternion by the specified vector and the specified angle.

Sets the quaternion with a number and stores the result in the output quaternion.

Parameters
[in]_vectorThe specified vector
[in]_radainThe specified value of angle
[out]_outQuaternionThe result of the rotation
Return values
SUCCESSThe calculation succeed

◆ SetByVectorAngleF()

virtual GReturn GW::MATH::GQuaternion::SetByVectorAngleF ( GVECTORF  _vector,
float  _radian,
GQUATERNIONF _outQuaternion 
)
pure virtual

Set the quaternion by the specified vector and the specified angle.

Sets the quaternion with a number and stores the result in the output quaternion.

Parameters
[in]_vectorThe specified vector
[in]_radianThe specified value of angle
[out]_outQuaternionThe result of the rotation
Return values
SUCCESSThe calculation succeed

◆ SlerpD()

virtual GReturn GW::MATH::GQuaternion::SlerpD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
double  _ratio,
GQUATERNIOND _outQuaternion 
)
pure virtual

Spherical linear interpolates between two specified quaternions.

Spherical linear interpolates between two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The seconds quaternion
[in]_ratioThe interpolation coefficient
[out]_outQuaternionThe result of the lerp
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ SlerpF()

virtual GReturn GW::MATH::GQuaternion::SlerpF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
float  _ratio,
GQUATERNIONF _outQuaternion 
)
pure virtual

Spherical linear interpolates between two specified quaternions.

Spherical linear interpolates between two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The seconds quaternion
[in]_ratioThe interpolation coefficient
[out]_outQuaternionThe result of the lerp
Return values
SUCCESSThe calculation succeed
FAILUREThe calculation failed

◆ SubtractQuaternionD()

virtual GReturn GW::MATH::GQuaternion::SubtractQuaternionD ( GQUATERNIOND  _quaternion1,
GQUATERNIOND  _quaternion2,
GQUATERNIOND _outQuaternion 
)
pure virtual

Subtract two quaternions.

Subtracts the two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outQuaternionThe result of the subtraction
Return values
SUCCESSThe calculation succeed

◆ SubtractQuaternionF()

virtual GReturn GW::MATH::GQuaternion::SubtractQuaternionF ( GQUATERNIONF  _quaternion1,
GQUATERNIONF  _quaternion2,
GQUATERNIONF _outQuaternion 
)
pure virtual

Subtract two quaternions.

Subtracts the two specified quaternions and stores the result in the output quaternion.

Parameters
[in]_quaternion1The first quaternion
[in]_quaternion2The second quaternion
[out]_outQuaternionThe result of the subtraction
Return values
SUCCESSThe calculation succeed

The documentation for this class was generated from the following file: