00001 // Copyright (C) 2006 University of Louisiana at Lafayette 00002 // Authors: Christopher Mire 00003 00004 #ifndef CAJUN_MANUAL_CONTROLLER_H 00005 #define CAJUN_MANUAL_CONTROLLER_H 00006 00007 #include "controller_interface.H" 00008 #include "queue_generator.H" 00009 00010 namespace cajun 00011 { 00012 //class controller_interface_t; 00013 00014 class manual_controller_t : public controller_interface_t 00015 { 00016 public: 00017 manual_controller_t (); 00018 manual_controller_t (dynamic_object_t *object, timer_t *timer); 00019 ~manual_controller_t (); 00020 private: 00021 class steering_observer_t : public timer_t::observer_t 00022 { 00023 public: 00024 steering_observer_t (steering_sensor_t *m, double interval_v); 00025 virtual ~steering_observer_t (); 00026 bool timeout (double currTime); 00027 private: 00028 steering_sensor_t *m_steering_sensor; 00029 control_data_t m_control_data; 00030 }; 00031 }; 00032 } 00033 #endif