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);
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Specifies the precision model of the Coordinate in a Geometry.
Definition: PrecisionModel.h:87
Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel,...
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
void setPointwise(bool pointwise)
Sets whether the precision reduction will be done in pointwise fashion only.
Definition: GeometryPrecisionReducer.h:187
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
static std::unique_ptr< geom::Geometry > reduce(const geom::Geometry &g, const geom::PrecisionModel &precModel)
void setRemoveCollapsedComponents(bool remove)
Definition: GeometryPrecisionReducer.h:148
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26