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