Open Reality Reference Guide
fbmath.h File Reference

Contains routines for vector and matrix manipulation. More...

#include <kaydaradef.h>
#include <fbsdk/fbtypes.h>

Go to the source code of this file.

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 

Enumerations

enum  FBRotationOrder {
  kFBXYZ ,
  kFBXZY ,
  kFBYXZ ,
  kFBYZX ,
  kFBZXY ,
  kFBZYX
}
 Specify the Euler rotation order. More...
 

Functions

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

Variables

const double FBMat2EulerDegenerateForPrecision10 = 16.0e-10
 

Detailed Description

Contains routines for vector and matrix manipulation.

Definition in file fbmath.h.

Macro Definition Documentation

◆ FBSDK_DLL

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 48 of file fbmath.h.

Enumeration Type Documentation

◆ FBRotationOrder

Specify the Euler rotation order.

Enumerator
kFBXYZ 

XYZ

kFBXZY 

XZY.

kFBYXZ 

YXZ.

kFBYZX 

YZX

kFBZXY 

ZXY

kFBZYX 

ZYX.

Definition at line 60 of file fbmath.h.

Function Documentation

◆ FBAdd()

K_DLLIMPORT void FBAdd ( FBTVector pResult,
const FBTVector pV1,
const FBTVector pV2 
)

Add two vectors together (pResult = pV1 + pV2)

Return values
pResultResulting vector.
Parameters
pV11st vector.
pV22nd vector.

◆ FBBigEndianToNative()

K_DLLIMPORT void FBBigEndianToNative ( unsigned short &  pV)

Change from big endian to native format.

Parameters
pVValue to modify.

◆ FBClamp()

K_DLLIMPORT double FBClamp ( double  pV,
double  pL,
double  pH 
)

Clamp value.

Parameters
pVValue to clamp.
pLLow limit.
pHHigh limit.
Returns
Clamped value.

◆ FBDot()

K_DLLIMPORT double FBDot ( const FBTVector pV1,
const FBTVector pV2 
)

Calculate the dot product of two vectors.

Parameters
pV11st vector.
pV22nd vector.
Returns
Dot product.

◆ FBGetContinuousRotation()

K_DLLIMPORT void FBGetContinuousRotation ( FBRVector pROut,
const FBRVector pR0,
const FBRVector pR1 
)

Get a continuous rotation in Euler space.

This routine will help to avoid gimble locks due to interpolation.

Return values
pROutSuccessful continuous rotation (gimble-lock free).
Parameters
pR0Suggested next rotation.
pR1Previous rotation.

◆ FBGetGlobalMatrix()

K_DLLIMPORT void FBGetGlobalMatrix ( FBMatrix pMatrix,
const FBMatrix pMatrixParent,
const FBMatrix pLocalMatrix 
)

Get global matrix from parent and child matrices.

From an input referential, this function will calculate the global matrix corresponding to the input local matrix (which is with respect to the parent matrix).

Return values
pMatrixCalculated local matrix.
Parameters
pMatrixParentParent matrix.
pLocalMatrixLocal matrix.

◆ FBGetLocalMatrix()

K_DLLIMPORT void FBGetLocalMatrix ( FBMatrix pMatrix,
const FBMatrix pMatrixParent,
const FBMatrix pMatrixChild 
)

Get local matrix from parent and child matrices.

Will calculate the local matrix from two global matrices. The resulting matrix will be a local matrix containing the local transformations to go from the parent referentialto the child referential.

Return values
pMatrixCalculated local matrix.
Parameters
pMatrixParentParent matrix (new base referential).
pMatrixChildChild matrix.

◆ FBInterpolateRotation() [1/2]

K_DLLIMPORT void FBInterpolateRotation ( FBQuaternion pQOut,
const FBQuaternion pQ0,
const FBQuaternion pQ1,
double  pU 
)

Interpolate a rotation in Quaternion.

Return values
pQOutResulting, interpolated rotation.
Parameters
pQ01st rotation.
pQ12nd rotation.
pUInterpolation ratio.

◆ FBInterpolateRotation() [2/2]

K_DLLIMPORT void FBInterpolateRotation ( FBRVector pROut,
const FBRVector pR0,
const FBRVector pR1,
double  pU 
)

Interpolate a rotation in Euler space.

