- Cal3D 0.9 API Reference -

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

skeleton.h

00001 //****************************************************************************//
00002 // skeleton.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_SKELETON_H
00012 #define CAL_SKELETON_H
00013 
00014 //****************************************************************************//
00015 // Includes                                                                   //
00016 //****************************************************************************//
00017 
00018 #include "cal3d/global.h"
00019 
00020 //****************************************************************************//
00021 // Forward declarations                                                       //
00022 //****************************************************************************//
00023 
00024 class CalCoreSkeleton;
00025 class CalCoreModel;
00026 class CalBone;
00027 
00028 //****************************************************************************//
00029 // Class declaration                                                          //
00030 //****************************************************************************//
00031 
00032  /*****************************************************************************/
00036 class CAL3D_API CalSkeleton
00037 {
00038 // member variables
00039 protected:
00040   CalCoreSkeleton *m_pCoreSkeleton;
00041   std::vector<CalBone *> m_vectorBone;
00042   bool m_isBoundingBoxesComputed;
00043 
00044 // constructors/destructor
00045 public:
00046   CalSkeleton();
00047   virtual ~CalSkeleton();
00048 
00049 // member functions
00050 public:
00051   void calculateState();
00052   void clearState();
00053   bool create(CalCoreSkeleton *pCoreSkeleton);
00054   void destroy();
00055   CalBone *getBone(int boneId) const;
00056   CalCoreSkeleton *getCoreSkeleton() const;
00057   std::vector<CalBone *>& getVectorBone();
00058   void lockState();
00059   void getBoneBoundingBox(float *min, float *max);
00060   void calculateBoundingBoxes();
00061 
00062 
00063 
00064 // DEBUG-CODE
00065   int getBonePoints(float *pPoints);
00066   int getBonePointsStatic(float *pPoints);
00067   int getBoneLines(float *pLines);
00068   int getBoneLinesStatic(float *pLines);
00069 };
00070 
00071 #endif
00072 
00073 //****************************************************************************//

Generated at Mon May 23 16:15:32 2005 by The Cal3D Team with doxygen 1.4.2 © 1997-2001 Dimitri van Heesch