Transformation2D.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  *  Transformation2D.h
00003  *
00004  *  (C) 2008 AG Aktives Sehen <agas@uni-koblenz.de>
00005  *           Universitaet Koblenz-Landau
00006  *
00007  * $Id: Transformation2D.h 44313 2011-04-06 22:46:28Z agas $
00008  *******************************************************************************/
00009 
00010 #ifndef TRANSFORMATION2D_H
00011 #define TRANSFORMATION2D_H
00012 
00013 #include <cmath>
00014 #include <vector>
00015 //#include "Workers/Math/Vec.h"
00016 #include "Point2D.h"
00017 #include "Line2D.h"
00018 
00019 
00028 class Transformation2D : public CVec2
00029 {
00030 
00031   public:
00032 
00039     Transformation2D ( double x, double y, double theta );
00040 
00046     Transformation2D ( const CVec2& vec, double theta );
00047 
00051     Transformation2D();
00052 
00056     ~Transformation2D();
00057 
00064     void set ( double x, double y, double theta );
00065 
00070     double theta() const;
00071 
00075     Transformation2D operator+ ( Transformation2D t ) const;
00076     Transformation2D& operator+= ( Transformation2D t );
00077 
00081     Transformation2D operator- ( Transformation2D t ) const;
00082     Transformation2D& operator-= ( Transformation2D t );
00083 
00087     Transformation2D operator* ( float factor ) const;
00088     Transformation2D& operator*= ( float factor );
00089 
00093     Transformation2D operator/ ( float factor ) const;
00094     Transformation2D& operator/= ( float factor );
00095 
00099     bool operator== ( Transformation2D t ) const;
00100     bool operator!= ( Transformation2D t ) const;
00101 
00106     bool operator<= ( Transformation2D t ) const;
00107     bool operator>= ( Transformation2D t ) const;
00108     bool operator< ( Transformation2D t ) const;
00109     bool operator> ( Transformation2D t ) const;
00110 
00114     Transformation2D abs() const;
00115 
00119     Transformation2D inverse() const;
00120 
00124     Point2D transform ( const Point2D& point ) const;
00125     std::vector<Point2D> transform ( const std::vector<Point2D>& points ) const;
00126 
00130     Line2D transform ( const Line2D& line ) const;
00131     std::vector<Line2D> transform ( const std::vector<Line2D>& lines ) const;
00132 
00137     std::string toString() const;
00138 
00139   private:
00140     double m_Theta;
00141 };
00142 
00143 #endif
00144 


robbie_architecture
Author(s): Viktor Seib
autogenerated on Mon Oct 6 2014 02:53:09