00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEOS_OP_SIMPLENESTEDRINGTESTER_H
00018 #define GEOS_OP_SIMPLENESTEDRINGTESTER_H
00019
00020 #include <vector>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class Coordinate;
00026 class LinearRing;
00027 }
00028 namespace geomgraph {
00029 class GeometryGraph;
00030 }
00031 }
00032
00033 namespace geos {
00034 namespace operation {
00035 namespace valid {
00036
00043 class SimpleNestedRingTester {
00044 private:
00045 geomgraph::GeometryGraph *graph;
00046 std::vector<geom::LinearRing*> rings;
00047 geom::Coordinate *nestedPt;
00048 public:
00049 SimpleNestedRingTester(geomgraph::GeometryGraph *newGraph)
00050 :
00051 graph(newGraph),
00052 rings(),
00053 nestedPt(NULL)
00054 {}
00055
00056 ~SimpleNestedRingTester() {
00057 }
00058
00059 void add(geom::LinearRing *ring) {
00060 rings.push_back(ring);
00061 }
00062
00063
00064
00065
00066
00067
00068
00069 geom::Coordinate *getNestedPoint() {
00070 return nestedPt;
00071 }
00072
00073 bool isNonNested();
00074 };
00075
00076
00077 }
00078 }
00079 }
00080
00081 #endif // GEOS_OP_SIMPLENESTEDRINGTESTER_H
00082
00083
00084
00085
00086
00087
00088
00089