Contains functions that validate character definitions and character geometry.
Macros | |
#define | HIKRequiredBoneCount 15 |
The number of required Nodes for an HIKCharacter. More... | |
#define | HIKSpineBoneCount 9 |
The maximum number of possible Nodes in a character's spine. More... | |
#define | HIKNeckBoneCount 9 |
The maximum number of possible Nodes in a character's neck. More... | |
#define | HIKRollBoneCount 8 |
The maximum number of possible roll Nodes in a character's arms and legs. More... | |
#define | HIKRequiredBoneCount 15 |
The number of required Nodes for an HIKCharacter. More... | |
#define | HIKSpineBoneCount 9 |
The maximum number of possible Nodes in a character's spine. More... | |
#define | HIKNeckBoneCount 9 |
The maximum number of possible Nodes in a character's neck. More... | |
#define | HIKRollBoneCount 8 |
The maximum number of possible roll Nodes in a character's arms and legs. More... | |
Functions | |
const int * | HIKGetRequiredBoneList () |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are required. More... | |
const int * | HIKGetSpineBoneList () |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are part of the spine. More... | |
const int * | HIKGetNeckBoneList () |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are part of the neck. More... | |
const int * | HIKGetRollBoneList () |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are roll Nodes. More... | |
bool | HIKValidateRequiredBone (const HIKCharacterDefinition *pCharacterDefinition, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that the specified HIKCharacterDefinition contains all required Nodes. More... | |
bool | HIKValidateSpine (const HIKCharacterDefinition *pCharacterDefinition, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that the spine of the specified HIKCharacterDefinition does not have any missing Nodes. More... | |
bool | HIKValidateNeck (const HIKCharacterDefinition *pCharacterDefinition, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that the neck of the specified HIKCharacterDefinition does not have any missing Nodes. More... | |
bool | HIKValidateHipsXAxis (const HIKCharacter *pCharacter, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that the hips of the specified HIKCharacter are aligned along the X axis. More... | |
bool | HIKValidateArmsXAxis (const HIKCharacter *pCharacter, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that the arms of the specified HIKCharacter are aligned along the X axis. More... | |
bool | HIKValidateSpineYAxis (const HIKCharacter *pCharacter, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that the spine of the specified HIKCharacter is aligned along the Y axis. More... | |
bool | HIKValidateBonePosition (const HIKCharacter *pCharacter, char *pErrorMsg=0, unsigned int pErrorMsgSize=0) |
Validates that no two Nodes are set at the same position in 3D space. More... | |
#define HIKNeckBoneCount 9 |
The maximum number of possible Nodes in a character's neck.
Definition at line 53 of file hikvalidation.h.
#define HIKNeckBoneCount 9 |
The maximum number of possible Nodes in a character's neck.
Definition at line 53 of file hikvalidation.h.
#define HIKRequiredBoneCount 15 |
The number of required Nodes for an HIKCharacter.
Definition at line 47 of file hikvalidation.h.
#define HIKRequiredBoneCount 15 |
The number of required Nodes for an HIKCharacter.
Definition at line 47 of file hikvalidation.h.
#define HIKRollBoneCount 8 |
The maximum number of possible roll Nodes in a character's arms and legs.
Definition at line 56 of file hikvalidation.h.
#define HIKRollBoneCount 8 |
The maximum number of possible roll Nodes in a character's arms and legs.
Definition at line 56 of file hikvalidation.h.
#define HIKSpineBoneCount 9 |
The maximum number of possible Nodes in a character's spine.
Definition at line 50 of file hikvalidation.h.
#define HIKSpineBoneCount 9 |
The maximum number of possible Nodes in a character's spine.
Definition at line 50 of file hikvalidation.h.
const int * HIKGetNeckBoneList | ( | ) |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are part of the neck.
The length of the array should always be equal to HIKNeckBoneCount.
const int * HIKGetRequiredBoneList | ( | ) |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are required.
The length of the array should always be equal to HIKRequiredBoneCount.
const int * HIKGetRollBoneList | ( | ) |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are roll Nodes.
The length of the array should always be equal to HIKNeckBoneCount.
const int * HIKGetSpineBoneList | ( | ) |
Returns a list of integers that identify which Nodes in the HIKNodeId enumeration are part of the spine.
The length of the array should always be equal to HIKSpineBoneCount.
bool HIKValidateArmsXAxis | ( | const HIKCharacter * | pCharacter, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that the arms of the specified HIKCharacter are aligned along the X axis.
If the alignment of the arms is too far off, the function returns false
and updates the pErrorMsg
to indicate the problem.
pCharacter | The HIKCharacter to test. | |
[out] | pErrorMsg | Updated to indicate any errors detected with the character geometry. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if the alignment of the arms is too far off the X axis, or true
otherwise. bool HIKValidateBonePosition | ( | const HIKCharacter * | pCharacter, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that no two Nodes are set at the same position in 3D space.
If two Nodes are found at the same position, the function returns false
and updates the pErrorMsg
to indicate the problem.
pCharacter | The HIKCharacter to test. | |
[out] | pErrorMsg | Updated to indicate any errors detected with the character geometry. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if two or more Nodes are at the same position, or true
otherwise. bool HIKValidateHipsXAxis | ( | const HIKCharacter * | pCharacter, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that the hips of the specified HIKCharacter are aligned along the X axis.
If the alignment of the hips is too far off, the function returns false
and updates the pErrorMsg
to indicate the problem.
pCharacter | The HIKCharacter to test. | |
[out] | pErrorMsg | Updated to indicate any errors detected with the character geometry. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if the alignment of the hips is too far off the X axis, or true
otherwise. bool HIKValidateNeck | ( | const HIKCharacterDefinition * | pCharacterDefinition, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that the neck of the specified HIKCharacterDefinition does not have any missing Nodes.
For example, a character can not be created with Neck3NodeId unless it also has Neck2NodeId and Neck1NodeId. If one or more Nodes in the nech are missing, the function returns false
and updates the pErrorMsg
to list the missing Nodes.
pCharacterDefinition | The HIKCharacterDefinition to test. | |
[out] | pErrorMsg | Updated to list all missing neck Nodes not found in the definition. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if at least one neck Node is missing in the character definition, or true
otherwise. bool HIKValidateRequiredBone | ( | const HIKCharacterDefinition * | pCharacterDefinition, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that the specified HIKCharacterDefinition contains all required Nodes.
If one or more Nodes are missing, the function returns false
and updates the pErrorMsg
to list the missing Nodes.
pCharacterDefinition | The HIKCharacterDefinition to test. | |
[out] | pErrorMsg | Updated to list all missing Nodes not found in the definition. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if at least one required Node is missing in the character definition, or true
otherwise. bool HIKValidateSpine | ( | const HIKCharacterDefinition * | pCharacterDefinition, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that the spine of the specified HIKCharacterDefinition does not have any missing Nodes.
For example, a character can not be created with Spine3NodeId unless it also has Spine2NodeId and Spine1NodeId. If one or more Nodes in the spine are missing, the function returns false
and updates the pErrorMsg
to list the missing Nodes.
pCharacterDefinition | The HIKCharacterDefinition to test. | |
[out] | pErrorMsg | Updated to list all missing spine Nodes not found in the definition. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if at least one spine Node is missing in the character definition, or true
otherwise. bool HIKValidateSpineYAxis | ( | const HIKCharacter * | pCharacter, |
char * | pErrorMsg = 0 , |
||
unsigned int | pErrorMsgSize = 0 |
||
) |
Validates that the spine of the specified HIKCharacter is aligned along the Y axis.
If the alignment of the spine is too far off, the function returns false
and updates the pErrorMsg
to indicate the problem.
pCharacter | The HIKCharacter to test. | |
[out] | pErrorMsg | Updated to indicate any errors detected with the character geometry. |
[out] | pErrorMsgSize | Updated to indicate the number of characters in the pErrorMsg string. |
false
if the alignment of the spine is too far off the Y axis, or true
otherwise.