HIK2016/humanik/hikutils.h File Reference

hikutils.h File Reference
#include "humanik.h"
#include "hikproperty.h"

Enumerations

enum  HIKLoggingLevel {
  HIKNone = 0, HIKError = 1 << 0, HIKMessage = 1 << 2, HIKCallstack = 1 << 3,
  HIKStacksize = 1 << 4, HIKLimits = 1 << 5, HIKNone = 0, HIKError = 1 << 0,
  HIKMessage = 1 << 2, HIKCallstack = 1 << 3, HIKStacksize = 1 << 4, HIKLimits = 1 << 5
}
 

Functions

void HIKSetNodeNormalizedStateTQSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKSetNodeNormalizedStateTQSdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pT[4], const double pQ[4], const double pS[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKSetNodeNormalizedStatefv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pXForm[16])
 Set the transform matrix for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKSetNodeNormalizedStatedv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pXForm[16])
 Set the transform matrix for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKGetNodeNormalizedStateTQSfv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float pT[4], float pQ[4], float pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKGetNodeNormalizedStateTQSdv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, double pT[4], double pQ[4], double pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKGetNodeNormalizedStatefv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float pXForm[16])
 Retrieve the transform matrix for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKGetNodeNormalizedStatedv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, double pXForm[16])
 Retrieve the transform matrix for Node pNodeId in HIKCharacterState pCharacterState, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKSetNormalizedCharacterStateTransformTQS (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet)
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for all Nodes listed in data description pDataDescription, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKGetNormalizedCharacterStateTransformTQS (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, void *pDataSet)
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for all Nodes listed in data description pDataDescription, without applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance). More...
 
void HIKSetEffectorPivotStateTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pT[4], const float pQ[4], const float pS[4], const float pIKPivot[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetEffectorPivotStateTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pT[4], const double pQ[4], const double pS[4], const double pIKPivot[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetEffectorPivotStatefv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16], const float pIKPivot[4])
 Set the transform matrix for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetEffectorPivotStatedv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16], const double pIKPivot[4])
 Set the transform matrix for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKGetEffectorPivotStateTQSfv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pT[4], float pQ[4], float pS[4], const float pIKPivot[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKGetEffectorPivotStateTQSdv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, double pT[4], double pQ[4], double pS[4], const double pIKPivot[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKGetEffectorPivotStatefv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pXForm[16], const float pIKPivot[4])
 Retrieve the transform matrix for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKGetEffectorPivotStatedv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, double pXForm[16], const double pIKPivot[4])
 Retrieve the transform matrix for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetCharacterSpaceEffectorStateTQSfv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const float pT[4], const float pQ[4], const float pS[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStateTQfv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const float pT[4], const float pQ[4])
 Set the translation (T) and quaternion rotation (Q) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStateTQSdv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const double pT[4], const double pQ[4], const double pS[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStatefv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const float pXForm[16])
 Set the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStatedv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const double pXForm[16])
 Set the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStateTQSfv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, float pT[4], float pQ[4], float pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, and applies any rotation and scale offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStateTQSdv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, double pT[4], double pQ[4], double pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, and applies any rotation and scale offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStatefv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, float pXForm[16])
 Retrieve the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, and applies any rotation and scale offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStatedv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, double pXForm[16])
 Retrieve the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, and applies any rotation and scale offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStateDataTQ (const HIKCharacter *pCharacter, HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescription *pDataDescription, const void *pDataSet)
 Set the translation (T), quaternion rotation (Q) and IK constraints for all Effectors specified in data description pDataDescription, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of each Effector. More...
 
void HIKGetCharacterSpaceEffectorStateDataTQ (const HIKCharacter *pCharacter, const HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescription *pDataDescription, void *pDataSet)
 Retrieve the translation (T), quaternion rotation (Q) and IK constraint values for all Effectors specified in data description pDataDescription, applying any rotation and scale offsets contained in the character's characterization pose (its default T-stance) to the final rotation of each Effector. More...
 
