Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

coordinate.h

Go to the documentation of this file.
00001 /***************************************************************************************************
00002 *****           Copyright (C) 2005  John Schneiderman <JohnMS@member.fsf.org>                  *****
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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA     *****
00017 ***************************************************************************************************/
00018 #ifndef COORDINATE_H
00019 #define COORDINATE_H
00020 
00021 #include <iostream>
00022 using std::istream;
00023 using std::ostream;
00024 
00030 class Coordinate
00031 {
00032 public:
00036     double x;
00040     double y;
00044     double z;
00045 
00049     Coordinate();
00054     Coordinate(double value);
00061     Coordinate(double setX, double setY, double setZ);
00066     Coordinate(const Coordinate &point);
00072     Coordinate& operator=(const Coordinate &rhs);
00081     Coordinate operator+(const Coordinate &rhs) const;
00090     Coordinate operator-(const Coordinate &rhs) const;
00099     Coordinate operator*(const Coordinate &rhs) const;
00108     Coordinate operator/(const Coordinate &rhs) const;
00117     Coordinate& operator+=(const Coordinate &rhs);
00126     Coordinate& operator-=(const Coordinate &rhs);
00135     Coordinate& operator*=(const Coordinate &rhs);
00144     Coordinate& operator/=(const Coordinate &rhs);
00150     bool operator==(const Coordinate &rhs) const;
00156     bool operator!=(const Coordinate &rhs) const;
00163     friend istream& operator>>(istream &in, Coordinate &point);
00170     friend ostream& operator<<(ostream &out, const Coordinate &point);
00171 };
00172 #endif

Generated on Tue Mar 28 23:28:03 2006 for ClusterSim by  doxygen 1.4.4