src/vamos/geometry/Two_Point.cc

Go to the documentation of this file.
00001 //      Vamos - a driving simulator
00002 //  Copyright (C) 2001 Sam Varner
00003 //
00004 //  This program is free software; you can redistribute it and/or modify
00005 //  it under the terms of the GNU General Public License as published by
00006 //  the Free Software Foundation; either version 2 of the License, or
00007 //  (at your option) any later version.
00008 //
00009 //  This program is distributed in the hope that it will be useful,
00010 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 //  GNU General Public License for more details.
00013 //
00014 //  You should have received a copy of the GNU General Public License
00015 //  along with this program; if not, write to the Free Software
00016 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 
00018 #include <vamos/geometry/Two_Point.h>
00019 
00020 Vamos_Geometry::Two_Point Vamos_Geometry::
00021 operator + (Two_Point p1, Two_Point p2)
00022 {
00023   return Two_Point (p1.x + p2.x, p1.y + p2.y);
00024 }
00025 Vamos_Geometry::Two_Point Vamos_Geometry::
00026 operator + (Two_Point p, double scalar)
00027 {
00028   return Two_Point (p.x + scalar, p.y + scalar);
00029 }
00030 Vamos_Geometry::Two_Point Vamos_Geometry::
00031 operator + (double scalar, Two_Point p)
00032 {
00033   return p + scalar;
00034 }
00035 
00036 Vamos_Geometry::Two_Point Vamos_Geometry::
00037 operator - (Two_Point p1, Two_Point p2)
00038 {
00039   return Two_Point (p1.x - p2.x, p1.y - p2.y);
00040 }
00041 Vamos_Geometry::Two_Point Vamos_Geometry::
00042 operator - (Two_Point p, double scalar)
00043 {
00044   return Two_Point (p.x - scalar, p.y - scalar);
00045 }
00046 Vamos_Geometry::Two_Point Vamos_Geometry::
00047 operator - (double scalar, Two_Point p)
00048 {
00049   return Two_Point (scalar - p.x, scalar - p.y);
00050 }
00051 
00052 Vamos_Geometry::Two_Point Vamos_Geometry::
00053 operator * (Two_Point p1, Two_Point p2)
00054 {
00055   return Two_Point (p1.x * p2.x, p1.y * p2.y);
00056 }
00057 Vamos_Geometry::Two_Point Vamos_Geometry::
00058 operator * (Two_Point p, double scalar)
00059 {
00060   return Two_Point (p.x * scalar, p.y * scalar);
00061 }
00062 Vamos_Geometry::Two_Point Vamos_Geometry::
00063 operator * (double scalar, Two_Point p)
00064 {
00065   return p * scalar;
00066 }
00067 
00068 Vamos_Geometry::Two_Point Vamos_Geometry::
00069 operator / (Two_Point p1, Two_Point p2)
00070 {
00071   return Two_Point (p1.x / p2.x, p1.y / p2.y);
00072 }
00073 Vamos_Geometry::Two_Point Vamos_Geometry::
00074 operator / (double scalar, Two_Point p)
00075 {
00076   return Two_Point (scalar / p.x, scalar / p.y);
00077 }
00078 Vamos_Geometry::Two_Point Vamos_Geometry::
00079 operator / (Two_Point p, double scalar)
00080 {
00081   return Two_Point (p.x / scalar, p.y / scalar);
00082 }
00083 
00084 // Stream Operators
00085 std::ostream& Vamos_Geometry::
00086 operator << (std::ostream& os, const Two_Point& point)
00087 {
00088   os << "[ " << point.x << ", " << point.y << " ]";
00089   return os;
00090 }
00091 
00092 std::istream& Vamos_Geometry::
00093 operator >> (std::istream& is, Two_Point& point)
00094 {
00095   char delim;
00096   is >> delim >> point.x >> delim >> point.y >> delim;
00097   return is;
00098 }

Generated on Thu Oct 19 04:05:55 2006 by  doxygen 1.4.6