00001 00005 #ifndef ROAD_PLAYER_H 00006 #define ROAD_PLAYER_H 00007 00008 #include <vector> 00009 #include <utils/Player.h> 00010 #include <TimeSource/TimeSource.h> 00011 #include <RoadDest/RoadStructs.h> 00012 00013 namespace utils { 00014 class ConfigFile; 00015 class Vec3d; 00016 class SymbolTable; 00017 }; 00018 00025 class RoadPlayer { 00026 public: 00033 bool open(utils::ConfigFile& params, utils::SymbolTable* globals); 00034 00038 bool advance(); 00039 00045 bool getPoints(utils::Time& time, std::vector< utils::Vec3d > & points); 00046 00055 bool nextPoints(utils::Time& time, std::vector< utils::Vec3d > & points, 00056 bool blocking=true); 00057 00059 TimeSource::PlayerManager* getManager() { return &_mgr; } 00060 00061 private: 00062 TimeSource::PlayerManager _mgr; 00063 utils::Player* _player; 00064 utils::PlayElem* _play_elem; 00065 00066 RoadDataStruct _input_area; 00067 utils::Time _play_time; 00068 }; 00069 00070 #endif 00071