// ==========================================================================
// $Id: point2d.h,v 1.1 2011/10/19 03:24:40 jlang Exp $
// CSI2372 example Code for lecture 4
// ==========================================================================
// (C)opyright:
//
//   Jochen Lang
//   SITE, University of Ottawa
//   800 King Edward Ave.
//   Ottawa, On., K1N 6N5
//   Canada. 
//   http://www.site.uottawa.ca
// 
// Creator: jlang (Jochen Lang)
// Email:   jlang@site.uottawa.ca
// ==========================================================================
// $Log: point2d.h,v $
// Revision 1.1  2011/10/19 03:24:40  jlang
// Added code for lecture 7
//
// Revision 1.3  2011/10/16 02:51:42  jlang
// Added files for lecture 06
//
// Revision 1.2  2011/10/03 15:29:33  jlang
// Updates for lecture 3-5
//
// Revision 1.1  2011/09/27 17:22:20  jlang
// Added bounding shape example
//
// Revision 1.1  2010/09/29 14:28:59  jlang
// Separate files for line_segment and point2d. Added test_point and make label test
//
//
// ==========================================================================
#ifndef POINT_2D
#define POINT_2D

class Point2D {
 protected:
  double d_x;
  double d_y;
 public:
  // All in-one constructor
  Point2D( double _x=0.0, double _y=0.0 );
  void print() const;
  Point2D min( const Point2D& _oPoint ) const;
  Point2D max( const Point2D& _oPoint ) const;
  bool isSmaller( const Point2D& _oPoint ) const;
  bool isGreater( const Point2D& _oPoint ) const;
  // getters
  double getX();
  double getY();
};
#endif
