#include <stddef.h>
Classes | |
struct | sHIKCharacterDefinition |
struct | sHIKDataDescription |
struct | sHIKDataDescriptionMatrix |
struct | sHIKEffectorDataDescription |
struct | sHIKEffectorDataDescriptionMatrix |
Macros | |
#define | HUMANIK_VERSION_MAJOR 2016 |
#define | HUMANIK_VERSION_MINOR 5 |
#define | HUMANIK_VERSION_THIRD 2 |
#define | HIK_EXPAND_TO_STRING_(x) #x |
#define | HIK_EXPAND_TO_STRING(x) HIK_EXPAND_TO_STRING_(x) |
#define | HUMANIK_VERSION_STRING |
#define | HIK_EXPORT extern |
#define | HIK_API |
#define | HIK_INTERNAL_PLACEHOLDER |
Typedefs | |
typedef void *(* | HIKMalloc) (size_t) |
typedef void(* | HIKFree) (void *) |
typedef struct sHIKCharacterDefinition | HIKCharacterDefinition |
typedef enum HIKRotationOrder | eHIKRotationOrder |
see enum HIKRotationOrder More... | |
typedef enum HIKMiddleJoint | eHIKMiddleJoint |
see enum HIKMiddleJoint More... | |
typedef enum HIKToken | eHIKToken |
see enum HIKToken More... | |
typedef struct sHIKDataDescription | HIKDataDescription |
typedef struct sHIKDataDescriptionMatrix | HIKDataDescriptionMatrix |
typedef struct sHIKEffectorDataDescription | HIKEffectorDataDescription |
typedef struct sHIKEffectorDataDescriptionMatrix | HIKEffectorDataDescriptionMatrix |
Functions | |
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... | |
HIKEffectorSetState * | HIKEffectorSetStateCreate (HIKMalloc pMalloc) |
Create a new HIKEffectorSetState. More... | |
HIKEffectorSetState * | HIKEffectorSetStateCreateInPlace (void *pBuffer) |
Create a new HIKEffectorSetState in the buffer pBuffer . 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 | HIKCharacterDestroy (HIKCharacter *pCharacter, HIKFree pFree) |
Destroy HIKCharacter pCharacter . More... | |
void | HIKEffectorSetStateDestroy (HIKEffectorSetState *pESetState, HIKFree pFree) |
Destroy HIKEffectorSetState pESetState . More... | |
void | HIKCharacterStateDestroy (HIKCharacterState *pCharacterState, HIKFree pFree) |
Destroy HIKCharacterState pCharacterState . 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 | 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 | 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 | 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 | 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 | 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 | 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... | |
bool | HIKCharacterizeGeometry (HIKCharacter *pCharacter) |
Set up and initialize character pCharacter for solving. More... | |
void | HIKGetDefaultState (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Retrieve the default T-stance for character pCharacter , storing it in HIKCharacterState pCharacterState . More... | |
void | HIKGetRelaxPose (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Calculate a basic seated pose for character pCharacter , storing it in HIKCharacterState pCharacterState . More... | |
int | HIKGetNodeUse (const HIKCharacter *pCharacter, int pNodeId) |
Retrieve the characterization flag set for Node pNodeId in HIKCharacter pCharacter . 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 | 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 | HIKGetParentOffsetfv (const HIKCharacter *pCharacter, int pNodeId, float pParentTOffset[4], float pParentQOffset[4], float pParentSOffset[4]) |
Retrieve the parent offset set for Node pNodeId . 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 | 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... | |
void | HIKSetMinXYZRotationfv (HIKCharacter *pCharacter, int pNodeId, const float pMin[3], int pMinActiveMask) |
Set the minimum 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 | HIKSetMaxXYZRotationfv (HIKCharacter *pCharacter, int pNodeId, const float pMax[3], int pMaxActiveMask) |
Set the maximum rotation for the 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 | 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 | HIKSetPreQfv (HIKCharacter *pCharacter, int pNodeId, const float pPreQ[4]) |
Apply the pre rotation pPreQ to Node pNodeId . More... | |
void | HIKSetPreQdv (HIKCharacter *pCharacter, int pNodeId, const double pPreQ[4]) |
Apply the pre rotation pPreQ to Node pNodeId . More... | |
void | HIKSetPostQfv (HIKCharacter *pCharacter, int pNodeId, const float pPostQ[4]) |
Apply the post rotation pPostQ to the Node pNodeId . More... | |
void | HIKSetPostQdv (HIKCharacter *pCharacter, int pNodeId, const double pPostQ[4]) |
Apply the post rotation pPostQ to the 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 | 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 | HIKSetTranslationLimitsf (HIKCharacter *pCharacter, int pNodeId, float pMin, float pMax, bool pActive) |
Set the translation limits for Node pNodeId . More... | |
void | HIKSetTranslationLimitsd (HIKCharacter *pCharacter, int pNodeId, double pMin, double pMax, bool pActive) |
Set the translation limits 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 | 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 | HIKAddQuadripedOffset (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Add quadruped offsets to HIKCharacterState pCharacterState . More... | |
void | HIKSubQuadripedOffset (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState) |
Subtract quadruped offsets from HIKCharacterState pCharacterState . 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 | HIKSolveForCharacterRetarget (const HIKCharacter *pDstCharacter, HIKCharacterState *pDstCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, const HIKPropertySetState *pDstPropertyState) |
Simple rotation mapper between pSrcCharacter and 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 | 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 | 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 | HIKEffectorSetFromCharacter (const HIKCharacter *pCharacter, HIKEffectorSetState *pEffectorSetState, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState) |
Set up HIKEffectorSetState pEffectorSetState to match character pCharacter in HIKCharacterState pCharacterState . 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 | HIKSolveForEffectorSetBegin (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Initializes an IK solve 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 | HIKSolveForEffectorSetBodyPull (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the pull solver for character pCharacter . 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 | HIKSolveForEffectorSetFingersAndToes (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the fingers and toes IK 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 | HIKSolveForEffectorSetFloorContact (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the floor 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 | HIKSolveForEffectorSetRollExtraction (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState) |
Call the roll extraction 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 | HIKSetEffectorStatefv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16]) |
Set the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState . More... | |
void | HIKSetEffectorStatedv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16]) |
Set the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState . 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 . 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 . 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 . 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 . More... | |
void | HIKGetEffectorStatefv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pXForm[16]) |
Retrieve the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState . More... | |
void | HIKGetEffectorStatedv (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, double pXForm[16]) |
Retrieve the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState . 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 . 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 . 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 . 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 . 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 . More... | |
void | HIKSetTranslationActive (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Reach Translation constraint for Effector pEffectorIndex . More... | |
float | HIKGetTranslationActive (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Reach Translation constraint for Effector pEffectorIndex . More... | |
void | HIKSetRotationActive (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Reach Rotation constraint for Effector pEffectorIndex . More... | |
float | HIKGetRotationActive (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Reach Rotation constraint for Effector pEffectorIndex . More... | |
void | HIKSetPull (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Pull constraint for Effector pEffectorIndex . More... | |
float | HIKGetPull (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Pull constraint for Effector pEffectorIndex . More... | |
void | HIKSetResist (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue) |
Set the Resist constraint for Effector pEffectorIndex . More... | |
float | HIKGetResist (const HIKEffectorSetState *pEffectorSetState, int pEffectorIndex) |
Retrieve the Resist constraint for Effector pEffectorIndex . 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... | |
float | HIKGetHandPullHips (const HIKEffectorSetState *pEffectorSetState, int pLeft) |
Retrieve the amount of pull the left or right hand can exert on the hips. 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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... | |
int | HIKGetIKSolvingStep (const HIKEffectorSetState *pEffectorSetState) |
Retrieve the IK solving steps currently set for HIKEffectorSetState pEffectorSetState . More... | |
void | HIKSetIKSolvingStep (HIKEffectorSetState *pEffectorSetState, int pSolvingStep) |
Set the IK solving steps for HIKEffectorSetState pEffectorSetState . 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 | 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 | 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 | 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 | HIKSetNodeStatefv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pXForm[16]) |
Set the transform matrix of Node pNodeId in HIKCharacterState pCharacterState . 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 | 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 . 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 . 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 . 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 . 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 . 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 . 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 . 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 | 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 | 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 | 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 | 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 | HIKGetNodeStatefv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, float pXForm[16]) |
Retrieve the transform matrix of Node pNodeId in HIKCharacterState pCharacterState . More... | |
void | HIKGetNodeStatedv (const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, int pNodeId, double pXForm[16]) |
Retrieve the transform matrix of Node pNodeId in HIKCharacterState pCharacterState . 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 . 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 . 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 . 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 . 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 . 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 . 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 | 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 | 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 | 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... | |
int | HIKNodeIdFromNodeName (const char *pName) |
Retrieve the Node ID from a descriptive name. More... | |
const char * | HIKNodeNameFromNodeId (int pNodeId) |
Retrieve a descriptive name for Node pNodeId . More... | |
int | HIKEffectorIdFromEffectorName (const char *pName) |
Retrieve the Effector ID from a descriptive name. More... | |
const char * | HIKEffectorNameFromEffectorId (int pEffectorId) |
Retrieve a descriptive name for Effector pEffectorId . 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 | 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 | HIKQTransform (const float quat[4], const float p[4], float q[4]) |
Compute the result of a point tranformed by a quaternion. More... | |
void | HIKEulerFromQuat (const float quat[4], float euler[4]) |
Compute euler angles from a quaternion (default XYZ order) More... | |
void | HIKSetOriginalSnSLength (HIKCharacter *pCharacter, bool pFromCharacterizationPose, HIKCharacterState *pCharacterState) |
Allow setting original length for joints from CharacterState instead of characterization pose (default) More... | |
size_t | HIKCharacterDefinitionSize (const HIKCharacterDefinition *pCharacterDefinition) |
Returns the size in bytes required by an HIKCharacter based on HIKCharacterDefinition pCharacterDefinition . 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 | HIKCharacterSize (const HIKCharacter *pCharacter) |
Returns the size of HIKCharacter pCharacter in bytes. More... | |
size_t | HIKCharacterStateSize (const HIKCharacter *pCharacter) |
Returns the size in bytes required by any HIKCharacterState that defines a pose for HIKCharacter pCharacter . More... | |
size_t | HIKCharacterStateSizeFromState (const HIKCharacterState *pCharacterState) |
Returns the size of HIKCharacterState pCharacterState in bytes. More... | |
size_t | HIKEffectorSetStateSize () |
Return the size of an HIKEffectorSetState object in bytes. More... | |
#define HIK_EXPAND_TO_STRING | ( | x | ) | HIK_EXPAND_TO_STRING_(x) |
typedef enum HIKMiddleJoint eHIKMiddleJoint |
see enum HIKMiddleJoint
typedef enum HIKRotationOrder eHIKRotationOrder |
see enum HIKRotationOrder
typedef struct sHIKCharacterDefinition HIKCharacterDefinition |
typedef struct sHIKDataDescription HIKDataDescription |
typedef struct sHIKDataDescriptionMatrix HIKDataDescriptionMatrix |
typedef struct sHIKEffectorDataDescription HIKEffectorDataDescription |
enum HIKEffectorId |
Definition at line 305 of file humanik.h.
enum HIKFloorContact |
Definition at line 366 of file humanik.h.
enum HIKLimitActiveMask |
Definition at line 690 of file humanik.h.
enum HIKNodeId |
Definition at line 77 of file humanik.h.
enum HIKRotationOrder |
Definition at line 704 of file humanik.h.
enum HIKSolvingStep |
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. |
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. |
Definition at line 380 of file humanik.h.