GEOS  3.6.2
CoordinateSequenceFilter.h
00001 /**********************************************************************
00002  *
00003  * GEOS - Geometry Engine Open Source
00004  * http://geos.osgeo.org
00005  *
00006  * Copyright (C) 2009  Sandro Santilli <strk@keybit.net>
00007  *
00008  * This is free software; you can redistribute and/or modify it under
00009  * the terms of the GNU Lesser General Public Licence as published
00010  * by the Free Software Foundation. 
00011  * See the COPYING file for more information.
00012  *
00013  **********************************************************************
00014  *
00015  * Last port: geom/CoordinateSequenceFilter.java rev. 1.3 (JTS-1.9)
00016  *
00017  **********************************************************************/
00018 
00019 #ifndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00020 #define GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00021 
00022 #include <geos/export.h>
00023 #include <geos/inline.h>
00024 
00025 #include <cassert>
00026 
00027 // Forward declarations
00028 namespace geos {
00029         namespace geom {
00030                 class CoordinateSequence;
00031         }
00032 }
00033 
00034 namespace geos {
00035 namespace geom { // geos::geom
00036 
00058 class GEOS_DLL CoordinateSequenceFilter {
00059 
00060 public:
00061 
00062   virtual ~CoordinateSequenceFilter() {}
00063 
00071   virtual void filter_rw(CoordinateSequence& /*seq*/, std::size_t /*i*/)
00072   { assert(0); }
00073 
00081   virtual void filter_ro(const CoordinateSequence& /*seq*/, std::size_t /*i*/)
00082   { assert(0); }
00083 
00091   virtual bool isDone() const = 0;
00092 
00093 
00105   virtual bool isGeometryChanged() const = 0;
00106 
00107 };
00108 
00109 } // namespace geos::geom
00110 } // namespace geos
00111 
00112 
00113 #endif // ndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
00114