GEOS 3.9.1
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
28namespace geos {
29namespace precision { // geos.precision
30
36class GEOS_DLL EnhancedPrecisionOp {
37
38public:
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
Provides versions of Geometry spatial functions which use enhanced precision techniques to reduce the...
Definition EnhancedPrecisionOp.h:36
static std::unique_ptr< geom::Geometry > Union(const geom::Geometry *geom0, const geom::Geometry *geom1)
static std::unique_ptr< geom::Geometry > intersection(const geom::Geometry *geom0, const geom::Geometry *geom1)
Computes the set-theoretic intersection of two Geometrys, using enhanced precision.
static std::unique_ptr< geom::Geometry > buffer(const geom::Geometry *geom, double distance)
static std::unique_ptr< geom::Geometry > difference(const geom::Geometry *geom0, const geom::Geometry *geom1)
static std::unique_ptr< geom::Geometry > symDifference(const geom::Geometry *geom0, const geom::Geometry *geom1)
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:26