|
| Skeleton (unsigned short numberOfJoints=1) |
| Constructor. More...
|
|
| Skeleton (const Skeleton &rhs) |
| Copy constructor.
|
|
| ~Skeleton () |
| Destructor.
|
|
Skeleton & | operator= (const Skeleton &rhs) |
| Assign operator.
|
|
unsigned short | numJoints () const |
| Gets the number of joints. More...
|
|
void | setNumJoints (unsigned int numJoints) |
| Sets the number of joints. More...
|
|
Joint & | operator[] (unsigned short index) |
| Gets the joint. More...
|
|
const Joint & | operator[] (unsigned short index) const |
| Gets the joint. More...
|
|
Joint & | joint (unsigned short index) |
| Gets the joint. More...
|
|
const Joint & | joint (unsigned short index) const |
| Gets the joint. More...
|
|
JointCPtr | root () const |
| Gets the root joint. More...
|
|
JointPtr | root () |
| Gets the root joint. More...
|
|
void | setRoot (unsigned short id) |
| Sets the root joint. More...
|
|
unsigned short | numFeet () const |
| Gets the number of feet. More...
|
|
void | clearFeet () |
| Clears all the feet.
|
|
void | addFoot (unsigned short footIK, unsigned short footRoot, unsigned short footTip) |
| Adds a foot. More...
|
|
JointPtr | footIK (unsigned short id) |
| Gets the foot IK. More...
|
|
JointCPtr | footIK (unsigned short id) const |
| Gets the foot IK. More...
|
|
bool | isFootIK (unsigned short id) const |
| Check if a joint is a foot ik. More...
|
|
JointPtr | footRoot (unsigned short id) |
| Get foot root. More...
|
|
JointCPtr | footRoot (unsigned short id) const |
| Get foot root. More...
|
|
bool | isFootRoot (unsigned short id) const |
| Check if a joint is a foot root. More...
|
|
JointPtr | footTip (unsigned short id) |
| Get foot tip. More...
|
|
JointCPtr | footTip (unsigned short id) const |
| Get foot tip. More...
|
|
bool | isFootTip (unsigned short id) const |
| Check if a joint is a foot tip. More...
|
|
bool | footHasPoleVector (unsigned short id) const |
| Returns true if the foot at the given id has a pole vector.
|
|
AtomsCore::Vector3 | footPoleVector (unsigned short id) const |
| Returns the foot pole vector.
|
|
void | setFootPoleVector (unsigned short id, const AtomsCore::Vector3 &value) |
| Set the foto pole vector.
|
|
unsigned short | footPelvis (unsigned short id) const |
| Get foot pelvis. More...
|
|
const std::vector< unsigned short > & | midJoints (unsigned short id) const |
| Get leg mid joints. More...
|
|
const std::vector< unsigned short > & | legJoints (unsigned short id) const |
| Get leg joints. More...
|
|
unsigned short | numPelvises () const |
| Gets the number of pelvises. More...
|
|
void | clearPelvises () |
| Clears all pelvises.
|
|
void | addPelvis (unsigned short pelvisJoint) |
| Adds a pelvis. More...
|
|
JointPtr | pelvis (unsigned short id) |
| Gets a pelvis. More...
|
|
JointCPtr | pelvis (unsigned short id) const |
| Get pelvis. More...
|
|
bool | isPelvis (unsigned short id) const |
| Check if a joint is a pelvis. More...
|
|
unsigned int | numPelvisChains (unsigned int id) const |
| Get number of pelvis chains. More...
|
|
PelvisChain * | pelvisChain (unsigned int id, unsigned int chain) |
| Get a palvis chain. More...
|
|
const PelvisChain * | pelvisChain (unsigned int id, unsigned int chain) const |
| Get a palvis chain. More...
|
|
const std::vector< unsigned short > & | detachedJoints () const |
| Get joints without a parent. More...
|
|
void | buildIkData () |
| Build Ik data. More...
|
|
void | buildJointNameMap () |
| Build Joint name -> id map.
|
|
void | buildDetachedJointsList () |
| Build detached joints list.
|
|
int | jointId (const std::string &name) const |
| Gets the joint id. More...
|
|
void | clear () |
| Clears all joints and metadatas.
|
|
size_t | memSize () const |
| Get the memory size.
|
|
std::vector< unsigned short > | jointMetadataIds () const |
| Gets the ids of the joints having some metadatas.
|
|
bool | jointHasMetadata (unsigned short index) |
| Check if a joint has some metadata. More...
|
|
bool | jointHasMetadata (unsigned short index) const |
| Check if a joint has some metadata. More...
|
|
MapMetadata & | jointMetadata (unsigned short index) |
| Gets joint metadata. More...
|
|
const MapMetadata & | jointMetadata (unsigned short index) const |
| Gets joint metadata. More...
|
|
void | setJointMetadata (unsigned short index, const MapMetadata &data) |
| Adds joint metadata. More...
|
|
void | addJointMetadata (unsigned short index, const std::string &key, Metadata *data) |
| Adds joint metadata. More...
|
|
void | addJointMetadata (unsigned short index, const std::string &key, const AtomsPtr< Metadata > data) |
| Adds joint metadata. More...
|
|
void | clearJointMetadata (unsigned short index) |
| Clears joint metadata. More...
|
|
void | clearJointsMetadata () |
| Clears all joint metadata.
|
|
void | hash (MurmurHash3 &hash) const |
| Hash.
|
|
std::vector< SkeletonLod > & | lods () |
| Get sim lod info.
|
|
const std::vector< SkeletonLod > & | lods () const |
| Get sim lod info.
|
|
void | sanitizeJointNames () |
| Sanitize joint names.
|
|
Skeleton class.
The skeleton class stores an array of joints. This array is initialized by the constructor. It's not possible to add other joints after the constructor. This class contains an array of joint ids that represent the skeleton pelvises. A pelvis is defined as a joint connecting two opposite legs. For example in a human there is just one pelvis, while in an horse there are 2 pelvises joint, one for the back legs and one for the front legs. The concept of multiple pelvises is used by the motion blending engine in order to bend the spine when a character with multiple pelvises turns. This class contains also a list of feet joints. For every foot, a foot root (usually corresponding to the hip joint), ik and tip must be defined. The three joints are used by the motion engine to compute the leg IKs during the simulation.