QGIS API Documentation  2.99.0-Master (8ec3eaf)
qgsscalecalculator.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsscalecalculator.h
3  Calculates scale based on map extent and units
4  -------------------
5  begin : May 18, 2004
6  copyright : (C) 2004 by Gary E.Sherman
7  email : sherman at mrcc.com
8  ***************************************************************************/
9 
10 /***************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 #ifndef QGSSCALECALCULATOR_H
20 #define QGSSCALECALCULATOR_H
21 
22 #include <qgis.h>
23 #include "qgsunittypes.h"
24 
25 class QString;
26 class QgsRectangle;
27 
32 class CORE_EXPORT QgsScaleCalculator
33 {
34  public:
35 
41  QgsScaleCalculator( double dpi = 0,
43 
48  void setDpi( double dpi );
49 
54  double dpi();
55 
60  void setMapUnits( QgsUnitTypes::DistanceUnit mapUnits );
61 
63  QgsUnitTypes::DistanceUnit mapUnits() const;
64 
71  double calculate( const QgsRectangle &mapExtent, int canvasWidth );
72 
79  double calculateGeographicDistance( const QgsRectangle &mapExtent );
80 
81  private:
82 
84  double mDpi;
85 
88 };
89 
90 #endif // #ifndef QGSSCALECALCULATOR_H
A rectangle specified with double values.
Definition: qgsrectangle.h:35
Calculates scale for a given combination of canvas size, map extent, and monitor dpi.
DistanceUnit
Units of distance.
Definition: qgsunittypes.h:42