- Cal3D 0.9 API Reference -

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

coreskeleton.h

00001 //****************************************************************************//
00002 // coreskeleton.h                                                             //
00003 // Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger                       //
00004 //****************************************************************************//
00005 // This library is free software; you can redistribute it and/or modify it    //
00006 // under the terms of the GNU Lesser General Public License as published by   //
00007 // the Free Software Foundation; either version 2.1 of the License, or (at    //
00008 // your option) any later version.                                            //
00009 //****************************************************************************//
00010 
00011 #ifndef CAL_CORESKELETON_H
00012 #define CAL_CORESKELETON_H
00013 
00014 //****************************************************************************//
00015 // Includes                                                                   //
00016 //****************************************************************************//
00017 
00018 #include "cal3d/global.h"
00019 
00020 //****************************************************************************//
00021 // Forward declarations                                                       //
00022 //****************************************************************************//
00023 
00024 class CalCoreBone;
00025 class CalCoreModel;
00026 
00027 //****************************************************************************//
00028 // Class declaration                                                          //
00029 //****************************************************************************//
00030 
00031  /*****************************************************************************/
00035 class CAL3D_API CalCoreSkeleton
00036 {
00037 // member variables
00038 protected:
00039   std::vector<CalCoreBone *> m_vectorCoreBone;
00040   std::map< std::string, int > m_mapCoreBoneNames;
00041   std::list<int> m_listRootCoreBoneId;  
00042   int m_referenceCount;
00043 
00044 // constructors/destructor
00045 public:
00046   CalCoreSkeleton();
00047   virtual ~CalCoreSkeleton();
00048 
00049 // member functions
00050 public:
00051   int addCoreBone(CalCoreBone *pCoreBone);
00052   void calculateState();
00053   bool create();
00054   void destroy();
00055   CalCoreBone* getCoreBone(int coreBoneId);
00056   CalCoreBone* getCoreBone(const std::string& strName);
00057   int getCoreBoneId(const std::string& strName);
00058   bool mapCoreBoneName(int coreBoneId, const std::string& strName);
00059   std::list<int>& getListRootCoreBoneId();
00060   std::vector<CalCoreBone *>& getVectorCoreBone();
00061   void calculateBoundingBoxes(CalCoreModel * pCoreModel);
00062   void scale(float factor);
00063   void incRef();
00064   bool decRef();    
00065 };
00066 
00067 #endif
00068 
00069 //****************************************************************************//

Generated at Thu Nov 25 00:56:22 2004 by The Cal3D Team with doxygen 1.3.9.1 © 1997-2001 Dimitri van Heesch