GEOS 3.11.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#pragma once
20
21#include <geos/export.h>
22#include <geos/constants.h> // for int64
23#include <geos/geom/Geometry.h>
24
25#include <memory>
26
27namespace geos {
28namespace precision { // geos.precision
29
35class GEOS_DLL EnhancedPrecisionOp {
36
37public:
38
48 static std::unique_ptr<geom::Geometry> intersection(
49 const geom::Geometry* geom0,
50 const geom::Geometry* geom1);
51
60 static std::unique_ptr<geom::Geometry> Union(
61 const geom::Geometry* geom0,
62 const geom::Geometry* geom1);
63
72 static std::unique_ptr<geom::Geometry> difference(
73 const geom::Geometry* geom0,
74 const geom::Geometry* geom1);
75
84 static std::unique_ptr<geom::Geometry> symDifference(
85 const geom::Geometry* geom0,
86 const geom::Geometry* geom1);
87
97 static std::unique_ptr<geom::Geometry> buffer(
98 const geom::Geometry* geom,
99 double distance);
100};
101
102
103} // namespace geos.precision
104} // namespace geos
105
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Provides versions of Geometry spatial functions which use enhanced precision techniques to reduce the...
Definition: EnhancedPrecisionOp.h:35
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: geos.h:39