00001 #ifndef SKELETON_H_WJH423 00002 #define SKELETON_H_WJH423 00003 00004 #include "global.h" 00005 #include "Bone.h" 00006 class StaticModel; 00007 00018 class Skeleton { 00019 public: 00025 explicit Skeleton( Bone* root ); 00026 00032 ~Skeleton(); 00033 00038 Bone* getRoot(); 00039 00047 Bone* findBone( const std::string& boneName ); 00048 00060 void addBone( Bone* parent, Bone* newBone ); 00061 00068 void debugRender( StaticModel& m ); 00069 00074 void updateHierarchy( const Matrix& worldMat ); 00075 00084 BonePtrListIter beginBones(); 00085 00092 BonePtrListIter endBones(); 00093 00094 private: 00095 Skeleton(); 00096 Skeleton( const Skeleton& o ); 00097 Skeleton& operator = ( const Skeleton& rhs ); 00098 00099 Bone* rootBone; 00100 00101 BonePtrList allBones; 00102 }; 00103 00104 #endif 00105
1.2.18