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

- File List

# GeometryEditor.h

    00001 /**********************************************************************
    00002  * $Id: GeometryEditor.h 2556 2009-06-06 22:22:28Z strk $
    00003  *
    00004  * GEOS - Geometry Engine Open Source
    00005  * http://geos.refractions.net
    00006  *
    00007  * Copyright (C) 2001-2002 Vivid Solutions Inc.
    00008  * Copyright (C) 2006 Refractions Research Inc.
    00009  *
    00010  * This is free software; you can redistribute and/or modify it under
    00011  * the terms of the GNU Lesser General Public Licence as published
    00012  * by the Free Software Foundation.
    00013  * See the COPYING file for more information.
    00014  *
    00015  **********************************************************************/
    00016
    00017 #ifndef GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
    00018 #define GEOS_GEOM_UTIL_GEOMETRYEDITOR_H
    00019
    00020 #include <geos/export.h>
    00021
    00022 // Forward declarations
    00023 namespace geos {
    00024         namespace geom {
    00025                 class Geometry;
    00026                 class GeometryFactory;
    00027                 class GeometryCollection;
    00028                 class Polygon;
    00029                 namespace util {
    00030                         class GeometryEditorOperation;
    00031                 }
    00032         }
    00033 }
    00034
    00035
    00036 namespace geos {
    00037 namespace geom { // geos.geom
    00038 namespace util { // geos.geom.util
    00039
    00074 class GEOS_DLL GeometryEditor {
    00075 private:
    00079         const GeometryFactory* factory;
    00080
    00081         Polygon* editPolygon(const Polygon *polygon,
    00082                         GeometryEditorOperation *operation);
    00083
    00084         GeometryCollection* editGeometryCollection(
    00085                         const GeometryCollection *collection,
    00086                         GeometryEditorOperation *operation);
    00087
    00088 public:
    00089
    00095         GeometryEditor();
    00096
    00104         GeometryEditor(const GeometryFactory *newFactory);
    00105
    00116         Geometry* edit(const Geometry *geometry,
    00117                         GeometryEditorOperation *operation); // final
    00118 };
    00119
    00120 } // namespace geos.geom.util
    00121 } // namespace geos.geom
    00122 } // namespace geos
    00123
    00124 //#ifdef GEOS_INLINE
    00125 //# include "geos/geom/util/GeometryEditor.inl"
    00126 //#endif
    00127
    00128 #endif
    00129
    00130 /**********************************************************************
    00131  * $Log$
    00132  * Revision 1.2  2006/03/24 09:52:41  strk
    00133  * USE_INLINE => GEOS_INLINE
    00134  *
    00135  * Revision 1.1  2006/03/09 16:46:49  strk
    00136  * geos::geom namespace definition, first pass at headers split
    00137  *
    00138  **********************************************************************/