QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgssimplifymethod.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgssimplifymethod.h
3  ---------------------
4  begin : December 2013
5  copyright : (C) 2013 by Matthias Kuhn / Alvaro Huarte
6  email :
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSSIMPLIFYMETHOD_H
17 #define QGSSIMPLIFYMETHOD_H
18 
19 #include "qgis_core.h"
20 
22 
28 class CORE_EXPORT QgsSimplifyMethod
29 {
30  public:
32  {
35  PreserveTopology
36  };
37 
39  QgsSimplifyMethod() = default;
40 
42  void setMethodType( MethodType methodType );
44  inline MethodType methodType() const { return mMethodType; }
45 
47  void setTolerance( double tolerance );
49  inline double tolerance() const { return mTolerance; }
50 
52  void setThreshold( float threshold ) { mThreshold = threshold; }
54  inline float threshold() const { return mThreshold; }
55 
57  void setForceLocalOptimization( bool localOptimization );
59  inline bool forceLocalOptimization() const { return mForceLocalOptimization; }
60 
62  static QgsAbstractGeometrySimplifier *createGeometrySimplifier( const QgsSimplifyMethod &simplifyMethod );
63 
64  protected:
68  double mTolerance = 1;
70  float mThreshold = 1;
72  bool mForceLocalOptimization = true;
73 };
74 
75 #endif // QGSSIMPLIFYMETHOD_H
Abstract base class for simplify geometries using a specific algorithm.
This class contains information about how to simplify geometries fetched from a QgsFeatureIterator.
QgsSimplifyMethod()=default
construct a default method
float threshold() const
Gets the simplification threshold in pixels. Represents the maximum distance in pixels between two co...
void setThreshold(float threshold)
Sets the simplification threshold in pixels. Represents the maximum distance in pixels between two co...
double tolerance() const
Gets the tolerance of simplification in map units. Represents the maximum distance in map units betwe...
bool forceLocalOptimization() const
Gets whether the simplification executes after fetch the geometries from provider,...
MethodType methodType() const
Gets the simplification type.
@ OptimizeForRendering
Simplify using the map2pixel data to optimize the rendering of geometries.
@ NoSimplification
No simplification is applied.