17 #ifndef QGSMAPTOPIXELGEOMETRYSIMPLIFIER_H 18 #define QGSMAPTOPIXELGEOMETRYSIMPLIFIER_H 20 #include "qgis_core.h" 61 static std::unique_ptr<QgsAbstractGeometry> simplifyGeometry(
int simplifyFlags,
SimplifyAlgorithm simplifyAlgorithm,
const QgsAbstractGeometry &geometry,
double map2pixelTol,
bool isaLinearRing );
74 static float calculateLengthSquared2D(
double x1,
double y1,
double x2,
double y2 );
77 static bool equalSnapToGrid(
double x1,
double y1,
double x2,
double y2,
double gridOriginX,
double gridOriginY,
float gridInverseSizeXY );
100 static bool isGeneralizableByMapBoundingBox(
const QgsRectangle &envelope,
double map2pixelTol );
105 return isGeneralizableByMapBoundingBox( envelope, mTolerance );
109 #endif // QGSMAPTOPIXELGEOMETRYSIMPLIFIER_H A rectangle specified with double values.
void setSimplifyFlags(int simplifyFlags)
Sets the simplification hints of the vector layer managed.
SimplifyAlgorithm simplifyAlgorithm() const
Gets the local simplification algorithm of the vector layer managed.
A geometry is the spatial representation of a feature.
SimplifyAlgorithm
Types of simplification algorithms that can be used.
int simplifyFlags() const
Gets the simplification hints of the vector layer managed.
Abstract base class for all geometries.
void setTolerance(double value)
Sets the tolerance of the vector layer managed.
Implementation of GeometrySimplifier using the "MapToPixel" algorithm.
double mTolerance
Distance tolerance for the simplification.
void setSimplifyAlgorithm(SimplifyAlgorithm simplifyAlgorithm)
Sets the local simplification algorithm of the vector layer managed.
int mSimplifyFlags
Current simplification flags.
SimplifyAlgorithm mSimplifyAlgorithm
Current algorithm.
virtual QgsGeometry simplify(const QgsGeometry &geometry) const =0
Returns a simplified version the specified geometry.
SimplifyFlag
Applicable simplification flags.
Abstract base class for simplify geometries using a specific algorithm.
bool isGeneralizableByMapBoundingBox(const QgsRectangle &envelope) const
Returns whether the envelope can be replaced by its BBOX when is applied the specified map2pixel cont...