48 #define FBSDK_DLL K_DLLIMPORT
53 #ifdef FBSDKUseNamespace
283 FBSDK_DLL void FBMult (FBMatrix &pResult,
const FBMatrix &pM,
const FBSVector &pV);
417 #ifdef FBSDKUseNamespace
void FBMatrixToQuaternion(FBQuaternion &pQuaternion, const FBMatrix &pMatrix)
Get a quaternion from a matrix (potential ).
void FBRotationToQuaternion(FBQuaternion &pQuaternion, const FBRVector &pVector, FBRotationOrder pRotationOrder=kFBXYZ)
Get a quaternion from a rotation vector.
void FBTranslationToMatrix(FBMatrix &pMatrix, const FBTVector &pVector)
Convert a translation vector to a matrix.
void FBVertexMatrixMult(FBVertex &pOutVertex, const FBMatrix &pMatrix, const FBVertex &pVertex)
Multiply a vertex by a matrix.
void FBQSub(FBQuaternion &pResult, const FBQuaternion &pQ1, const FBQuaternion &pQ2)
Subtract pQ2 from pQ1 (pResult = pQ1 - pQ2)
void FBVectorMatrixMult(FBVector4d &pOutVector, const FBMatrix &pMatrix, const FBVector4d &pVector)
Multiply a vector by a matrix.
void FBMatrixToTRS(FBTVector &pTVector, FBRVector &pRVector, FBSVector &pSVector, const FBMatrix &pMatrix)
Obtain translation, rotation, and scaling vectors from a matrix.
void FBMatrixToRotation(FBRVector &pVector, const FBMatrix &pMatrix, FBRotationOrder pRotationOrder=kFBXYZ)
Obtain rotation vector from a matrix.
void FBGetLocalMatrix(FBMatrix &pMatrix, const FBMatrix &pMatrixParent, const FBMatrix &pMatrixChild)
Get local matrix from parent and child matrices.
class FBVector4< double > FBVector4d
4D vector
void FBTQSToMatrix(FBMatrix &pMatrix, const FBTVector &pTVector, const FBQuaternion &pQuaternion, const FBSVector &pSVector)
Convert translation vector, rotation quaternion, and scaling vector to a matrix.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
void FBMatrixInverse(FBMatrix &pMatrix, const FBMatrix &pSrc)
Invert a matrix.
void FBSub(FBTVector &pResult, const FBTVector &pV1, const FBTVector &pV2)
Subtract pV2 from pV1 (pResult = pV1 - pV2)
void FBMatrixToScaling(FBSVector &pVector, const FBMatrix &pMatrix)
Obtain scaling vector from a matrix.
void FBQAdd(FBQuaternion &pResult, const FBQuaternion &pQ1, const FBQuaternion &pQ2)
Add two quaternions together (pResult = pQ1 + pQ2)
FBVector3< double > FBRVector
Rotation vector.
class FBVector4< double > FBQuaternion
Quaternion.
void FBBigEndianToNative(unsigned short &pV)
Change from big endian to native format.
void FBMatrixOrthogonalize(FBMatrix &pMatrix)
Make sure that rotation vectors are orthogonal and normalized (fast way for removing scaling from mat...
double FBClamp(double pV, double pL, double pH)
Clamp value.
FBRotationOrder
Specify the Euler rotation order.
void FBLittleEndianToNative(unsigned short &pV)
Change from little endian to native format.
double FBQLength(const FBQuaternion &pQ)
Get the length of a quaternion.
void FBQuaternionToRotation(FBRVector &pVector, const FBQuaternion &pQuaternion, FBRotationOrder pRotationOrder=kFBXYZ)
Get a rotation vector from a quaternion vector.
const double FBMat2EulerDegenerateForPrecision10
void FBInterpolateRotation(FBQuaternion &pQOut, const FBQuaternion &pQ0, const FBQuaternion &pQ1, double pU)
Interpolate a rotation in Quaternion.
void FBMatrixMult(FBMatrix &pMatrix, const FBMatrix &pA, const FBMatrix &pB)
Multiply two matrices.
FB_DEFINE_ENUM(, RotationOrder)
void FBGetContinuousRotation(FBRVector &pROut, const FBRVector &pR0, const FBRVector &pR1)
Get a continuous rotation in Euler space.
class FBVector4< float > FBVertex
Vertex.
double FBLength(const FBVertex &pV)
Get the length of a vertex (from origin)
#define FBSDKNamespace
FBSDKNamespace define.
double FBQDot(const FBQuaternion &pQ1, const FBQuaternion &pQ2)
Calculate the dot product of two quaternions.
void FBMatrixTranspose(FBMatrix &pMatrix, const FBMatrix &pSrc)
Transpose a matrix.
void FBAdd(FBTVector &pResult, const FBTVector &pV1, const FBTVector &pV2)
Add two vectors together (pResult = pV1 + pV2)
void FBGetGlobalMatrix(FBMatrix &pMatrix, const FBMatrix &pMatrixParent, const FBMatrix &pLocalMatrix)
Get global matrix from parent and child matrices.
void FBTRSToMatrix(FBMatrix &pMatrix, const FBTVector &pTVector, const FBRVector &pRVector, const FBSVector &pSVector)
Convert translation, rotation, and scaling vectors to a matrix.
void FBMatrixToRotationWithPrecision(FBRVector &pVector, const FBMatrix &pMatrix, FBRotationOrder pRotationOrder, double pPrecision=FBMat2EulerDegenerateForPrecision10)
Obtain rotation vector from a matrix.
void FBMatrixToTQS(FBTVector &pTVector, FBQuaternion &pQuaternion, FBSVector &pSVector, const FBMatrix &pMatrix)
Obtain translation vector, rotation quaternion, and scaling vector from a matrix. ...
void FBMult(FBMatrix &pResult, const FBMatrix &pM, const FBSVector &pV)
Calculate the cross product of a Matrix and Scale Vector.
void FBRotationToMatrix(FBMatrix &pMatrix, const FBRVector &pVector, FBRotationOrder pRotationOrder=kFBXYZ)
Convert a rotation vector to a matrix.
void FBQMult(FBQuaternion &pResult, const FBQuaternion &pQ1, const FBQuaternion &pQ2)
Calculate the cross product of two quaternions.
void FBScalingToMatrix(FBMatrix &pMatrix, const FBSVector &pVector)
Convert a scaling vector to a matrix.
void FBMatrixToTranslation(FBTVector &pVector, const FBMatrix &pMatrix)
Obtain translation vector from a matrix.
void FBQuaternionToRotationWithPrecision(FBRVector &pVector, const FBQuaternion &pQuaternion, FBRotationOrder pRotationOrder, double pPrecision=FBMat2EulerDegenerateForPrecision10)
Get a rotation vector from a quaternion vector.
double FBDot(const FBTVector &pV1, const FBTVector &pV2)
Calculate the dot product of two vectors.
void FBQuaternionToMatrix(FBMatrix &pMatrix, const FBQuaternion &pQuaternion)
Get a rotation matrix from a quaternion vector.
FBVector4< double > FBTVector
Translation vector.