18 #include <geos/export.h> 23 #include <geos/geom/CoordinateFilter.h> 24 #include <geos/geom/CoordinateSequence.h> 25 #include <geos/geom/Coordinate.h> 29 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 41 class GEOS_DLL UniqueCoordinateArrayFilter :
public geom::CoordinateInspector<UniqueCoordinateArrayFilter> {
48 UniqueCoordinateArrayFilter(std::vector<const geom::Coordinate*>& target)
58 ~UniqueCoordinateArrayFilter()
override {}
65 template<
typename CoordType>
66 void filter(
const CoordType* coord)
68 if(uniqPts.insert(coord).second) {
74 void filter(
const geom::CoordinateXY*) {
79 void filter(
const geom::CoordinateXYM*) {
84 std::vector<const geom::Coordinate*>& pts;
85 std::set<const geom::CoordinateXY*, geom::CoordinateLessThan> uniqPts;
88 UniqueCoordinateArrayFilter(
const UniqueCoordinateArrayFilter& other) =
delete;
89 UniqueCoordinateArrayFilter& operator=(
const UniqueCoordinateArrayFilter& rhs) =
delete;
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25