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_GROUP_GEOS_H 00021 #define GEE_GROUP_GEOS_H 00022 00023 #include <gee_operator.h> 00024 00025 class GEE_Group; 00026 00032 class GEE_GroupGeos : public GEE_Operator 00033 { 00034 public: 00035 GEE_GroupGeos(GEE_id_t groupId = -1); 00036 virtual ~GEE_GroupGeos(); 00037 00038 virtual id_container * getExtraIds(); 00039 00040 virtual bool act(GEE_World *, const GEE_TimeStamp &); 00041 00042 virtual bool read(GEE_Io *); 00043 virtual bool write(GEE_Io *); 00044 00045 virtual const char * type(); 00046 static GEE_Operator * create(); 00047 00048 void addId(GEE_id_t id) { if(id != m_groupId) m_ids.insert(id); } 00049 00050 protected: 00051 00052 GEE_id_t m_groupId; 00053 00054 id_container m_ids; 00055 }; 00056 00057 #endif