Write HIKEffectorSetState Data

Write HIKEffectorSetState Data

Module description

This section describes the functions used to write data to an HIKEffectorSetState.

All of these functions mask translation.w to 0.f and scale.w to 1.f.

Functions

void HIKSetEffectorPivotStateTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pT[4], const float pQ[4], const float pS[4], const float pIKPivot[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetEffectorPivotStateTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pT[4], const double pQ[4], const double pS[4], const double pIKPivot[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetEffectorPivotStatefv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16], const float pIKPivot[4])
 Set the transform matrix for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetEffectorPivotStatedv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16], const double pIKPivot[4])
 Set the transform matrix for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot. More...
 
void HIKSetCharacterSpaceEffectorStateTQSfv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const float pT[4], const float pQ[4], const float pS[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStateTQfv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const float pT[4], const float pQ[4])
 Set the translation (T) and quaternion rotation (Q) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStateTQSdv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const double pT[4], const double pQ[4], const double pS[4])
 Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStatefv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const float pXForm[16])
 Set the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStatedv (const HIKCharacter *pCharacter, int pEffectorIndex, HIKEffectorSetState *pEffectorSetState, const double pXForm[16])
 Set the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector. More...
 
void HIKSetCharacterSpaceEffectorStateDataTQ (const HIKCharacter *pCharacter, HIKEffectorSetState *pEffectorSetState, const HIKEffectorDataDescription *pDataDescription, const void *pDataSet)
 Set the translation (T), quaternion rotation (Q) and IK constraints for all Effectors specified in data description pDataDescription, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of each Effector. More...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterTQSfv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, float pT[4], float pQ[4], float pS[4])
 Retrieve the translation (T), quaternion rotation (Q) and scaling (S) of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterfv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, float pXForm[16])
 Retrieve the transform matrix of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector. More...
 
void 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 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 HIKSetTranslationActive (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue)
 Set 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...
 
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 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 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 HIKEffectorSetFromCreature (const HIKCreature *pCreature, HIKCreatureEffectorSetState *pEffectorSetState, const HIKCreatureState *pCreatureState)
 Set up HIKCreatureEffectorSetState pEffectorSetState to match creature pCreature in HIKCreatureState pCreatureState. More...
 
