Go to the documentation of this file.00001
00002 #ifndef gst_vertex_2d_h_
00003 #define gst_vertex_2d_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011 #include <vcl_iosfwd.h>
00012 #include <vbl/vbl_ref_count.h>
00013
00014 class gst_vertex_2d : public vbl_ref_count
00015 {
00016 public:
00017
00018
00019 gst_vertex_2d() {}
00020
00021
00022 gst_vertex_2d(double x, double y) : vbl_ref_count(), x_(x), y_(y) {}
00023
00024
00025 gst_vertex_2d( const gst_vertex_2d &v) : vbl_ref_count(), x_(v.get_x()), y_(v.get_y()) {}
00026
00027
00028 ~gst_vertex_2d() {}
00029
00030
00031 double get_x() const { return x_; }
00032 double get_y() const { return y_; }
00033
00034
00035 void set_x(double x) { x_= x; }
00036 void set_y(double y) { y_= y; }
00037 void set(double x, double y) { x_=x; y_=y; }
00038
00039
00040 friend inline bool operator==(const gst_vertex_2d& a, const gst_vertex_2d& b);
00041
00042 protected:
00043
00044
00045 double x_, y_;
00046 };
00047
00048
00049 bool operator==(const gst_vertex_2d& a, const gst_vertex_2d& b)
00050 { return a.x_== b.x_ && a.y_== b.y_; }
00051
00052 vcl_ostream &operator <<( vcl_ostream &os, const gst_vertex_2d &v);
00053
00054 #endif // gst_vertex_2d_h_