00001
00005
#ifndef VEH_POSE_PLAYER_H
00006
#define VEH_POSE_PLAYER_H
00007
00008
#include <vector>
00009
#include <utils/Player.h>
00010
#include <TimeSource/TimeSource.h>
00011
#include <VehPoseDest/VehPose.h>
00012
#include <VehPoseDest/VehPoseStructs.h>
00013
00014
namespace utils {
00015
class ConfigFile;
00016
class Vec3d;
00017
class SymbolTable;
00018 };
00019
00026 class VehPosePlayer {
00027
public:
00034
bool open(utils::ConfigFile& params, utils::SymbolTable* globals);
00035
00039
bool advance();
00040
00046
bool getCurPose(utils::Time& time,
VehPose& pose);
00047
00056
bool nextPose(utils::Time& time,
VehPose& pose,
bool blocking=
true);
00057
00065
bool getPose(utils::Time time,
VehPose& pose);
00066
00068 TimeSource::PlayerManager*
getManager() {
return &_mgr; }
00069
00070
private:
00071
void set_pose(
VehPose& pose);
00072
00073
private:
00074 TimeSource::PlayerManager _mgr;
00075 utils::Player* _player;
00076
00077
VehPoseDataStruct _input_area;
00078 utils::Time _play_time;
00079 };
00080
00081
#endif
00082