GEOS  3.8.0dev
EnhancedPrecisionOp.h
1 /**********************************************************************
2  *
3  * GEOS - Geometry Engine Open Source
4  * http://geos.osgeo.org
5  *
6  * Copyright (C) 2005-2006 Refractions Research Inc.
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: precision/EnhancedPrecisionOp.java rev. 1.9 (JTS-1.7)
16  *
17  **********************************************************************/
18 
19 #ifndef GEOS_PRECISION_ENHANCEDPRECISIONOP_H
20 #define GEOS_PRECISION_ENHANCEDPRECISIONOP_H
21 
22 #include <geos/export.h>
23 #include <geos/constants.h> // for int64
24 #include <geos/geom/Geometry.h>
25 
26 #include <memory>
27 
28 namespace geos {
29 namespace precision { // geos.precision
30 
36 class GEOS_DLL EnhancedPrecisionOp {
37 
38 public:
39 
49  static std::unique_ptr<geom::Geometry> intersection(
50  const geom::Geometry* geom0,
51  const geom::Geometry* geom1);
52 
61  static std::unique_ptr<geom::Geometry> Union(
62  const geom::Geometry* geom0,
63  const geom::Geometry* geom1);
64 
73  static std::unique_ptr<geom::Geometry> difference(
74  const geom::Geometry* geom0,
75  const geom::Geometry* geom1);
76 
85  static std::unique_ptr<geom::Geometry> symDifference(
86  const geom::Geometry* geom0,
87  const geom::Geometry* geom1);
88 
98  static std::unique_ptr<geom::Geometry> buffer(
99  const geom::Geometry* geom,
100  double distance);
101 };
102 
103 
104 } // namespace geos.precision
105 } // namespace geos
106 
107 #endif // GEOS_PRECISION_ENHANCEDPRECISIONOP_H
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
Provides versions of Geometry spatial functions which use enhanced precision techniques to reduce the...
Definition: EnhancedPrecisionOp.h:36