GEOS 3.3.4

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

- File List

MinimalEdgeRing.h
1 /**********************************************************************
2 * $Id: MinimalEdgeRing.h 2564 2009-06-08 16:09:51Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2006 Refractions Research Inc.
8 *
9 * This is free software; you can redistribute and/or modify it under
10 * the terms of the GNU Lesser General Public Licence as published
11 * by the Free Software Foundation.
12 * See the COPYING file for more information.
13 *
14 **********************************************************************
15 *
16 * Last port: operation/overlay/MinimalEdgeRing.java rev. 1.13 (JTS-1.10)
17 *
18 **********************************************************************/
19
20 #ifndef GEOS_OP_OVERLAY_MINIMALEDGERING_H
21 #define GEOS_OP_OVERLAY_MINIMALEDGERING_H
22
23 #include <geos/export.h>
24
25 #include <geos/geomgraph/EdgeRing.h> // for inheritance
26 #include <geos/geomgraph/DirectedEdge.h> // for inlines
27
28 #include <vector>
29
30 #include <geos/inline.h>
31
32 // Forward declarations
33 namespace geos {
34 namespace geom {
35 class GeometryFactory;
36 }
37 namespace geomgraph {
38 class DirectedEdge;
39 class EdgeRing;
40 }
41 }
42
43 namespace geos {
44 namespace operation { // geos::operation
45 namespace overlay { // geos::operation::overlay
46
57 class GEOS_DLL MinimalEdgeRing: public geomgraph::EdgeRing {
58
59 public:
60
61 // CGAlgorithms argument obsoleted
62 MinimalEdgeRing(geomgraph::DirectedEdge *start,
63 const geom::GeometryFactory *geometryFactory);
64
65 virtual ~MinimalEdgeRing();
66
67 geomgraph::DirectedEdge* getNext(geomgraph::DirectedEdge *de);
68
69 void setEdgeRing(geomgraph::DirectedEdge *de,
70 geomgraph::EdgeRing *er);
71 };
72
73
74 } // namespace geos::operation::overlay
75 } // namespace geos::operation
76 } // namespace geos
77
78 #ifdef GEOS_INLINE
79 #include <geos/operation/overlay/MinimalEdgeRing.inl>
80 #endif
81
82 #endif // ndef GEOS_OP_OVERLAY_MINIMALEDGERING_H
83
84 /**********************************************************************
85 * $Log$
86 * Revision 1.2 2006/03/27 16:02:34 strk
87 * Added INL file for MinimalEdgeRing, added many debugging blocks,
88 * fixed memory leak in ConnectedInteriorTester (bug #59)
89 *
90 * Revision 1.1 2006/03/17 13:24:59 strk
91 * opOverlay.h header splitted. Reduced header inclusions in operation/overlay implementation files. ElevationMatrixFilter code moved from own file to ElevationMatrix.cpp (ideally a class-private).
92 *
93 **********************************************************************/
94