gee_engine.h

Go to the documentation of this file.
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_ENGINE_H
00021 #define GEE_ENGINE_H
00022 
00023 #include <gee_collector_renderer.h>
00024 #include <gee_gallery.h>
00025 #include <gee_operator.h>
00026 #include <gee_transparency_list.h>
00027 #include <gee_world.h>
00028 
00031 class GEE_Engine
00032 {
00033 public:
00034   GEE_Engine();
00035   ~GEE_Engine();
00036 
00037   void addOperator(GEE_Operator *);
00038 
00039   void update(GEE_TimeStamp);
00040   void rewind(GEE_TimeStamp);
00041   void toBegin();
00042 
00043   void undo(bool update = true, uint n = 1);
00044   void redo(bool update = true, uint n = 1);
00045 
00046   bool read(const char *, bool merge = false, bool clean = true);
00047   bool write(const char *);
00048   bool mergeGalleriesFrom(const char *);
00049 
00050   GEE_World           & world()   { return m_world; }
00051   GEE_OperatorManager & actions() { return m_actions; }
00052   GEE_Gallery         & gallery() { return m_gallery; }
00053 
00054   void setGarbageBin(VEE_GarbageBin * bin);
00055 
00056   void collectObjects(bool clearOld = true);
00057   void clear();
00058 
00059   GEE_CollectorRenderer & collector() { return m_collector; }
00060 
00061 protected:
00062 
00063   static void remapThese(GEE_OperatorManager &, GEE_World &, GEE_Gallery &);
00064 
00065   GEE_Gallery           m_gallery;
00066   GEE_World             m_world;
00067   GEE_OperatorManager   m_actions;
00068   GEE_TimeStamp         m_prevTime;
00069   GEE_CollectorRenderer m_collector;
00070 
00071   static bool m_debug;
00072 };
00073 
00074 #endif

Generated on Mon Mar 12 21:09:00 2007 for VEE - The Visual Effects Engine by  doxygen 1.4.6