Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

object.hh

Go to the documentation of this file.
00001 #ifndef _object_hh_
00002 #define _object_hh_
00003 
00004 #include <string>
00005 #include <vector>
00006 #include "base.hh"
00007 #include "configuration.hh"
00008 
00009 #ifndef NULL
00010 #define NULL 0
00011 #endif
00012 
00013 #ifndef null
00014 #define null 0
00015 #endif
00016 
00017 namespace anoid {
00018     namespace base {
00019 
00020         class AbstractWorld;
00021         class Message;
00022 
00028         class Object: public loader::Base {
00029             protected:
00030                 int ID;
00031                 Object *parent;
00032                 AbstractWorld *world;
00033                 std::vector<Object*> children;
00034             public:
00038                 Object *getParent() { return parent; }
00042                 AbstractWorld *getWorld() { return world; }
00047                 virtual Object *add(Object *o);
00052                 Object(int i = 0);
00058                 virtual void init(config::Configuration &c);
00063                 virtual void update();
00068                 virtual void redraw();
00074                 virtual void receive(Message *m);
00075                 void listen(const std::string &m);
00076         };
00077 
00078     };
00079 };
00080 
00081 #endif

Anoid NG © Michael Westergaard, Martin Stig Stissing, Ronni Michael Laursen, and Kristian Bisgaard Lassen