gee_collector_renderer.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_COLLECTOR_RENDERER_H
00021 #define GEE_COLLECTOR_RENDERER_H
00022 
00023 #include <gee_renderer.h>
00024 #include <gee_transparency_list.h>
00025 
00026 #include <list>
00027 
00028 class GEE_Geometry;
00029 
00030 class GEE_CollectorRenderer : public GEE_Renderer
00031 {
00032 public:
00033 
00034   GEE_CollectorRenderer();
00035   virtual ~GEE_CollectorRenderer();
00036 
00037   virtual void renderGroupStructure(GEE_Group *);
00038   virtual void renderLines3D(GEE_Lines3D *);
00039   virtual void renderPath3D(GEE_Path3D *);
00040   virtual void renderParticleObject(GEE_ParticleObject *);
00041   virtual void renderPolygonMesh(GEE_PolygonMesh *);
00042   virtual void renderProfile(GEE_Profile *);
00043   virtual void renderSphere(GEE_Sphere *);
00044   virtual void renderTriangleMesh(GEE_TriangleMesh *);
00045   virtual void renderVeeObject(VEE_Object *, 
00046              const VEE_Matrix4 * m = 0, 
00047              float scale = 0.0f);
00048 
00049   virtual void pushTransform(const VEE_Matrix4d &);
00050   virtual void pushTransform(const VEE_Matrix4 &);
00051   virtual void popTransform();
00052   virtual void enableTransforms(bool enable);
00053   virtual bool enableTransforms();
00054   
00055   void clear();
00056 
00057   GEE_TransparencyList & transparencies() { return m_transparencies; }
00058   GEE_TransparencyList & solids()         { return m_solids; }
00059 
00060   void setCameraLocation(const VEE_Vector3 &l)
00061   {
00062     m_transparencies.setCameraLocation(l);
00063     m_solids.setCameraLocation(l);
00064   }
00065 
00066 protected:
00067   GEE_TransparencyList m_transparencies;
00068   GEE_TransparencyList m_solids;
00069 
00070   enum {  STACK_MAXIMUM = 64 };
00071 
00072   VEE_Matrix4d         m_stack[STACK_MAXIMUM];
00073   VEE_Matrix4          m_current;
00074   int                  m_stackIndex;
00075 };
00076 
00077 
00078 #endif

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