GEOS
3.6.2
|
00001 /********************************************************************** 00002 * 00003 * GEOS - Geometry Engine Open Source 00004 * http://geos.osgeo.org 00005 * 00006 * Copyright (C) 2006 Refractions Research Inc. 00007 * 00008 * This is free software; you can redistribute and/or modify it under 00009 * the terms of the GNU Lesser General Public Licence as published 00010 * by the Free Software Foundation. 00011 * See the COPYING file for more information. 00012 * 00013 ********************************************************************** 00014 * 00015 * Last port: noding/snapround/MCIndexPointSnapper.java r486 (JTS-1.12+) 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 // Forward declarations 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 { // geos::noding 00041 namespace snapround { // geos::noding::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 // Declare type as noncopyable 00083 MCIndexPointSnapper(const MCIndexPointSnapper& other); 00084 MCIndexPointSnapper& operator=(const MCIndexPointSnapper& rhs); 00085 }; 00086 00087 00088 } // namespace geos::noding::snapround 00089 } // namespace geos::noding 00090 } // namespace geos 00091 00092 #endif // GEOS_NODING_SNAPROUND_MCINDEXPOINTSNAPPER_H