00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef GEOS_PRECISION_COMMONBITSREMOVER_H
00017 #define GEOS_PRECISION_COMMONBITSREMOVER_H
00018
00019 #include <geos/export.h>
00020 #include <geos/geom/Coordinate.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class Geometry;
00026 }
00027 namespace precision {
00028 class CommonBitsRemover;
00029 class CommonCoordinateFilter;
00030 }
00031 }
00032
00033 namespace geos {
00034 namespace precision {
00035
00041 class GEOS_DLL CommonBitsRemover {
00042
00043 private:
00044
00045 geom::Coordinate commonCoord;
00046
00047 CommonCoordinateFilter *ccFilter;
00048
00049 public:
00050
00051 CommonBitsRemover();
00052
00053 ~CommonBitsRemover();
00054
00063 void add(const geom::Geometry *geom);
00064
00068 geom::Coordinate& getCommonCoordinate();
00069
00078 geom::Geometry* removeCommonBits(geom::Geometry *geom);
00079
00087 geom::Geometry* addCommonBits(geom::Geometry *geom);
00088 };
00089
00090 }
00091 }
00092
00093 #endif // GEOS_PRECISION_COMMONBITSREMOVER_H
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106