00001 #ifndef SKELETALANIMATION_H_EJR421
00002 #define SKELETALANIMATION_H_EJR421
00003
00004 #include "global.h"
00005 #include "Keyframes.h"
00006 class BoneInterpolator;
00007 class Bone;
00008
00015 class SkeletalAnimation {
00016 public:
00030 SkeletalAnimation( const AKeysList& keys, const BoneNameSet& boneSet,
00031 Bone& rootBone, float startTime, float endTime,
00032 const std::string& animName);
00033
00037 ~SkeletalAnimation();
00038
00042 float getLength() const;
00043
00047 const std::string& getName() const;
00048
00061 void animate( float t );
00062
00063 private:
00067 void cleanUp();
00068
00069 SkeletalAnimation();
00070 SkeletalAnimation( const SkeletalAnimation& o );
00071 SkeletalAnimation& operator = ( const SkeletalAnimation& rhs );
00072
00073 std::string name;
00074 float length;
00075
00076 typedef std::vector<BoneInterpolator*> BIList;
00077 typedef BIList::iterator BIListIter;
00078 typedef BIList::const_iterator BIListCIter;
00079
00080 BIList bis;
00081 };
00082
00083 #endif
00084