Contains routines for vector and matrix manipulation.
Definition in file fbmath.h.
|
| FB_DEFINE_ENUM (, RotationOrder) |
|
void | FBMatrixInverse (FBMatrix &pMatrix, const FBMatrix &pSrc) |
| Invert a matrix. More...
|
|
void | FBMatrixTranspose (FBMatrix &pMatrix, const FBMatrix &pSrc) |
| Transpose a matrix. More...
|
|
void | FBMatrixMult (FBMatrix &pMatrix, const FBMatrix &pA, const FBMatrix &pB) |
| Multiply two matrices. More...
|
|
void | FBVertexMatrixMult (FBVertex &pOutVertex, const FBMatrix &pMatrix, const FBVertex &pVertex) |
| Multiply a vertex by a matrix. More...
|
|
void | FBVectorMatrixMult (FBVector4d &pOutVector, const FBMatrix &pMatrix, const FBVector4d &pVector) |
| Multiply a vector by a matrix. More...
|
|
void | FBTranslationToMatrix (FBMatrix &pMatrix, const FBTVector &pVector) |
| Convert a translation vector to a matrix. More...
|
|
void | FBRotationToMatrix (FBMatrix &pMatrix, const FBRVector &pVector, FBRotationOrder pRotationOrder=kFBXYZ) |
| Convert a rotation vector to a matrix. More...
|
|
void | FBScalingToMatrix (FBMatrix &pMatrix, const FBSVector &pVector) |
| Convert a scaling vector to a matrix. More...
|
|
void | FBTRSToMatrix (FBMatrix &pMatrix, const FBTVector &pTVector, const FBRVector &pRVector, const FBSVector &pSVector) |
| Convert translation, rotation, and scaling vectors to a matrix. More...
|
|
void | FBTQSToMatrix (FBMatrix &pMatrix, const FBTVector &pTVector, const FBQuaternion &pQuaternion, const FBSVector &pSVector) |
| Convert translation vector, rotation quaternion, and scaling vector to a matrix. More...
|
|
void | FBMatrixToTranslation (FBTVector &pVector, const FBMatrix &pMatrix) |
| Obtain translation vector from a matrix. More...
|
|
void | FBMatrixToRotation (FBRVector &pVector, const FBMatrix &pMatrix, FBRotationOrder pRotationOrder=kFBXYZ) |
| Obtain rotation vector from a matrix. More...
|
|
void | FBMatrixToScaling (FBSVector &pVector, const FBMatrix &pMatrix) |
| Obtain scaling vector from a matrix. More...
|
|
void | FBMatrixToTRS (FBTVector &pTVector, FBRVector &pRVector, FBSVector &pSVector, const FBMatrix &pMatrix) |
| Obtain translation, rotation, and scaling vectors from a matrix. More...
|
|
void | FBMatrixToTQS (FBTVector &pTVector, FBQuaternion &pQuaternion, FBSVector &pSVector, const FBMatrix &pMatrix) |
| Obtain translation vector, rotation quaternion, and scaling vector from a matrix. More...
|
|
void | FBRotationToQuaternion (FBQuaternion &pQuaternion, const FBRVector &pVector, FBRotationOrder pRotationOrder=kFBXYZ) |
| Get a quaternion from a rotation vector. More...
|
|
void | FBQuaternionToRotation (FBRVector &pVector, const FBQuaternion &pQuaternion, FBRotationOrder pRotationOrder=kFBXYZ) |
| Get a rotation vector from a quaternion vector. More...
|
|
void | FBMatrixToQuaternion (FBQuaternion &pQuaternion, const FBMatrix &pMatrix) |
| Get a quaternion from a matrix (potential ). More...
|
|
void | FBQuaternionToMatrix (FBMatrix &pMatrix, const FBQuaternion &pQuaternion) |
| Get a rotation matrix from a quaternion vector. More...
|
|
void | FBGetLocalMatrix (FBMatrix &pMatrix, const FBMatrix &pMatrixParent, const FBMatrix &pMatrixChild) |
| Get local matrix from parent and child matrices. More...
|
|
void | FBGetGlobalMatrix (FBMatrix &pMatrix, const FBMatrix &pMatrixParent, const FBMatrix &pLocalMatrix) |
| Get global matrix from parent and child matrices. More...
|
|
void | FBMatrixOrthogonalize (FBMatrix &pMatrix) |
| Make sure that rotation vectors are orthogonal and normalized (fast way for removing scaling from matrix) More...
|
|
void | FBAdd (FBTVector &pResult, const FBTVector &pV1, const FBTVector &pV2) |
| Add two vectors together (pResult = pV1 + pV2) More...
|
|
void | FBSub (FBTVector &pResult, const FBTVector &pV1, const FBTVector &pV2) |
| Subtract pV2 from pV1 (pResult = pV1 - pV2) More...
|
|
void | FBMult (FBTVector &pResult, const FBTVector &pV1, double pV2) |
| Multiply pV2 from pV1 (pResult = pV1 * pV2) More...
|
|
void | FBMult (FBTVector &pResult, const FBTVector &pV1, const FBTVector &pV2) |
| Calculate the cross product of two vectors. More...
|
|
void | FBMult (FBMatrix &pResult, const FBMatrix &pM, const FBSVector &pV) |
| Calculate the cross product of a Matrix and Scale Vector. More...
|
|
double | FBDot (const FBTVector &pV1, const FBTVector &pV2) |
| Calculate the dot product of two vectors. More...
|
|
double | FBLength (const FBTVector &pV) |
| Get the length of a vector. More...
|
|
void | FBQAdd (FBQuaternion &pResult, const FBQuaternion &pQ1, const FBQuaternion &pQ2) |
| Add two quaternions together (pResult = pQ1 + pQ2) More...
|
|
void | FBQSub (FBQuaternion &pResult, const FBQuaternion &pQ1, const FBQuaternion &pQ2) |
| Subtract pQ2 from pQ1 (pResult = pQ1 - pQ2) More...
|
|
void | FBQMult (FBQuaternion &pResult, const FBQuaternion &pQ1, double pQ2) |
| Multiply pQ2 from pQ1 (pResult = pQ1 * pQ2) More...
|
|
void | FBQMult (FBQuaternion &pResult, const FBQuaternion &pQ1, const FBQuaternion &pQ2) |
| Calculate the cross product of two quaternions. More...
|
|
double | FBQDot (const FBQuaternion &pQ1, const FBQuaternion &pQ2) |
| Calculate the dot product of two quaternions. More...
|
|
double | FBQLength (const FBQuaternion &pQ) |
| Get the length of a quaternion. More...
|
|
double | FBLength (const FBVertex &pV) |
| Get the length of a vertex (from origin) More...
|
|
void | FBInterpolateRotation (FBRVector &pROut, const FBRVector &pR0, const FBRVector &pR1, double pU) |
| Interpolate a rotation in Euler space. More...
|
|
void | FBInterpolateRotation (FBQuaternion &pQOut, const FBQuaternion &pQ0, const FBQuaternion &pQ1, double pU) |
| Interpolate a rotation in Quaternion. More...
|
|
void | FBGetContinuousRotation (FBRVector &pROut, const FBRVector &pR0, const FBRVector &pR1) |
| Get a continuous rotation in Euler space. More...
|
|
double | FBClamp (double pV, double pL, double pH) |
| Clamp value. More...
|
|
void | FBBigEndianToNative (unsigned short &pV) |
| Change from big endian to native format. More...
|
|
void | FBLittleEndianToNative (unsigned short &pV) |
| Change from little endian to native format. More...
|
|
void | FBMatrixToRotationWithPrecision (FBRVector &pVector, const FBMatrix &pMatrix, FBRotationOrder pRotationOrder, double pPrecision=FBMat2EulerDegenerateForPrecision10) |
| Obtain rotation vector from a matrix. More...
|
|
void | FBQuaternionToRotationWithPrecision (FBRVector &pVector, const FBQuaternion &pQuaternion, FBRotationOrder pRotationOrder, double pPrecision=FBMat2EulerDegenerateForPrecision10) |
| Get a rotation vector from a quaternion vector. More...
|
|