00001 /***************************************************************************** 00002 * \author 00003 * Erwin Aertbelien, Div. PMA, Dep. of Mech. Eng., K.U.Leuven 00004 * 00005 * \version 00006 * LRL V0.2 00007 * 00008 * \par History 00009 * - $log$ 00010 * 00011 * \par Release 00012 * $Id: trajectory_stationary.h 22 2004-09-21 08:58:54Z eaertbellocal $ 00013 * $Name: $ 00014 ****************************************************************************/ 00015 00016 #ifndef TRAJECTORY_STATIONARY_H 00017 #define TRAJECTORY_STATIONARY_H 00018 00019 #include "trajectory.hpp" 00020 00021 00022 namespace KDL { 00028 class Trajectory_Stationary : public Trajectory 00029 { 00030 double duration; 00031 Frame pos; 00032 public: 00033 Trajectory_Stationary(double _duration,const Frame& _pos): 00034 pos(_pos),duration(_duration) {} 00035 virtual double Duration() const { 00036 return duration; 00037 } 00038 virtual Frame Pos(double time) const { 00039 return pos; 00040 } 00041 virtual Twist Vel(double time) const { 00042 return Twist::Zero(); 00043 } 00044 virtual Twist Acc(double time) const { 00045 return Twist::Zero(); 00046 } 00047 virtual void Write(std::ostream& os) const; 00048 00049 virtual Trajectory* Clone() const { 00050 return new Trajectory_Stationary(duration,pos); 00051 } 00052 virtual ~Trajectory_Stationary() {} 00053 }; 00054 00055 00056 } 00057 00058 #endif