Return values
pROutResulting, interpolated rotation.
Parameters
pR01st rotation.
pR12nd rotation.
pUInterpolation ratio.

◆ FBLength() [1/2]

K_DLLIMPORT double FBLength ( const FBTVector pV)

Get the length of a vector.

Parameters
pVVector to calculate length for.
Returns
Length of vector pV.

◆ FBLength() [2/2]

K_DLLIMPORT double FBLength ( const FBVertex pV)

Get the length of a vertex (from origin)

Parameters
pVVertex for which length is to be measured.
Returns
Length of vertex (from origin).

◆ FBLittleEndianToNative()

K_DLLIMPORT void FBLittleEndianToNative ( unsigned short &  pV)

Change from little endian to native format.

Parameters
pVValue to modify.

◆ FBMatrixInverse()

K_DLLIMPORT void FBMatrixInverse ( FBMatrix pMatrix,
const FBMatrix pSrc 
)

Invert a matrix.

Return values
pMatrixCalculated inverse matrix.
Parameters
pSrcSource matrix to invert.

◆ FBMatrixMult()

K_DLLIMPORT void FBMatrixMult ( FBMatrix pMatrix,
const FBMatrix pA,
const FBMatrix pB 
)

Multiply two matrices.

Return values
pMatrixCalculated resulting matrix.
Parameters
pA1st matrix.
pB2nd matrix.

◆ FBMatrixOrthogonalize()

K_DLLIMPORT void FBMatrixOrthogonalize ( FBMatrix pMatrix)

Make sure that rotation vectors are orthogonal and normalized (fast way for removing scaling from matrix)

Return values
pMatrixOrthogonalized matrix.
Parameters
pMatrixRotation Matrix to Orthogonalize.

◆ FBMatrixToQuaternion()

K_DLLIMPORT void FBMatrixToQuaternion ( FBQuaternion pQuaternion,
const FBMatrix pMatrix 
)

Get a quaternion from a matrix (potential ).

Return values
pQuaternionCalculated quaternion.
Parameters
pMatrixInput matrix.
Warning
Matrix can contain scaling and/or translation, we orthogonalize matrix before.

◆ FBMatrixToRotation()

K_DLLIMPORT void FBMatrixToRotation ( FBRVector pVector,
const FBMatrix pMatrix,
FBRotationOrder  pRotationOrder = kFBXYZ 
)

Obtain rotation vector from a matrix.

Return values
pVectorExtracted rotation vector, ordered the same way as the rotation order specified by pRotationOrder.
Parameters
pMatrixInput matrix.
pRotationOrderRotation order.

◆ FBMatrixToRotationWithPrecision()

K_DLLIMPORT void FBMatrixToRotationWithPrecision ( FBRVector pVector,
const FBMatrix pMatrix,
FBRotationOrder  pRotationOrder,
double  pPrecision = FBMat2EulerDegenerateForPrecision10 
)

Obtain rotation vector from a matrix.

Return values
pVectorExtracted rotation vector.
Parameters
pMatrixInput matrix.
pRotationOrderRotation Order.
pPrecisionIndicate the precision level (pow(10.0, -pPrecision)) used when calculating the threshold value for gimble lock.
Warning
Rotation is in EulerXYZ or EulerZYX only

◆ FBMatrixToScaling()

K_DLLIMPORT void FBMatrixToScaling ( FBSVector pVector,
const FBMatrix pMatrix 
)

Obtain scaling vector from a matrix.

Return values
pVectorExtracted scaling vector.
Parameters
pMatrixInput matrix.

◆ FBMatrixToTQS()

K_DLLIMPORT void FBMatrixToTQS ( FBTVector pTVector,
FBQuaternion pQuaternion,
FBSVector pSVector,
const FBMatrix pMatrix 
)

Obtain translation vector, rotation quaternion, and scaling vector from a matrix.

Return values
pTVectorExtracted translation vector.
pQuaternionExtracted rotation quaternion.
pSVectorExtracted scaling vector.
Parameters
pMatrixInput matrix.

◆ FBMatrixToTranslation()

K_DLLIMPORT void FBMatrixToTranslation ( FBTVector pVector,
const FBMatrix pMatrix 
)

Obtain translation vector from a matrix.

Return values
pVectorExtracted translation vector.
Parameters
pMatrixInput matrix.

◆ FBMatrixToTRS()

