Point.h
Go to the documentation of this file.
00001 #ifndef QRK_POINT_H
00002 #define QRK_POINT_H
00003 
00013 namespace qrk
00014 {
00018     template <typename T>
00019     class Point
00020     {
00021     public:
00022         T x;
00023         T y;
00024 
00025 
00026         Point(void) : x(0), y(0)
00027         {
00028         }
00029 
00030 
00031         Point(T x_, T y_) : x(x_), y(y_)
00032         {
00033         }
00034 
00035 
00036         bool operator == (const Point<T>& rhs) const
00037         {
00038             return ((this->x == rhs.x) && (this->y == rhs.y)) ? true : false;
00039         }
00040 
00041 
00042         bool operator < (const Point<T>& rhs) const
00043         {
00044             if (y < rhs.y) {
00045                 return true;
00046 
00047             } else if (x < rhs.x) {
00048                 return true;
00049 
00050             } else {
00051                 return false;
00052             }
00053         }
00054 
00055 
00056         Point<T>& operator += (const Point<T>& rhs)
00057         {
00058             this->x += rhs.x;
00059             this->y += rhs.y;
00060 
00061             return *this;
00062         }
00063 
00064 
00065         const Point<T> operator + (const Point<T>& rhs) const
00066         {
00067             return Point<T>(*this) += rhs;
00068         }
00069 
00070 
00071         Point<T>& operator -= (const Point<T>& rhs)
00072         {
00073             this->x -= rhs.x;
00074             this->y -= rhs.y;
00075 
00076             return *this;
00077         }
00078 
00079 
00080         const Point<T> operator - (const Point<T>& rhs) const
00081         {
00082             return Point<T>(*this) -= rhs;
00083         }
00084     };
00085 }
00086 
00087 #endif /* !QRK_POINT_H */


corobot_teleop
Author(s):
autogenerated on Sun Oct 5 2014 23:18:16