00001
00011 #ifndef _H_POINT
00012 #define _H_POINT
00013 #include <iostream>
00014 #include <sstream>
00015 #include <vector>
00016 using namespace std;
00017
00021 class Point {
00022 private:
00024 vector<double> m_coordinates;
00025
00026 public:
00027
00033 Point( int dimension );
00034
00040 Point( vector< double > &toCopy );
00041
00047 unsigned int getDimension() const;
00048
00049
00056 double getCoordinate( const int index ) const;
00057
00064 void setCoordinate( const int index, const double value );
00065
00071 void setCoordinates( vector<double> values );
00072
00083 Point* operator-(const Point other) const;
00084
00090 string toString() const;
00091
00092
00093
00094
00095
00096
00097 };
00098
00108 ostream& operator <<( ostream &os, const Point point );
00109
00110 #endif
00111