GEOS 3.11.1
PointGeometryUnion.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2011 Sandro Santilli <strk@kbt.io
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: operation/union/PointGeometryUnion.java r320 (JTS-1.12)
16 *
17 **********************************************************************/
18
19#pragma once
20
21#include <geos/export.h>
22
23#include <vector>
24#include <algorithm>
25
26// Forward declarations
27namespace geos {
28namespace geom {
29class GeometryFactory;
30class Geometry;
31}
32}
33
34namespace geos {
35namespace operation { // geos::operation
36namespace geounion { // geos::operation::geounion
37
46class GEOS_DLL PointGeometryUnion {
47public:
48
49 static std::unique_ptr<geom::Geometry> Union(
50 const geom::Geometry& pointGeom,
51 const geom::Geometry& otherGeom);
52
53
54 PointGeometryUnion(const geom::Geometry& pointGeom,
55 const geom::Geometry& otherGeom);
56
57 std::unique_ptr<geom::Geometry> Union() const;
58
59private:
60 const geom::Geometry& pointGeom;
61 const geom::Geometry& otherGeom;
62 const geom::GeometryFactory* geomFact;
63
64 // Declared as non-copyable
66 PointGeometryUnion& operator=(const PointGeometryUnion& rhs);
67};
68
69} // namespace geos::operation::union
70} // namespace geos::operation
71} // namespace geos
72
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:66
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Computes the union of a puntal geometry with another arbitrary Geometry.
Definition: PointGeometryUnion.h:46
Basic namespace for all GEOS functionalities.
Definition: geos.h:39