00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef GEOS_PRECISION_SIMPLEGEOMETRYPRECISIONREDUCER_H
00016 #define GEOS_PRECISION_SIMPLEGEOMETRYPRECISIONREDUCER_H
00017
00018 #include <geos/export.h>
00019
00020
00021 namespace geos {
00022 namespace geom {
00023 class PrecisionModel;
00024 class Geometry;
00025 }
00026 }
00027
00028 namespace geos {
00029 namespace precision {
00030
00044 class GEOS_DLL SimpleGeometryPrecisionReducer {
00045
00046 private:
00047
00048 const geom::PrecisionModel *newPrecisionModel;
00049
00050 bool removeCollapsed;
00051
00052
00053
00054 public:
00055
00056 SimpleGeometryPrecisionReducer(const geom::PrecisionModel *pm);
00057
00066 void setRemoveCollapsedComponents(bool nRemoveCollapsed);
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080 const geom::PrecisionModel* getPrecisionModel();
00081
00082 bool getRemoveCollapsed();
00083 geom::Geometry* reduce(const geom::Geometry *geom);
00084 };
00085
00086 }
00087 }
00088
00089 #endif // GEOS_PRECISION_SIMPLEGEOMETRYPRECISIONREDUCER_H