00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00021 #define GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00022
00023 #include <geos/inline.h>
00024
00025 #include <cassert>
00026
00027
00028 namespace geos {
00029 namespace geom {
00030 class CoordinateSequence;
00031 }
00032 }
00033
00034 namespace geos {
00035 namespace geom {
00036
00058 class CoordinateSequenceFilter {
00059
00060 public:
00061
00062 virtual ~CoordinateSequenceFilter() {}
00063
00071 virtual void filter_rw(CoordinateSequence& , size_t )
00072 { assert(0); }
00073
00081 virtual void filter_ro(const CoordinateSequence& , size_t )
00082 { assert(0); }
00083
00091 virtual bool isDone() const = 0;
00092
00093
00105 virtual bool isGeometryChanged() const = 0;
00106
00107 };
00108
00109 }
00110 }
00111
00112
00113 #endif // ndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00114