21 #ifndef GEOS_DENSIFIER_H
22 #define GEOS_DENSIFIER_H
24 #include <geos/export.h>
25 #include <geos/geom/Geometry.h>
26 #include <geos/geom/util/GeometryTransformer.h>
27 #include <geos/geom/util/Densifier.h>
28 #include <geos/util/Interrupt.h>
36 #pragma warning(disable: 4251)
58 class GEOS_DLL Densifier {
60 Densifier(
const Geometry* inputGeom);
62 Geometry::Ptr densify(
const Geometry* geom,
double distanceTolerance);
63 void setDistanceTolerance(
double distanceTolerance);
67 double distanceTolerance;
68 const Geometry* inputGeom;
69 static std::unique_ptr<Coordinate::Vect> densifyPoints(
const Coordinate::Vect pts,
double distanceTolerance,
70 const PrecisionModel* precModel);
72 class GEOS_DLL DensifyTransformer:
public GeometryTransformer {
74 DensifyTransformer(
double distanceTolerance);
75 double distanceTolerance;
76 CoordinateSequence::Ptr transformCoordinates(
const CoordinateSequence* coords,
const Geometry* parent)
override;
77 Geometry::Ptr transformPolygon(
const Polygon* geom,
const Geometry* parent)
override;
78 Geometry::Ptr transformMultiPolygon(
const MultiPolygon* geom,
const Geometry* parent)
override;
92 #endif // GEOS_DENSIFIER_H