19 #ifndef GEOS_PRECISION_GEOMETRYPRECISIONREDUCER_H 20 #define GEOS_PRECISION_GEOMETRYPRECISIONREDUCER_H 22 #include <geos/export.h> 23 #include <geos/geom/GeometryFactory.h> 30 class GeometryFactory;
68 bool changePrecisionModel;
72 std::unique_ptr<geom::Geometry> fixPolygonalTopology(
const geom::Geometry& geom);
74 geom::GeometryFactory::Ptr createFactory(
86 std::unique_ptr<geom::Geometry> changePM(
106 static std::unique_ptr<geom::Geometry>
109 static std::unique_ptr<geom::Geometry>
113 : newFactory(
nullptr)
115 , removeCollapsed(
true)
116 , changePrecisionModel(
false)
117 , useAreaReducer(
false)
132 : newFactory(&changeFactory)
133 , targetPM(*(changeFactory.getPrecisionModel()))
134 , removeCollapsed(true)
135 , changePrecisionModel(false)
136 , useAreaReducer(false)
150 removeCollapsed =
remove;
166 changePrecisionModel = change;
170 setUseAreaReducer(
bool useAR)
172 useAreaReducer = useAR;
189 isPointwise = pointwise;
192 std::unique_ptr<geom::Geometry> reduce(
const geom::Geometry& geom);
199 #endif // GEOS_PRECISION_GEOMETRYPRECISIONREDUCER_H void setRemoveCollapsedComponents(bool remove)
Definition: GeometryPrecisionReducer.h:148
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:87
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, ensuring that the result is valid (unless specified otherwise).
Definition: GeometryPrecisionReducer.h:58
GeometryPrecisionReducer(const geom::GeometryFactory &changeFactory)
Create a reducer that will change the precision model of the new reduced Geometry.
Definition: GeometryPrecisionReducer.h:131
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26
void setChangePrecisionModel(bool change)
Sets whether the geom::PrecisionModel of the new reduced Geometry will be changed to be the geom::Pre...
Definition: GeometryPrecisionReducer.h:164
void setPointwise(bool pointwise)
Sets whether the precision reduction will be done in pointwise fashion only.
Definition: GeometryPrecisionReducer.h:187