GEOS 3.3.8

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

- File List

GeometryEditor.h
1 /**********************************************************************
2 * $Id: GeometryEditor.h 3179 2011-02-03 19:59:23Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2011 Sandro Santilli <strk@keybit.net>
8 * Copyright (C) 2006 Refractions Research Inc.
9 * Copyright (C) 2001-2002 Vivid Solutions Inc.
10 *
11 * This is free software; you can redistribute and/or modify it under
12 * the terms of the GNU Lesser General Public Licence as published
13 * by the Free Software Foundation.
14 * See the COPYING file for more information.
15 *
16 **********************************************************************
17 *
18 * Last port: geom/util/GeometryEditor.java r320 (JTS-1.12)
19 *
20 **********************************************************************/
21
22 #ifndef GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
23 #define GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
24
25 #include <geos/export.h>
26
27 // Forward declarations
28 namespace geos {
29 namespace geom {
30 class Geometry;
31 class GeometryFactory;
32 class GeometryCollection;
33 class Polygon;
34 namespace util {
35 class GeometryEditorOperation;
36 }
37 }
38 }
39
40
41 namespace geos {
42 namespace geom { // geos.geom
43 namespace util { // geos.geom.util
44
79 class GEOS_DLL GeometryEditor {
80 private:
84 const GeometryFactory* factory;
85
86 Polygon* editPolygon(const Polygon *polygon,
87 GeometryEditorOperation *operation);
88
89 GeometryCollection* editGeometryCollection(
90 const GeometryCollection *collection,
91 GeometryEditorOperation *operation);
92
93 public:
94
100 GeometryEditor();
101
109 GeometryEditor(const GeometryFactory *newFactory);
110
121 Geometry* edit(const Geometry *geometry,
122 GeometryEditorOperation *operation); // final
123 };
124
125 } // namespace geos.geom.util
126 } // namespace geos.geom
127 } // namespace geos
128
129 //#ifdef GEOS_INLINE
130 //# include "geos/geom/util/GeometryEditor.inl"
131 //#endif
132
133 #endif
134
135 /**********************************************************************
136 * $Log$
137 * Revision 1.2 2006/03/24 09:52:41 strk
138 * USE_INLINE => GEOS_INLINE
139 *
140 * Revision 1.1 2006/03/09 16:46:49 strk
141 * geos::geom namespace definition, first pass at headers split
142 *
143 **********************************************************************/