00001
00006 #ifndef VEH_POSE_SOURCE_INTF_H
00007 #define VEH_POSE_SOURCE_INTF_H
00008
00009 #include <utils/Time.h>
00010 #include <utils/Interface.h>
00011 #include <VehPoseDest/VehPose.h>
00012
00022 UTILS_INTERFACE(VehPoseSource) {
00023 public:
00028 virtual ~VehPoseSource() {}
00029
00041 virtual bool getPose(utils::Time time, VehPose& pose) = 0;
00042
00060 virtual bool getCurPose(utils::Time& time,
00061 VehPose& pose, bool blocking = false);
00062
00063
00077 static void interpolate(const VehPose& prev_pose,
00078 const VehPose& next_pose, double t,
00079 VehPose& sensor_pose);
00080
00081
00082 UTILS_INTF_DECL(VehPoseSource);
00083 };
00084
00085 #endif