GEOS  3.13.0dev
SnappingPointIndex.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2020 Paul Ramsey <pramsey@cleverelephant.ca>
7  *
8  * This is free software; you can redistribute and/or modify it under
9  * the terms of the GNU Lesser General Public Licence as published
10  * by the Free Software Foundation.
11  * See the COPYING file for more information.
12  *
13  **********************************************************************
14  *
15  * Last port: noding/snap/SnappingPointIndex.java
16  *
17  **********************************************************************/
18 
19 #pragma once
20 
21 #include <geos/geom/Coordinate.h>
22 #include <geos/index/kdtree/KdTree.h>
23 #include <geos/index/kdtree/KdNode.h>
24 
25 namespace geos {
26 namespace noding { // geos::noding
27 namespace snap { // geos::noding::snap
28 
29 class GEOS_DLL SnappingPointIndex {
30 
36 private:
37 
38  // double snapTolerance;
39  std::unique_ptr<index::kdtree::KdTree> snapPointIndex;
40 
41 public:
42 
43  SnappingPointIndex(double p_snapTolerance);
44 
53  const geom::Coordinate& snap(const geom::Coordinate& p);
54 
55 };
56 
57 } // namespace geos::noding::snap
58 } // namespace geos::noding
59 } // namespace geos
60 
61 
62 
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25