00001 00012 #ifndef __GEOM_POINT_H__ 00013 #define __GEOM_POINT_H__ 00014 00015 #include <global.h> 00016 #include <node_index.h> 00017 00021 static const Coordinate OFS= 0.5; 00022 00026 class GeomPoint { 00027 public: 00036 GeomPoint(Coordinate x, Coordinate y, Coordinate z, 00037 Hight h= BASE_NODE_HIGHT); 00038 00043 GeomPoint(NodeIndex p); 00044 00056 int ccw(GeomPoint p1, GeomPoint p2, Axis proj); 00057 00064 AxIndex getAxIndex(Axis axis); 00065 00072 Coordinate getCoordinate(Axis axis); 00073 00078 GeomPoint getDup(); 00079 00084 Hight getHight(); 00085 00091 NodeIndex getNodeIndex(); 00092 00097 Coordinate getX(); 00098 00103 Coordinate getY(); 00104 00109 Coordinate getZ(); 00110 00114 virtual void print(); 00115 00123 void set(Coordinate x, Coordinate y, Coordinate z); 00124 00131 void setCoordinate(Axis axis, Coordinate value); 00132 00137 void setHight(Hight h); 00138 00143 void setX(Coordinate value); 00144 00149 void setY(Coordinate value); 00150 00155 void setZ(Coordinate value); 00156 00161 Coordinate operator[](Axis axis); 00162 00163 private: 00167 Coordinate coordinates[DIMENSIONS]; 00168 00172 Hight indexHight; 00173 }; // class GeomPoint 00174 00175 // ##### zugehörige Vergleichsoperatoren ############################# 00176 00185 bool operator==(GeomPoint p1, GeomPoint p2); 00186 00187 #endif // ! __GEOM_POINT_H__