00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOS_OP_DISTANCE_CONNECTEDELEMENTPOINTFILTER_H
00020 #define GEOS_OP_DISTANCE_CONNECTEDELEMENTPOINTFILTER_H
00021
00022 #include <geos/export.h>
00023
00024 #include <geos/geom/GeometryFilter.h>
00025
00026 #include <vector>
00027
00028
00029 namespace geos {
00030 namespace geom {
00031 class Coordinate;
00032 class Geometry;
00033 }
00034 }
00035
00036
00037 namespace geos {
00038 namespace operation {
00039 namespace distance {
00040
00047 class GEOS_DLL ConnectedElementPointFilter: public geom::GeometryFilter {
00048
00049 private:
00050 std::vector<const geom::Coordinate*> *pts;
00051
00052 public:
00058 static std::vector<const geom::Coordinate*>* getCoordinates(const geom::Geometry *geom);
00059
00060 ConnectedElementPointFilter(std::vector<const geom::Coordinate*> *newPts)
00061 :
00062 pts(newPts)
00063 {}
00064
00065 void filter_ro(const geom::Geometry *geom);
00066
00067
00068 };
00069
00070
00071 }
00072 }
00073 }
00074
00075 #endif // GEOS_OP_DISTANCE_CONNECTEDELEMENTPOINTFILTER_H
00076