Main Page   Class Hierarchy   Compound List   File List   Compound Members  

AnimationSet.h

00001 #ifndef ANIMATIONSET_TSD242
00002 #define ANIMATIONSET_TSD242
00003 
00004 #include "global.h"
00005 #include "Keyframes.h"
00006 class Bone;
00007 class SkeletalAnimation;
00008 
00018 class AnimationSet {
00019 public:
00025     AnimationSet( const std::string& setName );
00026 
00030     ~AnimationSet();
00031 
00049     void addAnimation( const AKeysList& keys, const BoneNameSet& boneSet,
00050                        Bone& rootBone, float startTime, float endTime,
00051                        const std::string& animName );
00052 
00060     void setLooping( bool looping );
00061 
00065     bool isLooping() const;
00066 
00070     const std::string& getName() const;
00071 
00075     int getNumAnims() const;
00076 
00083     int findAnim( const std::string& animName ) const;
00084 
00092     const std::string& getAnimName( int anim ) const;
00093 
00098     int getActiveAnim() const;
00099 
00110     void setActiveAnim( int anim );
00111 
00118     void update( float dt );
00119     
00120 private:
00121     AnimationSet();
00122     AnimationSet( const AnimationSet& o );
00123     AnimationSet& operator = ( const AnimationSet& rhs );
00124     
00125     std::string name;
00126     float currTime;
00127     bool looping;
00128 
00129     SkeletalAnimation* activeAnim;
00130 
00131     typedef std::vector<SkeletalAnimation*> AList;
00132     typedef AList::iterator AListIter;
00133     typedef AList::const_iterator AListCIter;
00134 
00135     AList anims;
00136 };
00137 
00138 #endif
00139 

Generated on Wed May 14 01:38:07 2003 for CG Skeletal Animation Project by doxygen1.2.18