00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOS_NODING_SNAPROUND_MCINDEXPOINTSNAPPER_H
00020 #define GEOS_NODING_SNAPROUND_MCINDEXPOINTSNAPPER_H
00021
00022 #include <geos/export.h>
00023
00024 #include <geos/inline.h>
00025
00026
00027 namespace geos {
00028 namespace index {
00029 class SpatialIndex;
00030 }
00031 namespace noding {
00032 class SegmentString;
00033 namespace snapround {
00034 class HotPixel;
00035 }
00036 }
00037 }
00038
00039 namespace geos {
00040 namespace noding {
00041 namespace snapround {
00042
00048 class GEOS_DLL MCIndexPointSnapper {
00049
00050 public:
00051
00052
00053 MCIndexPointSnapper(index::SpatialIndex& nIndex)
00054 :
00055 index(nIndex)
00056 {}
00057
00070 bool snap(HotPixel& hotPixel, SegmentString* parentEdge,
00071 unsigned int vertexIndex);
00072
00073 bool snap(HotPixel& hotPixel) {
00074 return snap(hotPixel, 0, 0);
00075 }
00076
00077
00078 private:
00079
00080 index::SpatialIndex& index;
00081
00082
00083 MCIndexPointSnapper(const MCIndexPointSnapper& other);
00084 MCIndexPointSnapper& operator=(const MCIndexPointSnapper& rhs);
00085 };
00086
00087
00088 }
00089 }
00090 }
00091
00092 #endif // GEOS_NODING_SNAPROUND_MCINDEXPOINTSNAPPER_H