K_DLLIMPORT void FBMatrixToTRS ( FBTVector pTVector,
FBRVector pRVector,
FBSVector pSVector,
const FBMatrix pMatrix 
)

Obtain translation, rotation, and scaling vectors from a matrix.

Return values
pTVectorExtracted translation vector.
pRVectorExtracted rotation vector.
pSVectorExtracted scaling vector.
Parameters
pMatrixInput matrix.
Warning
Rotation is in EulerXYZ

◆ FBMatrixTranspose()

K_DLLIMPORT void FBMatrixTranspose ( FBMatrix pMatrix,
const FBMatrix pSrc 
)

Transpose a matrix.

Return values
pMatrixCalculated transpose matrix.
Parameters
pSrcSource matrix to transpose.

◆ FBMult() [1/3]

K_DLLIMPORT void FBMult ( FBMatrix pResult,
const FBMatrix pM,
const FBSVector pV 
)

Calculate the cross product of a Matrix and Scale Vector.

Return values
pResultResulting Matrix.
Parameters
pMMatrix.
pVvector.

◆ FBMult() [2/3]

K_DLLIMPORT void FBMult ( FBTVector pResult,
const FBTVector pV1,
const FBTVector pV2 
)

Calculate the cross product of two vectors.

Return values
pResultResulting vector.
Parameters
pV11st vector.
pV22nd vector.

◆ FBMult() [3/3]

K_DLLIMPORT void FBMult ( FBTVector pResult,
const FBTVector pV1,
double  pV2 
)

Multiply pV2 from pV1 (pResult = pV1 * pV2)

Return values
pResultResulting vector.
Parameters
pV11st vector.
pV22nd vector.

◆ FBQAdd()

K_DLLIMPORT void FBQAdd ( FBQuaternion pResult,
const FBQuaternion pQ1,
const FBQuaternion pQ2 
)

Add two quaternions together (pResult = pQ1 + pQ2)

Return values
pResultResulting quaternion.
Parameters
pQ11st quaternion.
pQ22nd quaternion.

◆ FBQDot()

K_DLLIMPORT double FBQDot ( const FBQuaternion pQ1,
const FBQuaternion pQ2 
)

Calculate the dot product of two quaternions.

Parameters
pQ11st quaternion.
pQ22nd quaternion.
Returns
Dot product.

◆ FBQLength()

K_DLLIMPORT double FBQLength ( const FBQuaternion pQ)

Get the length of a quaternion.

Parameters
pQQuaternion to calculate length for.
Returns
Length of quaternion pQ.

◆ FBQMult() [1/2]

K_DLLIMPORT void FBQMult ( FBQuaternion pResult,
const FBQuaternion pQ1,
const FBQuaternion pQ2 
)

Calculate the cross product of two quaternions.

Return values
pResultResulting quaternion.
Parameters
pQ11st quaternion.
pQ22nd quaternion.

◆ FBQMult() [2/2]

K_DLLIMPORT void FBQMult ( FBQuaternion pResult,
const FBQuaternion pQ1,
double  pQ2 
)

Multiply pQ2 from pQ1 (pResult = pQ1 * pQ2)

Return values
pResultResulting quaternion.
Parameters
pQ11st quaternion.
pQ22nd quaternion.

◆ FBQSub()

K_DLLIMPORT void FBQSub ( FBQuaternion pResult,
const FBQuaternion pQ1,
const FBQuaternion pQ2 
)

Subtract pQ2 from pQ1 (pResult = pQ1 - pQ2)

Return values
pResultResulting quaternion.
Parameters
pQ11st quaternion.
pQ22nd quaternion.

◆ FBQuaternionToMatrix()

K_DLLIMPORT void FBQuaternionToMatrix ( FBMatrix pMatrix,
const FBQuaternion pQuaternion 
)

Get a rotation matrix from a quaternion vector.

Return values
pMatrixCalculated rotation matrix.
Parameters
pQuaternionInput quaternion.

◆ FBQuaternionToRotation()

K_DLLIMPORT void FBQuaternionToRotation ( FBRVector pVector,
const FBQuaternion pQuaternion,
FBRotationOrder  pRotationOrder = kFBXYZ 
)

Get a rotation vector from a quaternion vector.

Return values
pVectorCalculated rotation vector, ordered the same way as the rotation order specified by pRotationOrder.
Parameters
pQuaternionInput quaternion.
pRotationOrderRotation order.
Warning
Rotation is in EulerXYZ or kFBZYX only

