GEOS 3.4.2

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

- File List

CoordinateSequenceFilter.h
1 /**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2009 Sandro Santilli <strk@keybit.net>
7 *
8 * This is free software; you can redistribute and/or modify it under
9 * the terms of the GNU Lesser General Public Licence as published
10 * by the Free Software Foundation.
11 * See the COPYING file for more information.
12 *
13 **********************************************************************
14 *
15 * Last port: geom/CoordinateSequenceFilter.java rev. 1.3 (JTS-1.9)
16 *
17 **********************************************************************/
18
19 #ifndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
20 #define GEOS_GEOM_COORDINATESEQUENCEFILTER_H
21
22 #include <geos/export.h>
23 #include <geos/inline.h>
24
25 #include <cassert>
26
27 // Forward declarations
28 namespace geos {
29 namespace geom {
30 class CoordinateSequence;
31 }
32 }
33
34 namespace geos {
35 namespace geom { // geos::geom
36
58 class GEOS_DLL CoordinateSequenceFilter {
59
60 public:
61
62 virtual ~CoordinateSequenceFilter() {}
63
71 virtual void filter_rw(CoordinateSequence& /*seq*/, std::size_t /*i*/)
72 { assert(0); }
73
81 virtual void filter_ro(const CoordinateSequence& /*seq*/, std::size_t /*i*/)
82 { assert(0); }
83
91 virtual bool isDone() const = 0;
92
93
105 virtual bool isGeometryChanged() const = 0;
106
107 };
108
109 } // namespace geos::geom
110 } // namespace geos
111
112
113 #endif // ndef GEOS_GEOM_COORDINATESEQUENCEFILTER_H
114