- Cal3D 0.9 API Reference -

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

mixer.h

00001 //****************************************************************************//
00002 // mixer.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_MIXER_H
00012 #define CAL_MIXER_H
00013 
00014 //****************************************************************************//
00015 // Includes                                                                   //
00016 //****************************************************************************//
00017 
00018 #include "cal3d/global.h"
00019 
00020 //****************************************************************************//
00021 // Forward declarations                                                       //
00022 //****************************************************************************//
00023 
00024 class CalModel;
00025 class CalAnimation;
00026 class CalAnimationAction;
00027 class CalAnimationCycle;
00028 
00029 //****************************************************************************//
00030 // Class declaration                                                          //
00031 //****************************************************************************//
00032 
00033  /*****************************************************************************/
00037 class CAL3D_API CalMixer
00038 {
00039 // member variables
00040 public:
00041   CalModel *m_pModel;
00042   std::vector<CalAnimation *> m_vectorAnimation;
00043   std::list<CalAnimationAction *> m_listAnimationAction;
00044   std::list<CalAnimationCycle *> m_listAnimationCycle;
00045   float m_animationTime;
00046   float m_animationDuration;
00047 
00048 // constructors/destructor
00049 public:
00050   CalMixer();
00051   virtual ~CalMixer();
00052 
00053 // member functions 
00054 public:
00055   bool blendCycle(int id, float weight, float delay);
00056   bool clearCycle(int id, float delay);
00057   bool create(CalModel *pModel);
00058   void destroy();
00059   bool executeAction(int id, float delayIn, float delayOut, float weightTarget = 1.0f);
00060   void updateAnimation(float deltaTime);
00061   void updateSkeleton();
00062   float getAnimationTime();
00063   float getAnimationDuration();
00064   void setAnimationTime(float animationTime);
00065   
00066 
00067 };
00068 
00069 #endif
00070 
00071 //****************************************************************************//

Generated at Sun Oct 12 18:38:47 2003 by The Cal3D Team with doxygen 1.2.14 © 1997-2001 Dimitri van Heesch