- Cal3D 0.9 API Reference - |
00001 //****************************************************************************// 00002 // coreanimation.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_COREANIMATION_H 00012 #define CAL_COREANIMATION_H 00013 00014 //****************************************************************************// 00015 // Includes // 00016 //****************************************************************************// 00017 00018 #include "cal3d/global.h" 00019 00020 //****************************************************************************// 00021 // Forward declarations // 00022 //****************************************************************************// 00023 00024 class CalCoreTrack; 00025 00026 //****************************************************************************// 00027 // Class declaration // 00028 //****************************************************************************// 00029 00030 /*****************************************************************************/ 00034 class CAL3D_API CalCoreAnimation 00035 { 00036 // member variables 00037 protected: 00038 float m_duration; 00039 std::list<CalCoreTrack *> m_listCoreTrack; 00040 std::string m_name; 00041 std::string m_filename; 00042 00043 int m_referenceCount; 00044 00045 // constructors/destructor 00046 public: 00047 CalCoreAnimation(); 00048 virtual ~CalCoreAnimation(); 00049 00050 // member functions 00051 public: 00052 bool addCoreTrack(CalCoreTrack *pCoreTrack); 00053 bool create(); 00054 void destroy(); 00055 CalCoreTrack *getCoreTrack(int coreBoneId); 00056 float getDuration(); 00057 std::list<CalCoreTrack *>& getListCoreTrack(); 00058 void setDuration(float duration); 00059 void scale(float factor); 00060 void setFilename(const std::string& filename); 00061 const std::string& getFilename(void); 00062 void setName(const std::string& name); 00063 const std::string& getName(void); 00064 void incRef(); 00065 bool decRef(); 00066 }; 00067 00068 #endif 00069 00070 //****************************************************************************//