gee_copy_geometry.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_COPY_GEOMETRY_H
00021 #define GEE_COPY_GEOMETRY_H
00022 
00023 #include <gee_operator.h>
00024 #include <gee_world.h>
00025 
00026 #include <vee_matrix4.h>
00027 
00040 class GEE_CopyGeometry : public GEE_Operator
00041 {
00042 public:
00043   GEE_CopyGeometry(GEE_id_t sourceId = -1,
00044        bool sourceIsGeometry = true);
00045   virtual ~GEE_CopyGeometry();
00046 
00047   virtual id_container * getExtraIds();
00048   virtual bool remapIdMembers(id_remap &);
00049 
00050   virtual bool act(GEE_World *, const GEE_TimeStamp &);
00051   
00052   virtual bool read(GEE_Io *);
00053   virtual bool write(GEE_Io *);
00054   virtual const char * type();
00055 
00056   static GEE_Operator * create();
00057 
00058   void setTransformation(const VEE_Matrix4d &t) { m_transform = t; }
00059 
00060   GEE_World & geometries() { return m_sourceModels; }
00061 
00062 protected:
00063 
00064   void updateIds();
00065 
00066   GEE_id_t m_sourceId;
00069   bool     m_sourceIsGeometry;
00070   VEE_Matrix4d m_transform;
00071   
00072   id_remap m_remap;
00073   id_container m_ids;
00074 
00078   GEE_World m_sourceModels;
00079 };
00080 
00081 
00082 #endif

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