00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef GEE_HISTORY_ANIMATION_H 00021 #define GEE_HISTORY_ANIMATION_H 00022 00023 #include <gee_id.h> 00024 #include <gee_time_stamp.h> 00025 00026 #include <vee_time.h> 00027 00028 class GEE_Engine; 00029 class GEE_OperatorGroup; 00030 00036 class GEE_HistoryAnimation 00037 { 00038 public: 00039 GEE_HistoryAnimation(); 00040 ~GEE_HistoryAnimation(); 00041 00042 void start(GEE_Engine *); 00043 00044 void update(float delta = 0.0f); 00045 00046 void stop(); 00047 00048 bool isDone(); 00049 00050 protected: 00051 00052 void startNewRound(GEE_id_t groupToInclude); 00053 void endRound(); 00054 00055 typedef std::set<GEE_id_t> container; 00056 typedef container::iterator iterator; 00057 00058 container m_groupIds; 00059 iterator m_iterator; 00060 00061 GEE_Engine * m_engine; 00062 GEE_OperatorGroup * m_currentGroup; 00064 double m_currentScale; 00066 GEE_TimeStamp m_currentTime; 00067 00068 VEE_Time m_prevTime; 00069 }; 00070 00071 #endif