void HIKCreatureSetEffectorStateTQSfv (HIKCreatureEffectorSetState *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 HIKCreatureEffectorSetState pEffectorSetState. More...
 
void HIKCreatureSetTranslationActive (HIKCreatureEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue)
 Set the Reach Translation constraint for Effector pEffectorIndex. More...
 
void HIKCreatureSetRotationActive (HIKCreatureEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue)
 Set the Reach Rotation constraint for Effector pEffectorIndex. More...
 
void HIKCreatureSetPull (HIKCreatureEffectorSetState *pEffectorSetState, int pEffectorIndex, float pValue)
 Set the Pull constraint for Effector pEffectorIndex. More...
 

Function Documentation

void HIKCreatureSetEffectorStateTQSfv ( HIKCreatureEffectorSetState 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 HIKCreatureEffectorSetState pEffectorSetState.

Values are provided in separate arrays.

Parameters
pEffectorSetStateHIKCreatureEffectorSetState containing the Effector whose translation, rotation and scaling values you want to set.
pEffectorIndexUnique ID of the Effector whose translation, rotation and scaling values you want to set.
pTTranslation value to set in global space.
pQRotation value to set in global space.
pSScaling value to set in global space.
void HIKCreatureSetPull ( HIKCreatureEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Pull constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKCreatureEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Pull you want to set.
pValueValue must be between 0.0 (the joint will not pull other joints in order to reach its target) and 1.0 (the joint will have maximum priority for reaching its target).
void HIKCreatureSetRotationActive ( HIKCreatureEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Reach Rotation constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKCreatureEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Reach Rotation you want to set.
pValueValue must be between 0.0 (pin the joint to the rotation of the FK pose) and 1.0 (pin the joint to the rotation of the Effector).
void HIKCreatureSetTranslationActive ( HIKCreatureEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Reach Translation constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKCreatureEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Reach Translation you want to set.
pValueValue must be between 0.0 (pin the joint to the translation of the FK pose) and 1.0 (pin the joint to the translation of the Effector).
void HIKEffectorSetFromCharacter ( const HIKCharacter pCharacter,
HIKEffectorSetState pEffectorSetState,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState 
)

Set up HIKEffectorSetState pEffectorSetState to match character pCharacter in HIKCharacterState pCharacterState.

Parameters
pCharacterCharacter to query.
[out]pEffectorSetStateHIKEffectorSetState to be set up.
pCharacterStateHIKCharacterState from which to set up the HIKEffectorSetState.
pPropertyStateHIKPropertySetState containing all character properties for the character.
+ Examples:
void HIKEffectorSetFromCreature ( const HIKCreature pCreature,
HIKCreatureEffectorSetState pEffectorSetState,
const HIKCreatureState pCreatureState 
)

Set up HIKCreatureEffectorSetState pEffectorSetState to match creature pCreature in HIKCreatureState pCreatureState.

Parameters
pCreatureCreature to query.
[out]pEffectorSetStateHIKEffectorSetState to be set up.
pCreatureStateHIKCreatureState from which to set up the HIKCreatureEffectorSetState.
void HIKGetCharacterSpaceEffectorStateFromCharacterfv ( int  pEffectorIndex,
const HIKCharacter pCharacter,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState,
float  pXForm[16] 
)

Retrieve the transform matrix of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector.

Parameters
pEffectorIndexUnique ID of the Effector whose transform matrix you want to retrieve. See the HIKEffectorId enumeration for possible values.
pCharacterHIKCharacter to query.
pCharacterStateHIKCharacterState from which to retrieve the Effector placement.
pPropertyStateHIKPropertySetState containing all character properties for the character.
[out]pXFormStores the transform matrix of the Effector in global space (4x4 column major matrix).
void HIKGetCharacterSpaceEffectorStateFromCharacterTQSfv ( int  pEffectorIndex,
const HIKCharacter pCharacter,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState,
float  pT[4],
float  pQ[4],
float  pS[4] 
)

Retrieve the translation (T), quaternion rotation (Q) and scaling (S) of Effector pEffectorIndex for character pCharacter in HIKCharacterState pCharacterState, applying any rotation and scaling offsets contained in the character's characterization pose (its default T-stance) to the final rotation of the Effector.

Parameters
pEffectorIndexUnique ID of the Effector whose TQS values you want to retrieve. See the HIKEffectorId enumeration for possible values.
pCharacterHIKCharacter to query.
pCharacterStateHIKCharacterState from which to retrieve the Effector placement.
pPropertyStateHIKPropertySetState containing all character properties for the character.
[out]pTStores the translation value.
[out]pQStores the orientation value.
[out]pSStores the scaling value.
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.

Parameters
pCharacterCharacter to query.
pEffectorIndexUnique ID of the Effector whose transform matrix you want to retrieve. See the HIKEffectorId enumeration for possible values.
pCharacterStateHIKCharacterState from which to retrieve the Effector placement.
[out]pXFormStores the transform matrix of the Effector in global space (4x4 column major matrix).
pPropertyStateHIKPropertySetState containing all character properties for the character. This function converts floating-point numbers internally to double-precision. For best performance, use the HIKGetEffectorStateFromCharacterfv() function instead wherever possible.
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.

Parameters
pCharacterCharacter to query.
pEffectorIndexUnique ID of the Effector whose transform matrix you want to retrieve. See the HIKEffectorId enumeration for possible values.
pCharacterStateHIKCharacterState from which to retrieve the Effector placement.
[out]pXFormStores the transform matrix of the Effector in global space (4x4 column major matrix).
pPropertyStateHIKPropertySetState containing all character properties for the character.
void HIKSetCharacterSpaceEffectorStateDataTQ ( const HIKCharacter pCharacter,
HIKEffectorSetState pEffectorSetState,
const HIKEffectorDataDescription pDataDescription,
const void *  pDataSet 
)

Set the translation (T), quaternion rotation (Q) and IK constraints for all Effectors specified in data description pDataDescription, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of each Effector.

You can use this function to set the rotation of your character's joints in local space directly on their corresponding Effectors. This function is faster than setting values for each Effector individually through iterative calls to HIKSetCharacterSpaceEffectorStateTQSfv().

This function sets the scaling values for all axes to 1.0f.

Parameters
pCharacterSet Effectors TQ in this character space.
pEffectorSetStateHIKEffectorSetState to set data in.
pDataDescriptionData description for your data set.
pDataSetvoid pointer to the beginning of your first data block.
void HIKSetCharacterSpaceEffectorStatedv ( const HIKCharacter pCharacter,
int  pEffectorIndex,
HIKEffectorSetState pEffectorSetState,
const double  pXForm[16] 
)

Set the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector.

You can use this function to set the rotation of a joint directly on its corresponding Effector.

Parameters
pCharacterSet the Effector into this character's local space.
pEffectorIndexIndex of the Effector whose matrix is to be set. See enum HIKEffectorId for possible values.
pEffectorSetStateEffectort set state.
pXFormGlobal transform matrix to set for the Effector.

This function converts the double-precision numbers internally to floating-point numbers. It is intended for use only where floating-point values are unavailable. For best performance, use the HIKSetCharacterSpaceEffectorStatefv() function instead wherever possible.

void HIKSetCharacterSpaceEffectorStatefv ( const HIKCharacter pCharacter,
int  pEffectorIndex,
HIKEffectorSetState pEffectorSetState,
const float  pXForm[16] 
)

Set the transform matrix in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector.

You can use this function to set the rotation of a joint directly on its corresponding Effector.

Parameters
pCharacterSet the Effector into this character's local space.
pEffectorIndexIndex of the Effector whose matrix is to be set. See enum HIKEffectorId for possible values.
pEffectorSetStateEffectort set state.
pXFormGlobal transform matrix to set for the Effector.
void HIKSetCharacterSpaceEffectorStateTQfv ( const HIKCharacter pCharacter,
int  pEffectorIndex,
HIKEffectorSetState pEffectorSetState,
const float  pT[4],
const float  pQ[4] 
)

Set the translation (T) and quaternion rotation (Q) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector.

You can use this function to set the rotation of a joint directly on its corresponding Effector.

This function sets the scaling values for all axes to 1.0f.

Parameters
pCharacterSet the Effector into this character's local space.
pEffectorIndexIndex of the Effector whose TQ values are to be set. See enum HIKEffectorId for possible values.
pEffectorSetStateHIKEffectorSetState.
pTGlobal translation values to set for the Effector.
pQGlobal rotation values to set for the Effector.
void HIKSetCharacterSpaceEffectorStateTQSdv ( const HIKCharacter pCharacter,
int  pEffectorIndex,
HIKEffectorSetState pEffectorSetState,
const double  pT[4],
const double  pQ[4],
const double  pS[4] 
)

Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector.

You can use this function to set the rotation of a joint directly on its corresponding Effector.

Parameters
pCharacterSet the Effector into this character's local space.
pEffectorIndexIndex of the Effector whose TQS values are to be set. See enum HIKEffectorId for possible values.
pEffectorSetStateHIKEffectorSetState.
pTGlobal translation values to set for the Effector.
pQGlobal rotation values to set for the Effector.
pSGlobal scaling values to set for the Effector.

This function converts the double-precision numbers internally to floating-point numbers. It is intended for use only where floating-point values are unavailable. For best performance, use the HIKSetCharacterSpaceEffectorStateTQSfv() function instead wherever possible.

void HIKSetCharacterSpaceEffectorStateTQSfv ( const HIKCharacter pCharacter,
int  pEffectorIndex,
HIKEffectorSetState pEffectorSetState,
const float  pT[4],
const float  pQ[4],
const float  pS[4] 
)

Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, removing any rotation and scale offsets contained in the character's characterization pose (its default T-stance) from the final rotation of the Effector.

You can use this function to set the rotation of a joint directly on its corresponding Effector.

Parameters
pCharacterSet the Effector into this character's local space.
pEffectorIndexIndex of the Effector whose TQS values are to be set. See enum HIKEffectorId for possible values.
pEffectorSetStateHIKEffectorSetState.
pTGlobal translation values to set for the Effector.
pQGlobal rotation values to set for the Effector.
pSGlobal scaling values to set for the Effector.
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.

Parameters
pEffectorSetStateHIKEffectorSetState.
pEffectorIndexIndex of the Effector whose matrix is to be set. See the HIKEffectorId enumeration for possible values.
pXFormTransform matrix to set for the Effector.
pIKPivotGlobal position of the IK pivot.

This function converts the double-precision numbers internally to floating-point numbers. It is intended for use only where floating-point values are unavailable. For best performance, use the HIKSetEffectorPivotStatefv() function instead wherever possible.

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.

Parameters
pEffectorSetStateHIKEffectorSetState.
pEffectorIndexIndex of the Effector whose matrix is to be set. See the HIKEffectorId enumeration for possible values.
pXFormTransform matrix to set for the Effector.
pIKPivotGlobal position of the IK pivot.
void HIKSetEffectorPivotStateTQSdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
const double  pIKPivot[4] 
)

Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot.

Parameters
pEffectorSetStateHIKEffectorSetState.
pEffectorIndexIndex of the Effector whose TQS values are to be set. See the HIKEffectorId enumeration for possible values.
pTGlobal translation values to set for the Effector.
pQGlobal rotation values to set for the Effector.
pSGlobal scaling values to set for the Effector.
pIKPivotGlobal position of the IK pivot.

This function converts the double-precision numbers internally to floating-point numbers. It is intended for use only where floating-point values are unavailable. For best performance, use the HIKSetEffectorPivotStateTQSfv() function instead wherever possible.

void HIKSetEffectorPivotStateTQSfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
const float  pIKPivot[4] 
)

Set the translation (T), quaternion rotation (Q) and scaling (S) values in global space for Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState, taking into account the IK pivot pIKPivot.

Parameters
pEffectorSetStateHIKEffectorSetState.
pEffectorIndexIndex of the Effector whose TQS values are to be set. See the HIKEffectorId enumeration for possible values.
pTGlobal translation values to set for the Effector.
pQGlobal rotation values to set for the Effector.
pSGlobal scaling values to set for the Effector.
pIKPivotGlobal position of the IK pivot.
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.

This function is faster than setting the matrix of each Effector individually using functions such as HIKSetEffectorState().

Parameters
pEffectorSetStateHIKEffectorSetState in which to set the data.
pDataDescriptionData description defining the memory layout of your data set.
pDataSetVoid pointer to the beginning of your first data block.
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.

This function is faster than setting the matrix of each Effector individually using functions such as HIKSetEffectorState().

Parameters
pEffectorSetStateHIKEffectorSetState in which to set the data.
pDataDescriptionData description defining the memory layout of your data set.
pDataSetVoid pointer to the beginning of your first data block.
void HIKSetEffectorStatedv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const double  pXForm[16] 
)

Set the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose matrix you want to set.
pEffectorIndexUnique ID of the Effector whose matrix you want to set. See the HIKEffectorId enumeration for possible values.
pXFormTransform matrix to set for the Effector in global space (4x4 column major matrix).

This function converts the double-precision numbers internally to floating-point numbers. It is intended for use only where floating-point values are unavailable. For best performance, use the HIKSetEffectorStatefv() function instead wherever possible.

void HIKSetEffectorStatefv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const float  pXForm[16] 
)

Set the transform matrix of Effector pEffectorIndex in HIKEffectorSetState pEffectorSetState.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose matrix you want to set.
pEffectorIndexUnique ID of the Effector whose matrix you want to set. See the HIKEffectorId enumeration for possible values.
pXFormTransform matrix to set for the Effector in global space (4x4 column major matrix).
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.

This function sets the scaling values for all axes to 1.0f.

The T and Q values are each expected to be expressed as an array of four floating-point numbers within the pTQ array, and the offset of each of these arrays must be aligned on 16 bytes. The arrays containing the T and Q values may be in any order within the larger array. For example, the offset of the quaternion rotation data may be less than the offset of the translation data. The pTQ array may also contain other arbitrary data values interspersed between the arrays containing the T and Q values, if that is convenient.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose translation and rotation values you want to set.
pEffectorIndexUnique ID of the Effector whose translation and rotation values you want to set. See the HIKEffectorId enumeration for possible values.
pTQPointer to an array of floating-point numbers containing the data for the Effector in global space. This array must be aligned on 16 bytes.
pTOffsetOffset of the translation values within pTQ. This offset must be aligned on 16 bytes.
pQOffsetOffset of the rotation values within pTQ. This offset must be aligned on 16 bytes.
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.

The T, Q and S values are each expected to be expressed as an array of four floating-point numbers within the pTQS array, and the offset of each of these arrays must be aligned on 16 bytes. The arrays containing the T, Q and S values may be in any order within the larger array. For example, the offset of the scaling data may be less than the offset of the translation data. The pTQS array may also contain other arbitrary data values interspersed between the arrays containing the T, Q and S values, if that is convenient.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose translation, rotation and scaling values you want to set.
pEffectorIndexUnique ID of the Effector whose translation, rotation and scaling values you want to set. See the HIKEffectorId enumeration for possible values.
pTQSPointer to an array of floating-point numbers containing the data for the Effector in global space. This array must be aligned on 16 bytes.
pTOffsetOffset of the translation values within pTQS. This offset must be aligned on 16 bytes.
pQOffsetOffset of the rotation values within pTQS. This offset must be aligned on 16 bytes.
pSOffsetOffset of the scaling values within pTQS. This offset must be aligned on 16 bytes.
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.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose translation, rotation and scaling values you want to set.
pEffectorIndexUnique ID of the Effector whose translation, rotation and scaling values you want to set. See the HIKEffectorId enumeration for possible values.
pTTranslation value to set in global space.
pQRotation value to set in global space.
pSScaling value to set in global space.

This function converts the double-precision numbers internally to floating-point numbers. It is intended for use only where floating-point values are unavailable. For best performance, use the HIKSetEffectorStatefv() function instead wherever possible.

+ Examples:
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.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose translation, rotation and scaling values you want to set.
pEffectorIndexUnique ID of the Effector whose translation, rotation and scaling values you want to set. See the HIKEffectorId enumeration for possible values.
pTTranslation value to set in global space.
pQRotation value to set in global space.
pSScaling value to set in global space.
void HIKSetHandPullHips ( HIKEffectorSetState pEffectorSetState,
int  pLeft,
float  pValue 
)

Set the amount of pull the left or right hand can exert on the hips.

By default, both hands can pull the hips (unless the hips have Pull and Reach Translation values assigned to them). You can use this function to change this default priority, and make the hands unable to pull the hips under any circumstances.

Parameters
pEffectorSetStateHIKEffectorSetState containing the left or right hand Effector whose Pull you want to set.
pLeftIndicates whether to set the pull for the left hand or right hand. 0 = right, 1 = left.
pValueValue must be between 0.0 (the hand cannot pull the hips) and 1.0 (the hand has full priority over the hips).
+ Examples:
void HIKSetIKSolvingStep ( HIKEffectorSetState pEffectorSetState,
int  pSolvingStep 
)

Set the IK solving steps for HIKEffectorSetState pEffectorSetState.

Parameters
pEffectorSetStateHIKEffectorSetState that you want to query.
pSolvingStepBit mask indicating the active steps. See the HIKSolvingStep enumeration for descriptions of the bit values.
+ Examples:
void HIKSetPull ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Pull constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Pull you want to set. See the HIKEffectorId enumeration for possible values.
pValueValue must be between 0.0 (the joint will not pull other joints in order to reach its target) and 1.0 (the joint will have maximum priority for reaching its target).
+ Examples:
void HIKSetResist ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Resist constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Resist you want to set. See the HIKEffectorId enumeration for possible values.
pValueValue must be between 0.0 (the joint moves freely) and 1.0 (the joint is constrained to its original rotation).
+ Examples:
void HIKSetRotationActive ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Reach Rotation constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Reach Rotation you want to set. See the HIKEffectorId enumeration for possible values.
pValueValue must be between 0.0 (pin the joint to the rotation of the FK pose) and 1.0 (pin the joint to the rotation of the Effector).
+ Examples:
void HIKSetTranslationActive ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
float  pValue 
)

Set the Reach Translation constraint for Effector pEffectorIndex.

Parameters
pEffectorSetStateHIKEffectorSetState containing the Effector whose value you want to set.
pEffectorIndexUnique ID of the Effector whose Reach Translation you want to set. See the HIKEffectorId enumeration for possible values.
pValueValue must be between 0.0 (pin the joint to the translation of the FK pose) and 1.0 (pin the joint to the translation of the Effector).
+ Examples: