19 #ifndef GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H
20 #define GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H
22 #include <geos/export.h>
28 #pragma warning(disable: 4251)
49 typedef std::vector<short int> BoolVect;
50 typedef std::unique_ptr<BoolVect> BoolVectAutoPtr;
52 typedef std::vector<geom::Coordinate> CoordsVect;
53 typedef std::unique_ptr<CoordsVect> CoordsVectAutoPtr;
61 const CoordsVect& nPts,
62 double distanceTolerance);
84 const CoordsVect& pts;
85 BoolVectAutoPtr usePt;
86 double distanceTolerance;
88 void simplifySection(std::size_t i, std::size_t j);
Simplifies a linestring (sequence of points) using the standard Douglas-Peucker algorithm.
Definition: DouglasPeuckerLineSimplifier.h:45
static CoordsVectAutoPtr simplify(const CoordsVect &nPts, double distanceTolerance)
Returns a newly allocated Coordinate vector, wrapped into an unique_ptr.
void setDistanceTolerance(double nDistanceTolerance)
Sets the distance tolerance for the simplification.
CoordsVectAutoPtr simplify()
Returns a newly allocated Coordinate vector, wrapped into an unique_ptr.
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26