00001 #ifndef __SG_CONTROLLER_H 00002 #define __SG_CONTROLLER_H 00003 00004 00005 #include "SG_IObject.h" 00006 class SG_Controller : public SG_IObject 00007 { 00008 public: 00009 SG_Controller() :SG_IObject(NULL,NULL,SG_IObject::m_nocallbacks),m_pObject(NULL) {} 00010 virtual ~SG_Controller() {}; 00011 virtual bool Update(double time)=0; 00012 virtual void SetObject (SG_IObject* object); 00013 virtual void SetSimulatedTime(double time)=0; 00014 virtual SG_Controller* GetReplica()=0; 00015 virtual void ProcessReplica(SG_Controller* replica); 00016 00017 00018 protected: 00019 SG_IObject* m_pObject; 00020 00021 }; 00022 #endif //__SG_CONTROLLER_H