GEOS 3.14.0dev
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#include <memory>
26
27// Forward declarations
28namespace geos {
29namespace geom {
30class GeometryFactory;
31class Geometry;
32}
33}
34
35namespace geos {
36namespace operation { // geos::operation
37namespace geounion { // geos::operation::geounion
38
47class GEOS_DLL PointGeometryUnion {
48public:
49
50 static std::unique_ptr<geom::Geometry> Union(
51 const geom::Geometry& pointGeom,
52 const geom::Geometry& otherGeom);
53
54
55 PointGeometryUnion(const geom::Geometry& pointGeom,
56 const geom::Geometry& otherGeom);
57
58 std::unique_ptr<geom::Geometry> Union() const;
59
60private:
61 const geom::Geometry& pointGeom;
62 const geom::Geometry& otherGeom;
63 const geom::GeometryFactory* geomFact;
64
65 // Declared as non-copyable
67 PointGeometryUnion& operator=(const PointGeometryUnion& rhs);
68};
69
70} // namespace geos::operation::union
71} // namespace geos::operation
72} // namespace geos
73
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:70
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Computes the union of a puntal geometry with another arbitrary Geometry.
Definition PointGeometryUnion.h:47
Basic namespace for all GEOS functionalities.
Definition geos.h:39