GEOS 3.11.1
MinimalEdgeRing.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 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: operation/overlay/MinimalEdgeRing.java rev. 1.13 (JTS-1.10)
16 *
17 **********************************************************************/
18
19#pragma once
20
21
22#include <geos/export.h>
23
24#include <geos/geomgraph/EdgeRing.h> // for inheritance
25#include <geos/geomgraph/DirectedEdge.h> // for inlines
26
27#include <vector>
28
29// Forward declarations
30namespace geos {
31namespace geom {
32class GeometryFactory;
33}
34namespace geomgraph {
35class DirectedEdge;
36class EdgeRing;
37}
38}
39
40namespace geos {
41namespace operation { // geos::operation
42namespace overlay { // geos::operation::overlay
43
54class GEOS_DLL MinimalEdgeRing: public geomgraph::EdgeRing {
55
56public:
57
59 const geom::GeometryFactory* geometryFactory);
60
61 ~MinimalEdgeRing() override {};
62
64 {
65 return de->getNextMin();
66 };
67
68 void setEdgeRing(geomgraph::DirectedEdge* de,
69 geomgraph::EdgeRing* er) override
70 {
71 de->setMinEdgeRing(er);
72 };
73
74};
75
76
77} // namespace geos::operation::overlay
78} // namespace geos::operation
79} // namespace geos
80
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:66
A directed EdgeEnd.
Definition: geomgraph/DirectedEdge.h:42
Definition: geomgraph/EdgeRing.h:57
A ring of Edges with the property that no node has degree greater than 2.
Definition: MinimalEdgeRing.h:54
Basic namespace for all GEOS functionalities.
Definition: geos.h:39