00001 /* 00002 This file is part of geometria. 00003 00004 geometria is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published 00006 by the Free Software Foundation; either version 2 of the License, 00007 or (at your option) any later version. 00008 00009 geometria is distributed in the hope that it will be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00011 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 00012 License for more details. 00013 00014 You should have received a copy of the GNU General Public 00015 License along with geometria; if not, write to the Free Software 00016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 00017 00018 (c) Philipp Moritz, 2006 00019 */ 00020 00021 #include "Vector.hpp" 00022 00023 vector::vector(double x, double y) 00024 : m_x(x), m_y(y) 00025 { 00026 } 00027 00028 double vector::get_x() const 00029 { 00030 return m_x; 00031 } 00032 00033 double vector::get_y() const 00034 { 00035 return m_y; 00036 } 00037 00038 00039 point operator+(point p, vector v) 00040 { 00041 return point(p.get_x() + v.get_x(), p.get_y() + v.get_y()); 00042 } 00043 00044 point operator+(vector v, point p) 00045 { 00046 return p + v; 00047 } 00048 00049 point operator-(point p, vector v) 00050 { 00051 return point(p.get_x() - v.get_x(), p.get_y() - v.get_y()); 00052 } 00053 00054 point operator-(vector v, point p) 00055 { 00056 return p - v; 00057 }