GEOS 3.4.2

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

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 #ifndef GEOS_OP_OVERLAY_MINIMALEDGERING_H
20 #define GEOS_OP_OVERLAY_MINIMALEDGERING_H
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 #include <geos/inline.h>
30
31 // Forward declarations
32 namespace geos {
33 namespace geom {
34 class GeometryFactory;
35 }
36 namespace geomgraph {
37 class DirectedEdge;
38 class EdgeRing;
39 }
40 }
41
42 namespace geos {
43 namespace operation { // geos::operation
44 namespace overlay { // geos::operation::overlay
45
56 class GEOS_DLL MinimalEdgeRing: public geomgraph::EdgeRing {
57
58 public:
59
60 // CGAlgorithms argument obsoleted
61 MinimalEdgeRing(geomgraph::DirectedEdge *start,
62 const geom::GeometryFactory *geometryFactory);
63
64 virtual ~MinimalEdgeRing();
65
66 geomgraph::DirectedEdge* getNext(geomgraph::DirectedEdge *de);
67
68 void setEdgeRing(geomgraph::DirectedEdge *de,
69 geomgraph::EdgeRing *er);
70 };
71
72
73 } // namespace geos::operation::overlay
74 } // namespace geos::operation
75 } // namespace geos
76
77 #ifdef GEOS_INLINE
78 #include <geos/operation/overlay/MinimalEdgeRing.inl>
79 #endif
80
81 #endif // ndef GEOS_OP_OVERLAY_MINIMALEDGERING_H