stamped-position.hh
Go to the documentation of this file.
00001 #ifndef WALK_INTERFACE_STAMPED_POSITION_HH
00002 # define WALK_INTERFACE_STAMPED_POSITION_HH
00003 # include <iostream>
00004 # include <boost/date_time.hpp>
00005 # include <boost/date_time/posix_time/posix_time_io.hpp>
00006 # include <Eigen/Core>
00007 # include <boost/date_time.hpp>
00008 # include <walk_interfaces/types.hh>
00009 
00010 namespace walk
00011 {
00019   template <typename T>
00020   struct StampedPosition
00021   {
00023     TimeDuration duration;
00025     T position;
00026   public:
00027     EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
00028   };
00029 
00031   typedef StampedPosition<HomogeneousMatrix3d> StampedPosition3d;
00033   typedef StampedPosition<HomogeneousMatrix2d> StampedPosition2d;
00035   typedef StampedPosition<Eigen::Vector2d> StampedVector2d;
00037   typedef StampedPosition<Eigen::Vector3d> StampedVector3d;
00039   typedef StampedPosition<Eigen::VectorXd> StampedVectorNd;
00040 
00045   template <typename T>
00046   std::ostream&
00047   operator<<(std::ostream& os, const StampedPosition<T>& sp)
00048   {
00049     os << sp.duration << " " << sp.position;
00050     return os;
00051   }
00052 } // end of namespace walk.
00053 
00054 #endif //! WALK_INTERFACE_STAMPED_POSITION_HH


walk_interfaces
Author(s): Thomas Moulard/thomas.moulard@gmail.com, Antonio El Khoury
autogenerated on Sat Dec 28 2013 17:05:21