19 #ifndef GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H
20 #define GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H
22 #include <geos/export.h>
28 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
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);
102 #endif // GEOS_SIMPLIFY_DOUBGLASPEUCKERLINESIMPLIFIER_H
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
static CoordsVectAutoPtr simplify(const CoordsVect &nPts, double distanceTolerance)
Returns a newly allocated Coordinate vector, wrapped into an unique_ptr.
CoordsVectAutoPtr simplify()
Returns a newly allocated Coordinate vector, wrapped into an unique_ptr.
Simplifies a linestring (sequence of points) using the standard Douglas-Peucker algorithm.
Definition: DouglasPeuckerLineSimplifier.h:45
void setDistanceTolerance(double nDistanceTolerance)
Sets the distance tolerance for the simplification.