- Cal3D 0.9 API Reference -

coretrack.h

00001 //****************************************************************************//
00002 // coretrack.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_CORETRACK_H
00012 #define CAL_CORETRACK_H
00013 
00014 
00015 #include "cal3d/global.h"
00016 #include "cal3d/matrix.h"
00017 #include "cal3d/vector.h"
00018 #include "cal3d/quaternion.h"
00019 
00020 
00021 class CalCoreBone;
00022 class CalCoreKeyframe;
00023 
00024 
00025 class CAL3D_API CalCoreTrack
00026 {
00027 public:
00028   CalCoreTrack();
00029   ~CalCoreTrack();
00030 
00031   bool getState(float time, CalVector& translation, CalQuaternion& rotation);
00032 
00033   int getCoreBoneId();
00034   bool setCoreBoneId(int coreBoneId);
00035   
00036   int getCoreKeyframeCount();
00037   CalCoreKeyframe* getCoreKeyframe(int idx);
00038 
00039   bool addCoreKeyframe(CalCoreKeyframe *pCoreKeyframe);
00040 
00041   void scale(float factor);
00042 
00043 private:
00044   std::vector<CalCoreKeyframe*>::iterator getUpperBound(float time);
00045 
00047   int m_coreBoneId;
00048 
00050   std::vector<CalCoreKeyframe*> m_keyframes;
00051 };
00052 
00053 #endif
00054 
00055 //****************************************************************************//

Generated at Mon Jul 3 11:16:28 2006 by The Cal3D Team with doxygen 1.4.6 © 1997-2001 Dimitri van Heesch