00001 /* 00002 * TrajectoryTracker.hpp 00003 * 00004 * Created on: Oct 28, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef TRAJECTORYTRACKER_HPP_ 00009 #define TRAJECTORYTRACKER_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <telekyb_base/Messages.hpp> 00013 00014 #include <string> 00015 00016 namespace TELEKYB_NAMESPACE 00017 { 00018 00019 00020 // Interface definition for TrajectoryTrackers 00021 00022 class TrajectoryTracker 00023 { 00024 protected: 00025 // TrajectoryTracker(); 00026 00027 00028 00029 public: 00030 // pure within TrajectoryTracker 00031 // bool isInitialized() const; 00032 // bool isActive() const; 00033 00034 virtual void initialize() = 0; 00035 // virtual void willBecomeActive() = 0; 00036 // virtual void willBecomeInActive() = 0; 00037 virtual void destroy() = 0; 00038 00039 virtual std::string getName() const = 0; 00040 00041 // Triggering Functions 00042 virtual void trajectoryCB(const TKTrajectory& trajectory) = 0; 00043 virtual void stateCB(const TKState& state) = 0; 00044 00045 // Destructor 00046 virtual ~TrajectoryTracker() {}; 00047 }; 00048 00049 00050 } // namepsace 00051 00052 00053 #endif /* TRAJECTORYTRACKER_HPP_ */