00001 #ifndef SKELETON_H
00002 #define SKELETON_H
00003
00004 #include "Bone.h"
00005 #include <vector>
00006
00007 using namespace std;
00008
00009 namespace model {
00010
00029 class Skeleton {
00030 private:
00031 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00032 Bone* m_vBones;
00033 #else
00034 vector<Bone*> m_vBones;
00035 #endif
00036
00037 public:
00052 Skeleton() {};
00053
00068 ~Skeleton() {};
00069
00070
00071 Skeleton(const Skeleton& other);
00072 Skeleton& operator=(const Skeleton& other);
00073
00074 void addBone(Bone* parent, IvVector3* direction, float length, string name);
00075 void removeBone(int id);
00076 void removeBone(string name);
00077 vector<Bone*> getBones();
00078 Bone* getBone(int id);
00079 Bone* getBone(string name);
00080
00081
00082 bool operator==( const Skeleton& other ) const;
00083 bool operator!=( const Skeleton& other ) const;
00084
00085 };
00086
00091 }
00092
00093 #endif //SKELETON_H