00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_GEOM_UTIL_COORDINATEOPERATION_H
00017 #define GEOS_GEOM_UTIL_COORDINATEOPERATION_H
00018
00019 #include <geos/export.h>
00020 #include <geos/geom/util/GeometryEditorOperation.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class Geometry;
00026 class CoordinateSequence;
00027 class GeometryFactory;
00028 }
00029 }
00030
00031
00032 namespace geos {
00033 namespace geom {
00034 namespace util {
00035
00041 class GEOS_DLL CoordinateOperation: public GeometryEditorOperation {
00042
00043 public:
00044
00048 virtual Geometry* edit(const Geometry *geometry,
00049 const GeometryFactory *factory);
00050
00059 virtual CoordinateSequence* edit(const CoordinateSequence* coordinates,
00060 const Geometry *geometry)=0;
00061
00062
00063 virtual ~CoordinateOperation() {}
00064 };
00065
00066
00067
00068 }
00069 }
00070 }
00071
00072 #endif