- Cal3D 0.9 API Reference -

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

animation.h

00001 //****************************************************************************//
00002 // animation.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_ANIMATION_H
00012 #define CAL_ANIMATION_H
00013 
00014 //****************************************************************************//
00015 // Includes                                                                   //
00016 //****************************************************************************//
00017 
00018 #include "cal3d/global.h"
00019 
00020 //****************************************************************************//
00021 // Forward declarations                                                       //
00022 //****************************************************************************//
00023 
00024 class CalCoreAnimation;
00025 
00026 //****************************************************************************//
00027 // Class declaration                                                          //
00028 //****************************************************************************//
00029 
00030  /*****************************************************************************/
00034 class CAL3D_API CalAnimation
00035 {
00036 // misc
00037 public:
00038   enum Type
00039   {
00040     TYPE_NONE = 0,
00041     TYPE_CYCLE,
00042     TYPE_POSE,
00043     TYPE_ACTION
00044   };
00045 
00046   enum State
00047   {
00048     STATE_NONE = 0,
00049     STATE_SYNC,
00050     STATE_ASYNC,
00051     STATE_IN,
00052     STATE_STEADY,
00053     STATE_OUT
00054   };
00055 
00056 // member variables
00057 protected:
00058   CalCoreAnimation *m_pCoreAnimation;
00059   Type m_type;
00060   State m_state;
00061   float m_time;
00062   float m_timeFactor;
00063   float m_weight;
00064 
00065 // constructors/destructor
00066 protected:
00067   CalAnimation();
00068 public:
00069   virtual ~CalAnimation();
00070 
00071 // member functions 
00072 public:
00073   virtual bool create(CalCoreAnimation *pCoreAnimation) = 0;
00074   virtual void destroy();
00075   CalCoreAnimation *getCoreAnimation();
00076   State getState();
00077   float getTime();
00078   Type getType();
00079   float getWeight();
00080   void setTime(float time);
00081 };
00082 
00083 #endif
00084 
00085 //****************************************************************************//

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