diff options
Diffstat (limited to 'src/point.cpp')
-rw-r--r-- | src/point.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/point.cpp b/src/point.cpp new file mode 100644 index 0000000..cad96e4 --- /dev/null +++ b/src/point.cpp @@ -0,0 +1,77 @@ +/*********************************************************************** + * Source File: + * Point : The representation of a position on the screen + * Author: + * Br. Helfrich + * Summary: + * Everything we need to know about a location on the screen, including + * the location and the bounds. + ************************************************************************/ + +#include "point.h" +#include <cassert> +#include "uiDraw.h" +using namespace std; +/****************************************** + * POINT : CONSTRUCTOR WITH X,Y + * Initialize the point to the passed position + *****************************************/ +Point::Point(float x, float y) : x(0.0), y(0.0) +{ + setX(x); + setY(y); +} + +/******************************************* + * POINT : SET X + * Set the x position if the value is within range + *******************************************/ +void Point::setX(float x) +{ + this->x = x; +} + +/******************************************* + * POINT : SET Y + * Set the y position if the value is within range + *******************************************/ +void Point::setY(float y) +{ + this->y = y; +} + +/****************************************** + * POINT insertion + * Display coordinates on the screen + *****************************************/ +std::ostream & operator << (std::ostream & out, const Point & pt) +{ + out << "(" << pt.getX() << ", " << pt.getY() << ")"; + return out; +} + +/******************************************* + * POINT extraction + * Prompt for coordinates + ******************************************/ +std::istream & operator >> (std::istream & in, Point & pt) +{ + float x; + float y; + in >> x >> y; + + pt.setX(x); + pt.setY(y); + + return in; +} + +bool Point::inRange( const Point &p, const float range ) +{ + if ( ( fabs( getX() - p.getX() ) < range) && + ( fabs( getY() - p.getY() ) < range ) ) + { + return true; + } + return false; +} |