19 #ifndef GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
20 #define GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
22 #include <geos/export.h>
24 #include <geos/geom/GeometryFilter.h>
25 #include <geos/operation/distance/GeometryLocation.h>
49 class GEOS_DLL ConnectedElementLocationFilter:
public geom::GeometryFilter {
52 std::vector<std::unique_ptr<GeometryLocation>> locations;
53 ConnectedElementLocationFilter() =
default;
54 ConnectedElementLocationFilter(
const ConnectedElementLocationFilter&) =
delete;
55 ConnectedElementLocationFilter& operator=(
const ConnectedElementLocationFilter&) =
delete;
65 static std::vector<std::unique_ptr<GeometryLocation>> getLocations(
const geom::Geometry* geom);
67 void filter_ro(
const geom::Geometry* geom)
override;
68 void filter_rw(geom::Geometry* geom)
override;
76 #endif // GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H