00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _TWO_POINT_H_
00019 #define _TWO_POINT_H_
00020
00021 #include <iostream>
00022
00023 namespace Vamos_Geometry
00024 {
00025 class Two_Point
00026 {
00027 public:
00028
00029 double x;
00030 double y;
00031
00032 Two_Point (double x_in, double y_in) : x (x_in), y (y_in) {};
00033 Two_Point () : x (0.0), y (0.0) {};
00034 };
00035
00036
00037 Two_Point operator + (Two_Point p1, Two_Point p2);
00038 Two_Point operator + (Two_Point p, double scalar);
00039 Two_Point operator + (double scalar, Two_Point p);
00040 Two_Point operator - (Two_Point p1, Two_Point p2);
00041 Two_Point operator - (Two_Point p, double scalar);
00042 Two_Point operator - (double scalar, Two_Point p);
00043 Two_Point operator * (Two_Point p1, Two_Point p2);
00044 Two_Point operator * (Two_Point p, double scalar);
00045 Two_Point operator * (double scalar, Two_Point p);
00046 Two_Point operator / (Two_Point p1, Two_Point p2);
00047 Two_Point operator / (Two_Point p, double scalar);
00048 Two_Point operator / (double scalar, Two_Point p);
00049
00050
00051 std::istream& operator >> (std::istream& is, Two_Point& point);
00052 std::ostream& operator << (std::ostream& os, const Two_Point& point);
00053 }
00054
00055 #endif