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
57 class GEOS_DLL TopologyPreservingSimplifier {
61 static std::unique_ptr<geom::Geometry> simplify(
62 const geom::Geometry* geom,
65 TopologyPreservingSimplifier(
const geom::Geometry* geom);
77 void setDistanceTolerance(
double tolerance);
79 std::unique_ptr<geom::Geometry> getResultGeometry();
83 const geom::Geometry* inputGeom;
85 std::unique_ptr<TaggedLinesSimplifier> lineSimplifier;
96 #endif // GEOS_SIMPLIFY_TOPOLOGYPRESERVINGSIMPLIFIER_H