int HIKGetFloorContactPointPositionfv (const HIKCharacter *pCharacter, const HIKCharacterState *pState, const HIKPropertySetState *pPropertySetState, int pMemberIndex, int pContactIndex, float pT[4])
 Retrieve the translation in global space for one of the markers used by the floor contact engine to define the feet or hands of character pCharacter with HIKCharacterState pState. More...
 
int HIKGetFloorContactPointPositiondv (const HIKCharacter *pCharacter, const HIKCharacterState *pState, const HIKPropertySetState *pPropertySetState, int pMemberIndex, int pContactIndex, double pXForm[16])
 Retrieve the translation in global space for one of the markers used by the floor contact engine to define the feet or hands of character pCharacter with HIKCharacterState pState. More...
 
void HIKSetEffectorPullResistFromPropertyState (HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertySetState)
 Transfer the Pull and Resist properties from the HIKPropertySetState pPropertySetState to the HIKEffectorSetState pEffectorSetState. More...
 
int HIKGetParentNodeId (const HIKCharacter *pCharacter, int pChildNodeId)
 Retrieve the parent Node of the specified Node pChildNodeId. More...
 
int HIKGetChildNodeCount (const HIKCharacter *pCharacter, int pParentNodeId)
 Retrieve the number of child Nodes associated with the parent Node pParentNodeId. More...
 
int HIKGetChildNodeId (const HIKCharacter *pCharacter, int pParentNodeId, int pChildIndex)
 Retrieve the child Node with index pChildIndex for the parent Node pParentNodeId. More...
 
void HIKCharacterStateCopy (HIKCharacterState *pStateOut, const HIKCharacterState *pStateIn)
 Copy HIKCharacterState from pStateIn to pStateOut. More...
 
void HIKBlendState (const HIKCharacter *pCharacter, HIKCharacterState *pStateOut, HIKCharacterState const *pStateIn1, HIKCharacterState const *pStateIn2, float blendFactor)
 Perform a linear blending between HIKCharacterState pStateIn1 and HIKCharacterState pStateIn2. More...
 
void HIKEffectorStatePostMultTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 Post multiply the current translation, rotation and scale of Effector pEffectorIndex with pT, pQ and pS. More...
 
void HIKEffectorStatePostMultTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 Post multiply the current translation, rotation and scale of Effector pEffectorIndex with pT, pQ and pS. More...
 
void HIKEffectorStatePostMultfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16], int pInverse)
 Post multiply the current translation, rotation and scale of Effector pEffectorIndex with pXForm. More...
 
void HIKEffectorStatePostMultdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16], int pInverse)
 Post multiply the current translation, rotation and scale of Effector pEffectorIndex with pXForm. More...
 
void HIKApplyHumanLimits (const HIKCharacter *pCharacter, HIKCharacterState *pState)
 Applies the limits built in to the HumanIK bio-mechanical model to the pose contained in pState. More...
 
void HIKRelaxState (const HIKCharacter *pCharacter, HIKCharacterState *pState, float pX, float pY, float pZ)
 Blends the pose contained in HIKCharacterState pState with a default "relaxed pose" generated internally for the character. More...
 
void HIKSetLoggingLevel (int pLogging)
 Set the logging level for HumanIK. More...
 
void HIKNodeStatePreMultTQSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 Pre multiply the current translation, rotation and scale of Node pNodeId with pT, pQ and pS. More...
 
void HIKNodeStatePreMultTQSdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 Pre multiply the current translation, rotation and scale of Node pNodeId with pT, pQ and pS. More...
 
void HIKNodeStatePreMultTQSUpfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 Pre multiply the current translation, rotation and scale of all Nodes in the HIKCharacterState with pT, pQ and pS. More...
 
void HIKNodeStatePreMultTQSUpdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 Pre multiply the current translation, rotation and scale of all Nodes in the HIKCharacterState with pT, pQ and pS. More...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterTQSfv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, float pT[4], float pQ[4], float pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterTQSdv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pT[4], double pQ[4], double pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterfv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, float pXForm[16])
 Retrieve the transform matrix of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterdv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pXForm[16])
 Retrieve the transform matrix of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKBlendEffectorPivotsTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, float(*pT)[4], float(*pQ)[4], float(*pS)[4], float(*pIKPivotArray)[4], float *pReachTArray, float *pReachRArray, int pPivotCount)
 Blend the translation (T), quaternion rotation (Q), scaling (S) and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array. More...
 
void HIKBlendEffectorPivotsTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pT)[4], double(*pQ)[4], double(*pS)[4], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount, double pRevert[4])
 Blend the translation (T), quaternion rotation (Q), scaling (S) and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array. More...
 
void HIKRevertEffectorPivotsTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pT)[4], double(*pQ)[4], double(*pS)[4], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount, double(*pRevert)[4])
 Blend the translation (T), quaternion rotation (Q), scaling (S) and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array. More...
 
void HIKBlendEffectorPivotsfv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, float(*pXFormArray)[16], float(*pIKPivotArray)[4], float *pReachTArray, float *pReachRArray, int pPivotCount)
 Blend the transform matrix and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array. More...
 
void HIKBlendEffectorPivotsdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pXFormArray)[16], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount)
 Blend the transform matrix and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array. More...
 
void HIKPasteState (HIKCharacter *pCharacter, HIKCharacterState *pOutputState, HIKCharacterState *pCurrentState, HIKCharacter *pFromCharacter, HIKCharacterState *pFromState, HIKPropertySetState *pFilterSet, HIKPropertySetState *pFromFilterSet, double pHipsOffsetGX[16])
 Copies HIKCharacterState pFromState for HIKCharacter pFromCharacter, and pastes it into pOutputState for use with a different HIKCharacter. More...
 
void HIKMirrorState (HIKCharacter *pCharacter, HIKCharacterState *pMirrorState, HIKCharacterState *pFromState, HIKCharacter *pFromCharacter, double pMirrorGQ[4])
 Reflects the pose contained in HIKCharacterState pFromState in a plane whose orientation is defined by pMirrorGQ. More...
 

Enumeration Type Documentation

Enumerator
HIKNone 

If specified on its own, this flag disables the generation of all log messages.

If specified in conjunction with any other logging level listed below, this flag has no effect.

HIKError 

Configures HumanIK to log severe problems with your character setup.

For example, if your HIKCharacter is missing one or more required Nodes.

HIKMessage 

Configures HumanIK to log informational messages that may indicate problems with your character setup.

For example, if your character's arms do not appear to be aligned along the X axis.

HIKCallstack 

Configures HumanIK to log its call stack.

HIKStacksize 

Configures HumanIK to log the size of its call stack.

HIKLimits 

Configures HumanIK to log the Degrees of Freedom set for each character when its geometry is finalized through a call to the HIKCharacterizeGeometry function.

HIKNone 

If specified on its own, this flag disables the generation of all log messages.

If specified in conjunction with any other logging level listed below, this flag has no effect.

HIKError 

Configures HumanIK to log severe problems with your character setup.

For example, if your HIKCharacter is missing one or more required Nodes.

HIKMessage 

Configures HumanIK to log informational messages that may indicate problems with your character setup.

For example, if your character's arms do not appear to be aligned along the X axis.

HIKCallstack 

Configures HumanIK to log its call stack.

HIKStacksize 

Configures HumanIK to log the size of its call stack.

HIKLimits 

Configures HumanIK to log the Degrees of Freedom set for each character when its geometry is finalized through a call to the HIKCharacterizeGeometry function.

Definition at line 486 of file hikutils.h.

487 {
490  HIKNone = 0,
493  HIKError = 1 << 0,
496  HIKMessage = 1 << 2,
497  HIKCallstack = 1 << 3,
498  HIKStacksize = 1 << 4,
499 
501  HIKLimits = 1 << 5
502 };
Configures HumanIK to log informational messages that may indicate problems with your character setup...
Definition: hikutils.h:496
Configures HumanIK to log the size of its call stack.
Definition: hikutils.h:498
Configures HumanIK to log its call stack.
Definition: hikutils.h:497
If specified on its own, this flag disables the generation of all log messages.
Definition: hikutils.h:490
Configures HumanIK to log the Degrees of Freedom set for each character when its geometry is finalize...
Definition: hikutils.h:501
Configures HumanIK to log severe problems with your character setup.
Definition: hikutils.h:493

Function Documentation

void HIKBlendEffectorPivotsfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
float(*)  pXFormArray[16],
float(*)  pIKPivotArray[4],
float *  pReachTArray,
float *  pReachRArray,
int  pPivotCount 
)

Blend the transform matrix and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array.

The blending between each set of values is controlled by the pReachTArray and pReachRArray parameters. The higher these values, the more the final solution will be weighted toward the corresponding transform matrix and IK constraint values.

Parameters
pEffectorSetStateThe HIKEffectorSetState containing pEffectorId.
pEffectorIdThe unique ID of the Effector to be blended.
pXFormArrayAn array that contains the different transform matrices to be blended for the Effector.
pIKPivotArrayAn array of IK pivots to be blended for the Effector. You can blend the transform matrix and IK constraint values for Effectors that do not have IK pivots by setting the values in this array to 0.0f.
pReachTArrayAn array that controls the relative weight of the translation values provided for the Effector.
pReachRArrayAn array that controls the relative weight of the orientation values provided for the Effector.
pPivotCountThe total number of sets of transform matrices and IK constraint values (i.e. the length of the pXFormArray, pIKPivotArray, pReachTArray and pReachRArray parameters).
void HIKBlendEffectorPivotsTQSfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
float(*)  pT[4],
float(*)  pQ[4],
float(*)  pS[4],
float(*)  pIKPivotArray[4],
float *  pReachTArray,
float *  pReachRArray,
int  pPivotCount 
)

Blend the translation (T), quaternion rotation (Q), scaling (S) and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array.

The blending between each set of values is controlled by the pReachTArray and pReachRArray parameters. The higher these values, the more the final solution will be weighted toward the corresponding set of TQS and IK constraint values.

Parameters
pEffectorSetStateThe HIKEffectorSetState containing pEffectorId.
pEffectorIdThe unique ID of the Effector to be blended.
pTAn array that contains the different translation values to be blended for the Effector.
pQAn array of quaternions that contains the different rotation values to be blended for the Effector.
pSAn array that contains the different scaling values to be blended for the Effector.
pIKPivotArrayAn array of IK pivots to be blended for the Effector. You can blend TQS and IK constraint values for Effectors that do not have IK pivots by setting the values in this array to 0.0f.
pReachTArrayAn array that controls the relative weight of the translation values provided for the Effector.
pReachRArrayAn array that controls the relative weight of the orientation values provided for the Effector.
pPivotCountThe total number of sets of TQS and IK constraint values (i.e. the length of the pT, pQ, pT, pIKPivotArray, pReachTArray and pReachRArray parameters).
void HIKRevertEffectorPivotsTQSdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
double(*)  pT[4],
double(*)  pQ[4],
double(*)  pS[4],
double(*)  pIKPivotArray[4],
double *  pReachTArray,
double *  pReachRArray,
int  pPivotCount,
double(*)  pRevert[4] 
)

Blend the translation (T), quaternion rotation (Q), scaling (S) and IK constraints of Effector pEffectorId in HIKEffectorSetState pEffectorSetState between multiple values, each provided in a separate array.

Retrieve the original position and orientation of an effector from blended transforms (as produced by the HIKBlendEffectorPivotsTQSdv function for instance)

Parameters
pEffectorSetStateThe HIKEffectorSetState containing pEffectorId. (blended transforms)
pEffectorIdThe unique ID of the Effector to be reverted.
pTAn array that contains the different translation values that were blended for the Effector.
pQAn array of quaternions that contains the different rotation values that were blended for the Effector.
pSAn array that contains the different scaling values that were blended for the Effector.
pIKPivotArrayAn array of IK pivots that were blended for the Effector. TODO: Not used yet
pReachTArrayAn array that controls the relative weight of the translation values provided for the Effector.
pReachRArrayAn array that controls the relative weight of the orientation values provided for the Effector.
pPivotCountThe total number of sets of TQS and IK constraint values (i.e. the length of the pT, pQ, pT, pIKPivotArray, pReachTArray and pReachRArray parameters).
pRevertRevert quaternion data as returned by former HIKBlendEffectorPivotsTQSdv call for the Effector.

Go to the source code of this file.