OGRE
2.2.4
Object-Oriented Graphics Rendering Engine
|
#include <OgreSkeletonTrack.h>
Public Member Functions | |
SkeletonTrack (uint32 boneBlockIdx, KfTransformArrayMemoryManager *kfTransformMemoryManager) | |
~SkeletonTrack () | |
void | _bakeUnusedSlots (void) |
Takes all KeyFrames and repeats the KfTransforms for every unused slot by a pattern based on the number of used slots. More... | |
KeyFrameRigVec & | _getKeyFrames (void) |
void | _setMaxUsedSlot (uint32 slot) |
void | addKeyFrame (Real timestamp, Real frameRate) |
void | applyKeyFrameRigAt (KeyFrameRigVec::const_iterator &inOutLastKnownKeyFrame, float frame, ArrayReal animWeight, const ArrayReal *RESTRICT_ALIAS perBoneWeights, const TransformArray &KfTransforms) const |
Applies the interpolated keyframe at the given frame to all bone transformations that are animated by this Track. More... | |
uint32 | getBoneBlockIdx (void) const |
void | getKeyFrameRigAt (KeyFrameRigVec::const_iterator &inOutPrevFrame, KeyFrameRigVec::const_iterator &outNextFrame, Real frame) const |
const KeyFrameRigVec & | getKeyFrames (void) const |
size_t | getUsedSlots (void) const |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
void | setKeyFrameTransform (Real frame, uint32 slot, const Vector3 &vPos, const Quaternion &qRot, const Vector3 vScale) |
void | setNumKeyFrame (size_t numKeyFrames) |
Ogre::SkeletonTrack::SkeletonTrack | ( | uint32 | boneBlockIdx, |
KfTransformArrayMemoryManager * | kfTransformMemoryManager | ||
) |
Ogre::SkeletonTrack::~SkeletonTrack | ( | ) |
void Ogre::SkeletonTrack::_bakeUnusedSlots | ( | void | ) |
Takes all KeyFrames and repeats the KfTransforms for every unused slot by a pattern based on the number of used slots.
Only useful when mUsedSlots <= (ARRAY_PACKED_REALS >> 1). Otherwise it does nothing.
|
inline |
References RESTRICT_ALIAS.
|
inline |
References Ogre::max().
void Ogre::SkeletonTrack::applyKeyFrameRigAt | ( | KeyFrameRigVec::const_iterator & | inOutLastKnownKeyFrame, |
float | frame, | ||
ArrayReal | animWeight, | ||
const ArrayReal *RESTRICT_ALIAS | perBoneWeights, | ||
const TransformArray & | KfTransforms | ||
) | const |
Applies the interpolated keyframe at the given frame to all bone transformations that are animated by this Track.
inOutLastKnownKeyFrame | [in/out] Hint to this system on where to start next. If unknown (i.e. first call) set it to mKeyFrameRigs.begin() As output it will be set to the current keyframe, and should be used as input for the next call to keep keyframe searchs in constant time. |
frame | [in] Frame number, should be in range [0; mNumFrames]; if below zero the result will look like clamped to zero, if above mNumFrames, it result will look like clamped to mNumFrames |
perBoneWeights | [in] A list of per bone weights. The size of the array must be 1 (or more) |
KfTransforms | [out] An array with all bone transformations, sorted by parent level. The key frames are only applied to affected bones. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
|
inlineinherited |
placement operator new
|
inlineinherited |
array operator new, with debug line info
|
inlineinherited |
void Ogre::SkeletonTrack::setKeyFrameTransform | ( | Real | frame, |
uint32 | slot, | ||
const Vector3 & | vPos, | ||
const Quaternion & | qRot, | ||
const Vector3 | vScale | ||
) |
void Ogre::SkeletonTrack::setNumKeyFrame | ( | size_t | numKeyFrames | ) |