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/export.h>
00024 #include <geos/inline.h>
00025
00026 #include <cassert>
00027
00028
00029 namespace geos {
00030 namespace geom {
00031 class CoordinateSequence;
00032 }
00033 }
00034
00035 namespace geos {
00036 namespace geom {
00037
00059 class GEOS_DLL CoordinateSequenceFilter {
00060
00061 public:
00062
00063 virtual ~CoordinateSequenceFilter() {}
00064
00072 virtual void filter_rw(CoordinateSequence& , std::size_t )
00073 { assert(0); }
00074
00082 virtual void filter_ro(const CoordinateSequence& , std::size_t )
00083 { assert(0); }
00084
00092 virtual bool isDone() const = 0;
00093
00094
00106 virtual bool isGeometryChanged() const = 0;
00107
00108 };
00109
00110 }
00111 }
00112
00113
00114 #endif // ndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00115