QGIS API Documentation  2.3.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgsvectorsimplifymethod.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectorsimplifymethod.h
3  ---------------------
4  begin : December 2013
5  copyright : (C) 2013 by Alvaro Huarte
6  email : http://wiki.osgeo.org/wiki/Alvaro_Huarte
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 QGSVECTORSIMPLIFYMETHOD_H
17 #define QGSVECTORSIMPLIFYMETHOD_H
18 
19 #include <QFlags>
20 
24 class CORE_EXPORT QgsVectorSimplifyMethod
25 {
26  public:
32  QgsVectorSimplifyMethod& operator=( const QgsVectorSimplifyMethod& rh );
33 
36  {
37  NoSimplification = 0,
38  GeometrySimplification = 1,
39  AntialiasingSimplification = 2,
40  FullSimplification = 3,
41  };
42  Q_DECLARE_FLAGS( SimplifyHints, SimplifyHint )
43 
44 
45  void setSimplifyHints( SimplifyHints simplifyHints ) { mSimplifyHints = simplifyHints; }
47  inline SimplifyHints simplifyHints() const { return mSimplifyHints; }
48 
50  void setThreshold( float threshold ) { mThreshold = threshold; }
52  inline float threshold() const { return mThreshold; }
53 
55  void setForceLocalOptimization( bool localOptimization ) { mLocalOptimization = localOptimization; }
57  inline bool forceLocalOptimization() const { return mLocalOptimization; }
58 
60  void setMaximumScale( float maximumScale ) { mMaximumScale = maximumScale; }
62  inline float maximumScale() const { return mMaximumScale; }
63 
64  private:
66  SimplifyHints mSimplifyHints;
68  float mThreshold;
73 };
74 
75 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsVectorSimplifyMethod::SimplifyHints )
76 
77 #endif // QGSVECTORSIMPLIFYMETHOD_H
float threshold() const
Gets the simplification threshold of the vector layer managed.
bool mLocalOptimization
Simplification executes after fetch the geometries from provider, otherwise it executes, when supported, in provider before fetch the geometries.
float mMaximumScale
Maximum scale at which the layer should be simplified (Maximum scale at which generalisation should b...
void setForceLocalOptimization(bool localOptimization)
Sets where the simplification executes, after fetch the geometries from provider, or when supported...
SimplifyHint
Simplification flags for fast rendering of features.
bool forceLocalOptimization() const
Gets where the simplification executes, after fetch the geometries from provider, or when supported...
float mThreshold
Simplification threshold.
void setMaximumScale(float maximumScale)
Sets the maximum scale at which the layer should be simplified.
This class contains information how to simplify geometries fetched from a vector layer.
SimplifyHints simplifyHints() const
Gets the simplification hints of the vector layer managed.
float maximumScale() const
Gets the maximum scale at which the layer should be simplified.
SimplifyHints mSimplifyHints
Simplification hints for fast rendering of features of the vector layer managed.
void setThreshold(float threshold)
Sets the simplification threshold of the vector layer managed.