◆ FBQuaternionToRotationWithPrecision()

K_DLLIMPORT void FBQuaternionToRotationWithPrecision ( FBRVector pVector,
const FBQuaternion pQuaternion,
FBRotationOrder  pRotationOrder,
double  pPrecision = FBMat2EulerDegenerateForPrecision10 
)

Get a rotation vector from a quaternion vector.

Return values
pVectorCalculated rotation vector.
Parameters
pQuaternionInput quaternion.
pRotationOrderRotation order of the rotation vector.
pPrecisionIndicate the precision level (pow(10.0, -pPrecision)) used when calculating the threshold value for gimble lock.
Warning
Rotation is in EulerXYZ or kFBZYX only

◆ FBRotationToMatrix()

K_DLLIMPORT void FBRotationToMatrix ( FBMatrix pMatrix,
const FBRVector pVector,
FBRotationOrder  pRotationOrder = kFBXYZ 
)

Convert a rotation vector to a matrix.

Return values
pMatrixCalculated resulting matrix.
Parameters
pVectorRotation vector, ordered the same way as the rotation order specified by pRotationOrder.
pRotationOrderRotation order.

◆ FBRotationToQuaternion()

K_DLLIMPORT void FBRotationToQuaternion ( FBQuaternion pQuaternion,
const FBRVector pVector,
FBRotationOrder  pRotationOrder = kFBXYZ 
)

Get a quaternion from a rotation vector.

Return values
pQuaternionCalculated quaternion.
Parameters
pVectorInput rotation vector, ordered the same way as the rotation order specified by pRotationOrder.
pRotationOrderRotation order.

◆ FBScalingToMatrix()

K_DLLIMPORT void FBScalingToMatrix ( FBMatrix pMatrix,
const FBSVector pVector 
)

Convert a scaling vector to a matrix.

Return values
pMatrixCalculated resulting matrix.
Parameters
pVectorScaling vector.

◆ FBSub()

K_DLLIMPORT void FBSub ( FBTVector pResult,
const FBTVector pV1,
const FBTVector pV2 
)

Subtract pV2 from pV1 (pResult = pV1 - pV2)

Return values
pResultResulting vector.
Parameters
pV11st vector.
pV22nd vector.

◆ FBTQSToMatrix()

K_DLLIMPORT void FBTQSToMatrix ( FBMatrix pMatrix,
const FBTVector pTVector,
const FBQuaternion pQuaternion,
const FBSVector pSVector 
)

Convert translation vector, rotation quaternion, and scaling vector to a matrix.

Return values
pMatrixCalculated resulting matrix.
Parameters
pTVectorTranslation vector.
pQuaternionRotation quaternion.
pSVectorScaling vector.

◆ FBTranslationToMatrix()

K_DLLIMPORT void FBTranslationToMatrix ( FBMatrix pMatrix,
const FBTVector pVector 
)

Convert a translation vector to a matrix.

Return values
pMatrixCalculated resulting matrix.
Parameters
pVectorTranslation vector.

◆ FBTRSToMatrix()

K_DLLIMPORT void FBTRSToMatrix ( FBMatrix pMatrix,
const FBTVector pTVector,
const FBRVector pRVector,
const FBSVector pSVector 
)

Convert translation, rotation, and scaling vectors to a matrix.

Return values
pMatrixCalculated resulting matrix.
Parameters
pTVectorTranslation vector.
pRVectorRotation vector.
pSVectorScaling vector.
Warning
Rotation is in EulerXYZ

◆ FBVectorMatrixMult()

K_DLLIMPORT void FBVectorMatrixMult ( FBVector4d pOutVector,
const FBMatrix pMatrix,
const FBVector4d pVector 
)

Multiply a vector by a matrix.

Return values
pOutVectorResulting vector.
Parameters
pMatrixMatrix to affect the vector with.
pVectorSource vector.

◆ FBVertexMatrixMult()

K_DLLIMPORT void FBVertexMatrixMult ( FBVertex pOutVertex,
const FBMatrix pMatrix,
const FBVertex pVertex 
)

Multiply a vertex by a matrix.

Return values
pOutVertexResulting vertex.
Parameters
pMatrixMatrix to affect the vertex with.
pVertexSource vertex.