00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef GEOS_GEOMGRAPH_DEPTH_H
00019 #define GEOS_GEOMGRAPH_DEPTH_H
00020
00021 #include <string>
00022
00023 #include <geos/inline.h>
00024
00025
00026 namespace geos {
00027 namespace geomgraph {
00028 class Label;
00029 }
00030 }
00031
00032 namespace geos {
00033 namespace geomgraph {
00034
00035 class Depth {
00036 public:
00037 static int depthAtLocation(int location);
00038 Depth();
00039 virtual ~Depth();
00040 int getDepth(int geomIndex,int posIndex) const;
00041 void setDepth(int geomIndex,int posIndex,int depthValue);
00042 int getLocation(int geomIndex,int posIndex) const;
00043 void add(int geomIndex,int posIndex,int location);
00044 bool isNull() const;
00045 bool isNull(int geomIndex) const;
00046 bool isNull(int geomIndex, int posIndex) const;
00047 int getDelta(int geomIndex) const;
00048 void normalize();
00049 void add(const Label& lbl);
00050 std::string toString() const;
00051 private:
00052 enum {
00053 DEPTHNULL=-1
00054 };
00055
00056 int depth[2][3];
00057 };
00058
00059 }
00060 }
00061
00062
00063
00064
00065
00066 #endif // ifndef GEOS_GEOMGRAPH_DEPTH_H
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077