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