Instance of a Skeleton, main external interface for retrieving bone positions and applying animations.  
 More...
|  | 
|  | SkeletonInstance (const SkeletonDef *skeletonDef, BoneMemoryManager *boneMemoryManager) | 
|  | 
|  | ~SkeletonInstance () | 
|  | 
| void | _decrementRefCount (void) | 
|  | 
| void | _disableAnimation (SkeletonAnimation *animation) | 
|  | Internal use. Disables given animation. Input should belong to us and already being animated. 
 | 
|  | 
| void | _enableAnimation (SkeletonAnimation *animation) | 
|  | Internal use. Enables given animation. Input should belong to us and not already animated. 
 | 
|  | 
| FORCEINLINE const SimpleMatrixAf4x3 & | _getBoneFullTransform (size_t index) const | 
|  | Gets full transform of a bone by its index. 
 | 
|  | 
| const void * | _getMemoryBlock (void) const | 
|  | 
| const void * | _getMemoryUniqueOffset (void) const | 
|  | 
| uint16 | _getRefCount (void) const | 
|  | 
| const TransformArray & | _getTransformArray () const | 
|  | 
| void | _incrementRefCount (void) | 
|  | 
| void | _updateBoneStartTransforms (void) | 
|  | Updates the contents of @mBoneStartTransforms. 
 | 
|  | 
| void | addAnimationsFromSkeleton (const String &skelName, const String &groupName) | 
|  | Add all animation clips found in skelName. 
 | 
|  | 
| SkeletonAnimation * | getAnimation (IdString name) | 
|  | Returns the requested animations. Throws if not found. O(N) Linear search. 
 | 
|  | 
| const SkeletonAnimationVec & | getAnimations () const | 
|  | Return all animations associated with this skeleton. 
 | 
|  | 
| Bone * | getBone (IdString boneName) | 
|  | Gets the bone with given name. Throws if not found. 
 | 
|  | 
| Bone * | getBone (size_t index) | 
|  | Gets the bone from its index. Don't overflow!. 
 | 
|  | 
| const SkeletonDef * | getDefinition (void) const | 
|  | 
| size_t | getNumBones (void) const | 
|  | Gets the number of bones. 
 | 
|  | 
| Node * | getParentNode (void) const | 
|  | Returns our parent node. May be null. 
 | 
|  | 
| void | getTransforms (SimpleMatrixAf4x3 *RESTRICT_ALIAS outTransform, const FastArray< unsigned short > &usedBones) const | 
|  | 
| bool | hasAnimation (IdString name) const | 
|  | 
| bool | hasBone (IdString name) const | 
|  | 
| bool | isManualBone (Bone *bone) | 
|  | Returns true if the bone is manually controlled. 
 | 
|  | 
| void | operator delete (void *ptr) | 
|  | 
| void | operator delete (void *ptr, const char *, int, const char *) | 
|  | 
| void | operator delete (void *ptr, void *) | 
|  | 
| void | operator delete[] (void *ptr) | 
|  | 
| void | operator delete[] (void *ptr, const char *, int, const char *) | 
|  | 
| void * | operator new (size_t sz) | 
|  | 
| void * | operator new (size_t sz, const char *file, int line, const char *func) | 
|  | operator new, with debug line info 
 | 
|  | 
| void * | operator new (size_t sz, void *ptr) | 
|  | placement operator new 
 | 
|  | 
| void * | operator new[] (size_t sz) | 
|  | 
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | 
|  | array operator new, with debug line info 
 | 
|  | 
| void | resetToPose (void) | 
|  | Resets the transform of all bones to the binding pose. Manual bones are not reset. 
 | 
|  | 
| void | setManualBone (Bone *bone, bool isManual) | 
|  | Sets the given node to manual. 
 | 
|  | 
| void | setParentNode (Node *parentNode) | 
|  | Sets our parent node so that our bones are in World space. 
 | 
|  | 
| void | setSceneNodeAsParentOfBone (Bone *bone, SceneNode *nodeParent) | 
|  | Sets a regular SceneNode to be parent of this Bone for manually controlling a bone (e.g. 
 | 
|  | 
| void | update (void) | 
|  | 
Instance of a Skeleton, main external interface for retrieving bone positions and applying animations. 
- I.e. if there is 1 root bone with 6 child bones; the root node will be animated solo, the first 4 child bones will be animated at the same time, and the 2 last bones will be animated together in the next loop iteration. 
- Note however, when updating bones in the hierarchy to obtain the derived transforms (rather than animating), the root bone will be updated together using SIMD with the root bones from 3 other SkeletonInstances that share the same SkeletonDef. Only animating them has this restriction. The animation system won't be able to "share" though, if the SkeletonDef had 3 root nodes instead of 1; because we need to put them in a SIMD block in a repeating pattern And repeating 3 bones at least twice gives 6 bones, which doesn't fit in SSE2 (though it should in AVX, where ARRAY_PACKED_REALS = 8)
To those interested in the original repository of OgreAnimation to obtain full history, go to: https://bitbucket.org/dark_sylinc/ogreanimation