GEOS
3.8.1
include
geos
operation
overlay
MaximalEdgeRing.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/MaximalEdgeRing.java rev. 1.15 (JTS-1.10)
16
*
17
**********************************************************************/
18
19
#ifndef GEOS_OP_OVERLAY_MAXIMALEDGERING_H
20
#define GEOS_OP_OVERLAY_MAXIMALEDGERING_H
21
22
#include <geos/export.h>
23
24
#include <vector>
25
26
#include <geos/geomgraph/EdgeRing.h>
// for inheritance
27
28
// Forward declarations
29
namespace
geos
{
30
namespace
geom {
31
class
GeometryFactory;
32
}
33
namespace
geomgraph {
34
class
DirectedEdge;
35
//class EdgeRing;
36
}
37
namespace
operation {
38
namespace
overlay {
39
class
MinimalEdgeRing;
40
}
41
}
42
}
43
44
namespace
geos
{
45
namespace
operation {
// geos::operation
46
namespace
overlay {
// geos::operation::overlay
47
66
class
GEOS_DLL
MaximalEdgeRing
:
public
geomgraph::EdgeRing
{
67
68
public
:
69
70
MaximalEdgeRing
(
geomgraph::DirectedEdge
* start,
71
const
geom::GeometryFactory
* geometryFactory);
72
// throw(const TopologyException &)
73
74
~
MaximalEdgeRing
()
override
=
default
;
75
76
geomgraph::DirectedEdge
* getNext(
geomgraph::DirectedEdge
* de)
override
;
77
78
void
setEdgeRing(
geomgraph::DirectedEdge
* de,
geomgraph::EdgeRing
* er)
override
;
79
86
std::vector<MinimalEdgeRing*>* buildMinimalRings();
87
92
void
buildMinimalRings(std::vector<MinimalEdgeRing*>& minEdgeRings);
93
void
buildMinimalRings(std::vector<EdgeRing*>& minEdgeRings);
94
99
void
linkDirectedEdgesForMinimalEdgeRings();
100
};
101
102
103
}
// namespace geos::operation::overlay
104
}
// namespace geos::operation
105
}
// namespace geos
106
107
#endif // ndef GEOS_OP_OVERLAY_MAXIMALEDGERING_H
geos::geomgraph::EdgeRing
Definition:
geomgraph/EdgeRing.h:60
geos
Basic namespace for all GEOS functionalities.
Definition:
IndexedNestedRingTester.h:25
geos::operation::overlay::MaximalEdgeRing
A ring of DirectedEdges which may contain nodes of degree > 2.
Definition:
MaximalEdgeRing.h:66
geos::geom::GeometryFactory
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition:
GeometryFactory.h:68
geos::geomgraph::DirectedEdge
A directed EdgeEnd.
Definition:
geomgraph/DirectedEdge.h:45
Generated by
1.8.17