#include <stddef.h>Main header file for HumanIK.
This file contains the HumanIK retargeting and full-body IK solvers.
Classes | |
| struct | HIKCharacterDefinition |
| Defines which Nodes are to be used by an HIKCharacter. More... | |
| struct | HIKDataDescription |
| A description of a data set that contains separate translation, quaternion rotation, and scaling values for multiple different Nodes in an HIKCharacterState. More... | |
| struct | HIKDataDescriptionMatrix |
| A description of a data set that contains transform matrices for multiple different Nodes in an HIKCharacterState. More... | |
| struct | HIKEffectorDataDescription |
| A description of a data set that contains separate translation, quaternion rotation, and scaling values for multiple Effectors in an HIKEffectorSetState. More... | |
| struct | HIKEffectorDataDescriptionMatrix |
| A description of a data set that contains transform matrices for multiple different Effectors in an HIKEffectorSetState. More... | |
Typedefs | |
| typedef enum HIKMiddleJoint | eHIKMiddleJoint |
| typedef enum HIKRotationOrder | eHIKRotationOrder |
| typedef enum HIKToken | eHIKToken |
| typedef void(* | HIKFree) (void *) |
| typedef void *(* | HIKMalloc) (size_t) |
Functions | |
| void | HIKAddQuadripedOffset (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Add quadruped offsets to HIKCharacterState pCharacterState. More... | |
| HIKCharacter * | HIKCharacterCreate (const HIKCharacterDefinition *pCharacterDefinition, HIKMalloc pMalloc, const char *pValidationString) |
| Create a new HIKCharacter. More... | |
| HIKCharacter * | HIKCharacterCreateInPlace (const HIKCharacterDefinition *pCharacterDefinition, void *pBuffer, const char *pValidationString) |
Create a new HIKCharacter in the buffer pBuffer. More... | |
| size_t | HIKCharacterDefinitionSize (const HIKCharacterDefinition *pCharacterDefinition) |
Returns the size in bytes required by an HIKCharacter based on HIKCharacterDefinition pCharacterDefinition. More... | |
| void | HIKCharacterDestroy (HIKCharacter *pCharacter, HIKFree pFree) |
Destroy HIKCharacter pCharacter. More... | |
| bool | HIKCharacterizeGeometry (HIKCharacter *pCharacter) |
Set up and initialize character pCharacter for solving. More... | |
| size_t | HIKCharacterSize (const HIKCharacter *pCharacter) |
Returns the size of HIKCharacter pCharacter in bytes. More... | |
| HIKCharacterState * | HIKCharacterStateCreate (const HIKCharacter *pCharacter, HIKMalloc pMalloc) |
| Create a new HIKCharacterState. More... | |
| HIKCharacterState * | HIKCharacterStateCreateInPlace (const HIKCharacter *pCharacter, void *pBuffer) |
Create a new HIKCharacterState in the buffer pBuffer. More... | |
| void | HIKCharacterStateDestroy (HIKCharacterState *pCharacterState, HIKFree pFree) |
Destroy HIKCharacterState pCharacterState. More... | |
| size_t | HIKCharacterStateSize (const HIKCharacter *pCharacter) |
Returns the size in bytes required by any HIKCharacterState that defines a pose for HIKCharacter pCharacter. All HIKCharacterStates for a given character are always the same size. More... | |
| size_t | HIKCharacterStateSizeFromDefinition (const HIKCharacterDefinition *pCharacterDefinition) |
Returns the size in bytes required by any HIKCharacterState that defines a pose for an HIKCharacter based on HIKCharacterDefinition pCharacterDefinition. More... | |
| size_t | HIKCharacterStateSizeFromState (const HIKCharacterState *pCharacterState) |
Returns the size of HIKCharacterState pCharacterState in bytes. All HIKCharacterStates for a given character are always the same size. More... | |
| int | HIKEffectorIdFromEffectorName (const char *pName) |
| Retrieve the Effector ID from a descriptive name. This is a utility function that maps between FBX and HIK. More... | |
| const char * | HIKEffectorNameFromEffectorId (int pEffectorId) |
Retrieve a descriptive name for Effector pEffectorId. This is a utility function that maps between FBX and HIK. More... | |
| void | HIKEffectorSetFromCharacter (const HIKCharacter *pCharacter, HIKEffectorSetState *pEffectorSetState, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState) |
Set up HIKEffectorSetState pEffectorSetState to match character pCharacter in HIKCharacterState pCharacterState. More... | |
| HIKEffectorSetState * | HIKEffectorSetStateCreate (HIKMalloc pMalloc) |
| Create a new HIKEffectorSetState. More... | |
| HIKEffectorSetState * | HIKEffectorSetStateCreateInPlace (void *pBuffer) |
Create a new HIKEffectorSetState in the buffer pBuffer. More... | |
| void | HIKEffectorSetStateDestroy (HIKEffectorSetState *pESetState, HIKFree pFree) |
Destroy HIKEffectorSetState pESetState. More... | |
| size_t | HIKEffectorSetStateSize () |
| Return the size of an HIKEffectorSetState object in bytes. More... | |
| void | HIKEulerFromQuat (const float quat[4], float euler[4]) |
| Compute euler angles from a quaternion (default XYZ order) More... | |
| void | HIKGetCharacterizeNodeStatefv (const HIKCharacter *pCharacter, int pNodeId, float pXForm[16]) |
Retrieve the transform matrix for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKGetCharacterizeNodeStateTQSdv (const HIKCharacter *pCharacter, int pNodeId, double pT[4], double pQ[4], double pS[4]) |
Retrieve the translation, orientation and scaling for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKGetCharacterizeNodeStateTQSfv (const HIKCharacter *pCharacter, int pNodeId, float pT[4], float pQ[4], float pS[4]) |
Retrieve the translation, orientation and scaling for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKGetCharacterStateTransform (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescriptionMatrix *pDataDescription, void *pDataSet) |
Retrieve the transform matrices of multiple Nodes from HIKCharacterState pCharacterState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetCharacterStateTransformQ (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, void *pDataSet) |
Retrieve the quaternion rotation (Q) of multiple Nodes from HIKCharacterState pCharacterState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetCharacterStateTransformTQ (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, void *pDataSet) |
Retrieve the translation (T) and quaternion rotation (Q) of multiple Nodes from HIKCharacterState pCharacterState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetCharacterStateTransformTQS (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, void *pDataSet) |
Retrieve the translation (T), quaternion rotation (Q) and scaling (S) of multiple Nodes from HIKCharacterState pCharacterState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetCharacterStateTransformTQS_SoA (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, void *pDataSet) |
Retrieve the translation (T), quaternion rotation (Q) and scaling (S) of multiple Nodes from HIKCharacterState pCharacterState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetDefaultState (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Retrieve the default T-stance for character pCharacter, storing it in HIKCharacterState pCharacterState. This function always returns the same stance for the given character. The default stance does not differ before and after you perform a solve. More... | |
| void | HIKGetDOFFromLocalQfv (const HIKCharacter *pCharacter, int pNodeId, const float pQuat[4], float pEuler[4]) |
| Compute the euler angle equivalent of a local quaternion, using the DOFs structures (pre-rotation, rotation order, ...) More... | |
| void | HIKGetEffectorFloorStatedv (const HIKEffectorSetState *pEffectorSetState, int pFloor, double pXForm[16]) |
| Retrieve the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKGetEffectorFloorStatefv (const HIKEffectorSetState *pEffectorSetState, int pFloor, float pXForm[16]) |
| Retrieve the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKGetEffectorFloorStateTQdv (const HIKEffectorSetState *pEffectorSetState, int pFloor, double pT[4], double pQ[4]) |
| Retrieve the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKGetEffectorFloorStateTQfv (const HIKEffectorSetState *pEffectorSetState, int pFloor, float pT[4], float pQ[4]) |
| Retrieve the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKGetEffectorStateData (const HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescriptionMatrix *pDataDescription, void *pDataSet) |
Retrieve the transform matrix and IK constraints of multiple Effectors from HIKEffectorSetState pEffectorSetState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetEffectorStateDataTQS (const HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescription *pDataDescription, void *pDataSet) |
Retrieve the translation (T), quaternion rotation (Q), scaling (S), and IK constraints of multiple Effectors from HIKEffectorSetState pEffectorSetState, writing them to memory in data set pDataSet according to data description pDataDescription. More... | |
| void | HIKGetEffectorStatedv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, double pXForm[16]) |
Retrieve the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. More... | |
| void | HIKGetEffectorStateFromCharacterdv (const HIKCharacter *pCharacter, int pEffectorIndex, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pXForm[16]) |
Retrieve the transform matrix of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState. More... | |
| void | HIKGetEffectorStateFromCharacterfv (const HIKCharacter *pCharacter, int pEffectorIndex, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, float pXForm[16]) |
Retrieve the transform matrix of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState. More... | |
| void | HIKGetEffectorStatefv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pXForm[16]) |
Retrieve the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. More... | |
| void | HIKGetEffectorStateTQAlignfv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float *pTQ, size_t pTOffset, size_t pQOffset) |
Retrieve the translation (T) and quaternion rotation (Q) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are stored at specified offsets within a single array. More... | |
| void | HIKGetEffectorStateTQfv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pT[4], float pQ[4]) |
Retrieve the translation (T) and quaternion rotation (Q) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are expressed using separate arrays. More... | |
| void | HIKGetEffectorStateTQSAlignfv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float *pTQS, size_t pTOffset, size_t pQOffset, size_t pSOffset) |
Retrieve the translation (T), quaternion rotation (Q) and scaling (S) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are stored at specified offsets within a single array. More... | |
| void | HIKGetEffectorStateTQSdv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, double pT[4], double pQ[4], double pS[4]) |
Retrieve the translation (T), quaternion rotation (Q) and scaling (S) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are expressed using separate arrays. More... | |
| void | HIKGetEffectorStateTQSfv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pT[4], float pQ[4], float pS[4]) |
Retrieve the translation (T), quaternion rotation (Q) and scaling (S) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are expressed using separate arrays. More... | |
| float | HIKGetHandPullHips (const HIKEffectorSetState *pEffectorSetState, int pLeft) |
| Retrieve the amount of pull the left or right hand can exert on the hips. More... | |
| int | HIKGetIKSolvingStep (const HIKEffectorSetState *pEffectorSetState) |
Retrieve the IK solving steps currently set for HIKEffectorSetState pEffectorSetState. More... | |
| void | HIKGetLimitsdv (const HIKCharacter *pCharacter, int pNodeId, double pMin[3], double pMax[3], double pPreQ[4], double pPostQ[4], int &pActiveMask, eHIKRotationOrder &pRotationOrder) |
Retrieve the limits set for Node pNodeId. More... | |
| void | HIKGetLimitsfv (const HIKCharacter *pCharacter, int pNodeId, float pMin[3], float pMax[3], float pPreQ[4], float pPostQ[4], int &pActiveMask, eHIKRotationOrder &pRotationOrder) |
Retrieve the limits set for Node pNodeId. More... | |
| void | HIKGetLocalQFromDOFfv (const HIKCharacter *pCharacter, int pNodeId, const float pEuler[4], float pQuat[4]) |
| Compute a local quaternion from an euler angle, using the DOFs structures (pre-rotation, rotation order, ...) More... | |
| void | HIKGetNodeStatedv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, double pXForm[16]) |
Retrieve the transform matrix of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKGetNodeStatefv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float pXForm[16]) |
Retrieve the transform matrix of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKGetNodeStateTQAlignfv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float *pTQ, size_t pTOffset, size_t pQOffset) |
Retrieve the translation (T) and quaternion rotation (Q) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are stored at specified offsets within a single array. More... | |
| void | HIKGetNodeStateTQfv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float pT[4], float pQ[4]) |
Retrieve the translation (T) and quaternion rotation (Q) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKGetNodeStateTQNonUniformSfv (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 non-uniform scaling (S) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKGetNodeStateTQSAlignfv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float *pTQS, size_t pTOffset, size_t pQOffset, size_t pSOffset) |
Retrieve the translation (T), quaternion rotation (Q) and scaling (S) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are stored at specified offsets within a single array. More... | |
| void | HIKGetNodeStateTQSdv (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) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKGetNodeStateTQSfv (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) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| int | HIKGetNodeUse (const HIKCharacter *pCharacter, int pNodeId) |
Retrieve the characterization flag set for Node pNodeId in HIKCharacter pCharacter. More... | |
| void | HIKGetParentOffsetdv (const HIKCharacter *pCharacter, int pNodeId, double pParentTOffset[4], double pParentQOffset[4], double pParentSOffset[4]) |
Retrieve the parent offset set for Node pNodeId. More... | |
| void | HIKGetParentOffsetfv (const HIKCharacter *pCharacter, int pNodeId, float pParentTOffset[4], float pParentQOffset[4], float pParentSOffset[4]) |
Retrieve the parent offset set for Node pNodeId. More... | |
| float | HIKGetPull (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Pull constraint for Effector pEffectorIndex. More... | |
| void | HIKGetRelaxPose (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Calculate a basic seated pose for character pCharacter, storing it in HIKCharacterState pCharacterState. More... | |
| float | HIKGetResist (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Resist constraint for Effector pEffectorIndex. More... | |
| float | HIKGetRotationActive (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Reach Rotation constraint for Effector pEffectorIndex. More... | |
| float | HIKGetTranslationActive (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Reach Translation constraint for Effector pEffectorIndex. More... | |
| void | HIKInverseJoint (HIKCharacter *pCharacter, eHIKMiddleJoint pJoint, int pInverse) |
| Reverses the direction in which a middle joint bends, such as a knee or elbow. More... | |
| int | HIKIsJointInverted (const HIKCharacter *pCharacter, eHIKMiddleJoint pJoint) |
| Indicates whether or not a middle joint is inverted. More... | |
| int | HIKNodeIdFromNodeName (const char *pName) |
| Retrieve the Node ID from a descriptive name. This is a utility function that maps between FBX and HIK. More... | |
| const char * | HIKNodeNameFromNodeId (int pNodeId) |
Retrieve a descriptive name for Node pNodeId. This is a utility function that maps between FBX and HIK. More... | |
| void | HIKQTransform (const float quat[4], const float p[4], float q[4]) |
| Compute the result of a point tranformed by a quaternion. More... | |
| void | HIKSetCharacterizeNodeStatedv (HIKCharacter *pCharacter, int pNodeId, const double pXForm[16]) |
Set the transform matrix for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKSetCharacterizeNodeStatefv (HIKCharacter *pCharacter, int pNodeId, const float pXForm[16]) |
Set the transform matrix for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKSetCharacterizeNodeStateTQSdv (HIKCharacter *pCharacter, int pNodeId, const double pT[4], const double pQ[4], const double pS[4]) |
Set the translation, orientation and scaling for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKSetCharacterizeNodeStateTQSfv (HIKCharacter *pCharacter, int pNodeId, const float pT[4], const float pQ[4], const float pS[4]) |
Set the translation, orientation and scaling for the Node pNodeId when the character is standing in the default T-stance. More... | |
| void | HIKSetCharacterStateTransform (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescriptionMatrix *pDataDescription, const void *pDataSet) |
Set the transform matrix of multiple Nodes from data set pDataSet, interpreted according to data description pDataDescription. More... | |
| void | HIKSetCharacterStateTransformTQ (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
Set the translation (T) and quaternion rotation (Q) of multiple Nodes from data set pDataSet, interpreted according to data description pDataDescription. More... | |
| void | HIKSetCharacterStateTransformTQS (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
Set the translation (T), quaternion rotation (Q) and scaling (S) of multiple Nodes from data set pDataSet, interpreted according to data description pDataDescription. More... | |
| void | HIKSetCharacterStateTransformTQS_SoA (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const HIKDataDescription *pDataDescription, const void *pDataSet) |
Set the translation (T), quaternion rotation (Q) and scaling (S) of multiple Nodes from data set pDataSet, interpreted according to data description pDataDescription. More... | |
| void | HIKSetEffectorFloorStatedv (HIKEffectorSetState *pEffectorSetState, int pFloor, const double pXForm[16]) |
| Set the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKSetEffectorFloorStatefv (HIKEffectorSetState *pEffectorSetState, int pFloor, const float pXForm[16]) |
| Set the transform matrix of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKSetEffectorFloorStateTQdv (HIKEffectorSetState *pEffectorSetState, int pFloor, const double pT[4], const double pQ[4]) |
| Set the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKSetEffectorFloorStateTQfv (HIKEffectorSetState *pEffectorSetState, int pFloor, const float pT[4], const float pQ[4]) |
| Set the translation and rotation in global space of the oriented plane that the floor contact engine applies to one of your character's feet or hands. More... | |
| void | HIKSetEffectorStateData (HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescriptionMatrix *pDataDescription, const void *pDataSet) |
Set the transform matrix and IK constraints of multiple Effectors from data set pDataSet, interpreted according to data description pDataDescription. More... | |
| void | HIKSetEffectorStateDataTQS (HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescription *pDataDescription, const void *pDataSet) |
Set the translation (T), quaternion rotation (Q), scaling (S), and IK constraints of multiple Effectors from data set pDataSet, interpreted according to data description pDataDescription. More... | |
| void | HIKSetEffectorStatedv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16]) |
Set the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. More... | |
| void | HIKSetEffectorStatefv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16]) |
Set the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. More... | |
| void | HIKSetEffectorStateTQAlignfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float *pTQ, size_t pTOffset, size_t pQOffset) |
Set the translation (T) and quaternion rotation (Q) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are read from specified offsets within a single array. More... | |
| void | HIKSetEffectorStateTQSAlignfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float *pTQS, size_t pTOffset, size_t pQOffset, size_t pSOffset) |
Set the translation (T), quaternion rotation (Q) and scaling (S) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are read from specified offsets within a single array. More... | |
| void | HIKSetEffectorStateTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pT[4], const double pQ[4], const double pS[4]) |
Set the translation (T), quaternion rotation (Q) and scaling (S) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are provided in separate arrays. More... | |
| void | HIKSetEffectorStateTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pT[4], const float pQ[4], const float pS[4]) |
Set the translation (T), quaternion rotation (Q) and scaling (S) in global space of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState. Values are provided in separate arrays. More... | |
| void | HIKSetHandPullHips (HIKEffectorSetState *pEffectorSetState, int pLeft, float pValue) |
| Set the amount of pull the left or right hand can exert on the hips. More... | |
| void | HIKSetIKSolvingStep (HIKEffectorSetState *pEffectorSetState, int pSolvingStep) |
Set the IK solving steps for HIKEffectorSetState pEffectorSetState. More... | |
| void | HIKSetLimitsdv (HIKCharacter *pCharacter, int pNodeId, const double pMin[3], const double pMax[3], const double pPreQ[4], const double pPostQ[4], int pActiveMask, eHIKRotationOrder pRotationOrder) |
Set up limits for Node pNodeId. More... | |
| void | HIKSetLimitsfv (HIKCharacter *pCharacter, int pNodeId, const float pMin[3], const float pMax[3], const float pPreQ[4], const float pPostQ[4], int pActiveMask, eHIKRotationOrder pRotationOrder) |
Set up limits for Node pNodeId. More... | |
| void | HIKSetMaxXYZRotationdv (HIKCharacter *pCharacter, int pNodeId, const double pMax[3], int pMaxActiveMask) |
Set the maximum rotation for the Node pNodeId. More... | |
| void | HIKSetMaxXYZRotationfv (HIKCharacter *pCharacter, int pNodeId, const float pMax[3], int pMaxActiveMask) |
Set the maximum rotation for the Node pNodeId. More... | |
| void | HIKSetMinXYZRotationdv (HIKCharacter *pCharacter, int pNodeId, const double pMin[3], int pMinActiveMask) |
Set the minimum rotation for the Node pNodeId. More... | |
| void | HIKSetMinXYZRotationfv (HIKCharacter *pCharacter, int pNodeId, const float pMin[3], int pMinActiveMask) |
Set the minimum rotation for the Node pNodeId. More... | |
| void | HIKSetNodeStatedv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pXForm[16]) |
Set the transform matrix of Node pNodeId in HIKCharacterState pCharacterState. More... | |
| void | HIKSetNodeStatefv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pXForm[16]) |
Set the transform matrix of Node pNodeId in HIKCharacterState pCharacterState. More... | |
| void | HIKSetNodeStateTQAlignfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float *pTQ, size_t pTOffset, size_t pQOffset) |
Set the translation (T) and quaternion rotation (Q) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are read from specified offsets within a single array. More... | |
| void | HIKSetNodeStateTQfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4]) |
Set the translation (T) and quaternion rotation (Q) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKSetNodeStateTQNonUniformSfv (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 non-uniform scaling (S) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKSetNodeStateTQSAlignfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float *pTQS, size_t pTOffset, size_t pQOffset, size_t pSOffset) |
Set the translation (T), quaternion rotation (Q) and scaling (S) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are read from specified offsets within a single array. More... | |
| void | HIKSetNodeStateTQSdv (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) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKSetNodeStateTQSfv (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) in global space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays. More... | |
| void | HIKSetNodeStateTQSfvComputeDependent (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float *pT, const float *pQ, const float *pS, const bool pLocal) |
Set the translation (T), quaternion rotation (Q) and scaling (S) in global or local space of Node pNodeId in HIKCharacterState pCharacterState. Values are expressed using separate arrays and update dependent nodes. More... | |
| void | HIKSetOriginalSnSLength (HIKCharacter *pCharacter, bool pFromCharacterizationPose, HIKCharacterState *pCharacterState) |
| Allow setting original length for joints from CharacterState instead of characterization pose (default) More... | |
| void | HIKSetParentOffsetdv (HIKCharacter *pCharacter, int pNodeId, const double pParentTOffset[4], const double pParentQOffset[4], const double pParentSOffset[4]) |
Set the parent offset for Node pNodeId. More... | |
| void | HIKSetParentOffsetfv (HIKCharacter *pCharacter, int pNodeId, const float pParentTOffset[4], const float pParentQOffset[4], const float pParentSOffset[4]) |
Set the parent offset for Node pNodeId. More... | |
| void | HIKSetPostQdv (HIKCharacter *pCharacter, int pNodeId, const double pPostQ[4]) |
Apply the post rotation pPostQ to the Node pNodeId. More... | |
| void | HIKSetPostQfv (HIKCharacter *pCharacter, int pNodeId, const float pPostQ[4]) |
Apply the post rotation pPostQ to the Node pNodeId. More... | |
| void | HIKSetPreQdv (HIKCharacter *pCharacter, int pNodeId, const double pPreQ[4]) |
Apply the pre rotation pPreQ to Node pNodeId. More... | |
| void | HIKSetPreQfv (HIKCharacter *pCharacter, int pNodeId, const float pPreQ[4]) |
Apply the pre rotation pPreQ to Node pNodeId. More... | |
| void | HIKSetPull (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Pull constraint for Effector pEffectorIndex. More... | |
| void | HIKSetResist (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Resist constraint for Effector pEffectorIndex. More... | |
| void | HIKSetRotationActive (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Reach Rotation constraint for Effector pEffectorIndex. More... | |
| void | HIKSetRotationOrder (HIKCharacter *pCharacter, int pNodeId, eHIKRotationOrder pRotationOrder) |
Sets the order in which the axes are specified in the limits set for Node pNodeId. More... | |
| void | HIKSetTranslationActive (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Reach Translation constraint for Effector pEffectorIndex. More... | |
| void | HIKSetTranslationLimitsd (HIKCharacter *pCharacter, int pNodeId, double pMin, double pMax, bool pActive) |
Set the translation limits for Node pNodeId. More... | |
| void | HIKSetTranslationLimitsf (HIKCharacter *pCharacter, int pNodeId, float pMin, float pMax, bool pActive) |
Set the translation limits for Node pNodeId. More... | |
| void | HIKSolveForCharacter (const HIKCharacter *pDstCharacter, HIKCharacterState *pCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pDstPropertyState, const HIKPropertySetState *pSrcPropertyState) |
Given source character pSrcCharacter with HIKCharacterState pSrcCharacterState, calculate HIKCharacterState pCharacterState for destination character pDstCharacter. More... | |
| void | HIKSolveForCharacterPrepareEffectorSet (const HIKCharacter *pDstCharacter, HIKCharacterState *pDstCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pDstPropertyState, const HIKPropertySetState *pSrcPropertyState) |
| Sync IK pEffectorSetState on source FK pSrcCharacterState and adjust IK relative to destination character pDstCharacter. More... | |
| void | HIKSolveForCharacterRetarget (const HIKCharacter *pDstCharacter, HIKCharacterState *pDstCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, const HIKPropertySetState *pDstPropertyState) |
Simple rotation mapper between pSrcCharacter and pDstCharacter. More... | |
| void | HIKSolveForEffectorSet (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Solve character pCharacter with HIKEffectorSetState pEffectorSetState and initial HIKCharacterState pCharacterState, storing results in pCharacterState. More... | |
| void | HIKSolveForEffectorSetArmsAndLegs (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the arms, legs and shoulders IK solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetBegin (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Initializes an IK solve for character pCharacter. More... | |
| void | HIKSolveForEffectorSetBodyPull (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the pull solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetFingersAndToes (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the fingers and toes IK solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetFloorContact (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the floor solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetFloorContactApprox (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the floor contact approximation solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetHeadAndNeck (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the head and neck IK solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetHipsTranslation (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the special hips translation solver for character pCharacter. More... | |
| void | HIKSolveForEffectorSetModifiers (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the Mirror and Lock modifiers for character pCharacter. More... | |
| void | HIKSolveForEffectorSetRollExtraction (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the roll extraction solver for character pCharacter. More... | |
| void | HIKSubQuadripedOffset (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Subtract quadruped offsets from HIKCharacterState pCharacterState. More... | |
| bool | HIKValidateGeometry (const HIKCharacter *pCharacter) |
| bool | HIKValidateHierarchy (const HIKCharacterDefinition *pCharacterDefinition) |
| typedef enum HIKMiddleJoint eHIKMiddleJoint |
see enum HIKMiddleJoint
| typedef enum HIKRotationOrder eHIKRotationOrder |
see enum HIKRotationOrder
| HIKFree |
Memory de-allocator function. This is exactly the same signature as free.
| HIKMalloc |
Memory allocator function. This is exactly the same signature as malloc.
| enum HIKEffectorId |
Lists all Effectors used by HumanIK as goal points for IK solving.
| enum HIKNodeId |
Lists all Nodes known to HumanIK, used to set up and access data for HIKCharacters.
| enum HIKSolvingStep |
Lists the solving steps supported by the IK solver. Used when setting the solving steps that the solver should perform. See HIKSetIKSolvingStep() and HIKGetIKSolvingStep().
| Enumerator | |
|---|---|
| HIKSolvingStepBodyPull |
Activates the full-body Pull engine for the inverse kinematics solver. You must specify this solving step in order for the solver to take the Pull and Resist settings of your Effectors into account. |
| HIKSolvingStepContact |
Activates the Foot and Hand Contact engine for the inverse kinematics solver. You must specify this solving step in order for the solver to prevent your character's feet and hands from passing through oriented planes such as floors and walls. See Foot and Hand Contact. |
| HIKSolvingStepContactApprox |
Configures the inverse kinematics solver to perform an initial approximate solving with the floor contact engine before invoking the full-body Pull engine. This first pass helps ensure that the Pull engine does not accidentally pull any other body parts through the oriented planes specified for your character's hands and feet. You should use this solving step if you use both the HIKSolvingStepBodyPull and HIKSolvingStepContact solving steps. |
| HIKSolvingStepLeftShoulder |
Solves the character's left collar bones: LeftCollarNodeId and LeftCollarExtraNodeId. |
| HIKSolvingStepRightShoulder |
Solves the character's right collar bones: RightCollarNodeId and RightCollarExtraNodeId. |
| HIKSolvingStepLeftArm |
Solves the character's left arm, from LeftShoulderNodeId to LeftHandNodeId inclusive. |
| HIKSolvingStepRightArm |
Solves the character's right arm, from RightShoulderNodeId to RightHandNodeId inclusive. |
| HIKSolvingStepLeftLeg |
Solves the character's left leg, from LeftHipNodeId to LeftFootNodeId inclusive. |
| HIKSolvingStepRightLeg |
Solves the character's right leg, from RightHipNodeId to RightFootNodeId inclusive. |
| HIKSolvingStepLeftHand |
Solves the fingers of the left hand. Note that LeftHandNodeId itself is included in HIKSolvingStepLeftArm. |
| HIKSolvingStepRightHand |
Solves the fingers of the right hand. Note that RightHandNodeId itself is included in HIKSolvingStepRightArm. |
| HIKSolvingStepLeftFoot |
Solves the toes of the left foot. Note that LeftFootNodeId itself is included in HIKSolvingStepLeftLeg. |
| HIKSolvingStepRightFoot |
Solves the toes of the right foot. Note that RightFootNodeId itself is included in HIKSolvingStepRightLeg. |
| HIKSolvingStepHead |
Solves the character's neck and head, including NeckNodeId, Neck1NodeId to Neck9NodeId, and HeadNodeId. |
| HIKSolvingStepSpine |
Solves the character's spine, including WaistNodeId, and Spine1NodeId to Spine9NodeId. |
| HIKSolvingStepHipsTranslation |
Adjusts the translation of the character's hips, if necessary. |
| HIKSolvingStepRollExtraction |
Shifts a percentage of the roll rotation from the character's shoulders, elbows, hips and knees to their respective roll bones. The percentage of the roll rotation that is extracted from the Nodes and applied to the roll Nodes is specified by a set of character properties. See General Properties. |
| HIKSolvingStepLeftArmSnS |
Activates Squash & Strech for the left arm, from LeftShoulderNodeId to LeftHandNodeId inclusive. |
| HIKSolvingStepRightArmSnS |
Activates Squash & Strech for the right arm, from RightShoulderNodeId to RightHandNodeId inclusive. |
| HIKSolvingStepLeftLegSnS |
Activates Squash & Strech for the left arm, from LeftHipNodeId to LeftFootNodeId inclusive. |
| HIKSolvingStepRightLegSnS |
Activates Squash & Strech for the right arm, from RightHipNodeId to RightFootNodeId inclusive. |
| HIKSolvingStepModifiers |
Activates Lock & Mirror modifiers. |
| HIKSolvingStepAllParts |
Enables the solving steps for all body parts, from HIKSolvingStepLeftShoulder to HIKSolvingStepSpine. Excludes pull, contact, hips translation, roll extraction and Squash 'n' Stretch. |
| HIKSolvingStepAll |
Enables all solving steps listed above. |