00001 /******************************************************************************* 00002 * Pose.h 00003 * 00004 * (C) 2006 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * $Id: Pose.h 44313 2011-04-06 22:46:28Z agas $ 00008 *******************************************************************************/ 00009 00010 #ifndef POSE_H 00011 #define POSE_H 00012 00013 #include "Point2D.h" 00014 //#include "Architecture/Serializer/ExtendedOutStream.h" // TODO kann wahrscheinlich weg 00015 //#include "Architecture/Serializer/ExtendedInStream.h" 00016 00017 class Transformation2D; 00018 00026 class Pose : public Point2D { 00027 00028 public: 00029 00036 Pose(float x, float y, float theta); 00037 00041 Pose(); 00042 00046 ~Pose(); 00047 00048 float theta() const; 00049 00050 void setTheta(float theta); 00051 00052 Pose operator+ ( const Transformation2D& transformation ) const; 00053 Pose operator- ( const Transformation2D& transformation ) const; 00054 Transformation2D operator- ( const Pose& pose ) const; 00055 00063 Pose interpolate(const Pose& referencePose, float t) const; 00064 00065 // Pose( ExtendedInStream& extStrm ); 00066 00067 // void storer( ExtendedOutStream& extStrm ) const; 00068 00069 protected: 00070 00071 float m_Theta; 00072 }; 00073 00074 #endif