23 #ifndef GEOS_SIMPLIFY_TOPOLOGYPRESERVINGSIMPLIFIER_H
24 #define GEOS_SIMPLIFY_TOPOLOGYPRESERVINGSIMPLIFIER_H
26 #include <geos/export.h>
27 #include <geos/geom/Geometry.h>
28 #include <geos/simplify/TaggedLinesSimplifier.h>
34 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
58 class GEOS_DLL TopologyPreservingSimplifier
63 static std::unique_ptr<geom::Geometry> simplify(
64 const geom::Geometry* geom,
67 TopologyPreservingSimplifier(
const geom::Geometry* geom);
79 void setDistanceTolerance(
double tolerance);
81 std::unique_ptr<geom::Geometry> getResultGeometry();
85 const geom::Geometry* inputGeom;
87 std::unique_ptr<TaggedLinesSimplifier> lineSimplifier;
98 #endif // GEOS_SIMPLIFY_TOPOLOGYPRESERVINGSIMPLIFIER_H