00001
00012 #ifndef _NODE_BASSO_H_
00013 #define _NODE_BASSO_H_
00014
00015 #include "basso.h"
00016 #include "Point.h"
00017
00018 #include <map>
00019
00020 namespace basso {
00021
00026 class Node : public Point {
00027
00028 public:
00029
00031 Node() : Point() { nodeid=0; }
00032
00035 Node( int nid, const Point &p ) : Point(p) { nodeid=nid; }
00036
00043 Node( int nid, Numeric x, Numeric y, Numeric z ) : Point(x,y,z) { nodeid=nid; }
00044
00050 Node( int nid, Numeric x, Numeric y ) : Point(x,y) { nodeid=nid; }
00051
00056 Node( int nid, Numeric x ) : Point(x) { nodeid=nid; }
00057
00059 int Id() const { return nodeid; }
00060
00062 int &Id() { return nodeid; }
00063
00064 private:
00065 int nodeid;
00066
00067
00068 };
00069
00070
00072 std::ostream &operator << ( std::ostream &out, const Node &p )
00073 {
00074 out << "node " << p.Id() << " : (" << p.x() << "," << p.y() << "," << p.z() << ")";
00075 return out;
00076 }
00077
00078 }
00079
00080
00081 #endif