GEOS  3.3.3
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
63  const geom::GeometryFactory *geometryFactory);
64 
65  virtual ~MinimalEdgeRing();
66 
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