649 double pHipsOffsetGX[16] );
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...
Configures HumanIK to log informational messages that may indicate problems with your character setup...
void HIKCharacterStateCopy(HIKCharacterState *pStateOut, const HIKCharacterState *pStateIn)
Copy HIKCharacterState from pStateIn to pStateOut.
A description of a data set that contains separate translation, quaternion rotation, and scaling values for multiple Effectors in an HIKEffectorSetState.
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).
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 HIKCharacterStat...
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 pEffecto...
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...
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 p...
HIKLoggingLevel
Lists the possible logging levels that you can set for HumanIK.
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...
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 Effe...
int HIKGetChildNodeCount(const HIKCharacter *pCharacter, int pParentNodeId)
Retrieve the number of child Nodes associated with the parent Node pParentNodeId. ...
void HIKGetCharacterSpaceEffectorStatefv(const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, float pXForm[16])
Retrieve the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEff...
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 ...
Configures HumanIK to log the size of its call stack.
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.
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...
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 pEffector...
A description of a data set that contains separate translation, quaternion rotation, and scaling values for multiple different Nodes in an HIKCharacterState.
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...
Configures HumanIK to log its call stack.
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 pEffectorInde...
Defines an HIKEffectorSetState.
void HIKSetEffectorPullResistFromPropertyState(HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertySetState)
Transfer the Pull and Resist properties from the HIKPropertySetState pPropertySetState to the HIKEffe...
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 Effe...
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 da...
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 ...
int HIKGetParentNodeId(const HIKCharacter *pCharacter, int pChildNodeId)
Retrieve the parent Node of the specified Node pChildNodeId.
void HIKSetLoggingLevel(int pLogging)
Set the logging level for HumanIK.
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.
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...
If specified on its own, this flag disables the generation of all log messages.
Configures HumanIK to log the Degrees of Freedom set for each character when its geometry is finalize...
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 pEffec...
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).
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 Effe...
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 spec...
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 pEffecto...
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...
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 pNod...
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 ...
Defines a character's properties.
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...
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...
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 Effe...
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 ...
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.
int HIKGetChildNodeId(const HIKCharacter *pCharacter, int pParentNodeId, int pChildIndex)
Retrieve the child Node with index pChildIndex for the parent Node pParentNodeId. ...
Defines a pose for a character.
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 HIKCharacterStat...
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 interna...
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 p...
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 pEffector...
Configures HumanIK to log severe problems with your character setup.
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 ...
void HIKGetCharacterSpaceEffectorStatedv(const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, double pXForm[16])
Retrieve the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEff...
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 ...
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 pNod...
void HIKBlendEffectorPivotsTQSdv(HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pT)[4], double(*pQ)[4], double(*pS)[4], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount)
Blend the translation (T), quaternion rotation (Q), scaling (S) and IK constraints of Effector pEffec...
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 ...
Defines a character to be used with HumanIK.
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 pEffec...
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 ...
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.
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 ...
void HIKApplyHumanLimits(const HIKCharacter *pCharacter, HIKCharacterState *pState)
Applies the limits built in to the HumanIK bio-mechanical model to the pose contained in pState...
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 ...
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 b...
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...