GEOS 3.11.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
geos::precision::PrecisionReducerTransformer Class Reference

Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, without attempting to preserve valid topology. More...

#include <PrecisionReducerTransformer.h>

Inheritance diagram for geos::precision::PrecisionReducerTransformer:
geos::geom::util::GeometryTransformer

Public Member Functions

 PrecisionReducerTransformer (const geom::PrecisionModel &p_targetPM, bool p_isRemoveCollapsed=false)
 
- Public Member Functions inherited from geos::geom::util::GeometryTransformer
std::unique_ptr< Geometrytransform (const Geometry *nInputGeom)
 
void setSkipTransformedInvalidInteriorRings (bool b)
 

Static Public Member Functions

static std::unique_ptr< geom::Geometryreduce (const geom::Geometry &geom, const geom::PrecisionModel &targetPM, bool isRemoveCollapsed=false)
 

Protected Member Functions

std::unique_ptr< geom::CoordinateSequencetransformCoordinates (const geom::CoordinateSequence *coords, const geom::Geometry *parent) override
 
std::unique_ptr< geom::GeometrytransformPolygon (const geom::Polygon *geom, const geom::Geometry *parent) override
 
std::unique_ptr< geom::GeometrytransformMultiPolygon (const geom::MultiPolygon *geom, const geom::Geometry *parent) override
 
- Protected Member Functions inherited from geos::geom::util::GeometryTransformer
CoordinateSequence::Ptr createCoordinateSequence (std::unique_ptr< std::vector< Coordinate > > coords)
 Convenience method which provides standard way of creating a CoordinateSequence. More...
 
virtual CoordinateSequence::Ptr transformCoordinates (const CoordinateSequence *coords, const Geometry *parent)
 
virtual Geometry::Ptr transformPoint (const Point *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformMultiPoint (const MultiPoint *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformLinearRing (const LinearRing *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformLineString (const LineString *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformMultiLineString (const MultiLineString *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformPolygon (const Polygon *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformMultiPolygon (const MultiPolygon *geom, const Geometry *parent)
 
virtual Geometry::Ptr transformGeometryCollection (const GeometryCollection *geom, const Geometry *parent)
 

Additional Inherited Members

- Protected Attributes inherited from geos::geom::util::GeometryTransformer
const GeometryFactoryfactory
 

Detailed Description

Reduces the precision of a geom::Geometry according to the supplied geom::PrecisionModel, without attempting to preserve valid topology.

The topology of the resulting geometry may be invalid if topological collapse occurs due to coordinates being shifted. It is up to the client to check this and handle it if necessary. Collapses may not matter for some uses. An example is simplifying the input to the buffer algorithm. The buffer algorithm does not depend on the validity of the input geometry.

Member Function Documentation

◆ transformCoordinates()

std::unique_ptr< geom::CoordinateSequence > geos::precision::PrecisionReducerTransformer::transformCoordinates ( const geom::CoordinateSequence coords,
const geom::Geometry parent 
)
overrideprotectedvirtual

◆ transformMultiPolygon()

std::unique_ptr< geom::Geometry > geos::precision::PrecisionReducerTransformer::transformMultiPolygon ( const geom::MultiPolygon geom,
const geom::Geometry parent 
)
overrideprotectedvirtual

◆ transformPolygon()

std::unique_ptr< geom::Geometry > geos::precision::PrecisionReducerTransformer::transformPolygon ( const geom::Polygon geom,
const geom::Geometry parent 
)
overrideprotectedvirtual

The documentation for this class was generated from the following file: