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> reducePointwise(
const geom::Geometry& geom);
74 std::unique_ptr<geom::Geometry> fixPolygonalTopology(
const geom::Geometry& geom);
76 geom::GeometryFactory::Ptr createFactory(
96 static std::unique_ptr<geom::Geometry>
116 static std::unique_ptr<geom::Geometry>
127 : newFactory(nullptr)
129 , removeCollapsed(true)
130 , changePrecisionModel(false)
131 , useAreaReducer(false)
146 : newFactory(&changeFactory)
147 , targetPM(*(changeFactory.getPrecisionModel()))
148 , removeCollapsed(true)
149 , changePrecisionModel(false)
150 , useAreaReducer(false)
164 removeCollapsed = remove;
180 changePrecisionModel = change;
184 setUseAreaReducer(
bool useAR)
186 useAreaReducer = useAR;
203 isPointwise = pointwise;
206 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:145
void setPointwise(bool pointwise)
Sets whether the precision reduction will be done in pointwise fashion only.
Definition: GeometryPrecisionReducer.h:201
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:178
static std::unique_ptr< geom::Geometry > reducePointwise(const geom::Geometry &g, const geom::PrecisionModel &precModel)
Definition: GeometryPrecisionReducer.h:117
static std::unique_ptr< geom::Geometry > reduce(const geom::Geometry &g, const geom::PrecisionModel &precModel)
Definition: GeometryPrecisionReducer.h:97
void setRemoveCollapsedComponents(bool remove)
Definition: GeometryPrecisionReducer.h:162
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26