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)
41class 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 geos.h:39