QGIS/python/core/qgsscalecalculator.sip
Juergen E. Fischer f3cb57b1eb SIP bindings update:
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
  same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
  missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet
2012-09-24 02:42:57 +02:00

66 lines
1.7 KiB
Plaintext

/**
* \class QgsScaleCalculator
* \brief Calculates scale for a given combination of canvas size, map extent,
* and monitor dpi.
*/
class QgsScaleCalculator
{
%TypeHeaderCode
#include <qgsscalecalculator.h>
%End
public:
/**
* Constructor
* @param dpi Monitor resolution in dots per inch
* @param mapUnits Units of the data on the map. Must match a value from the
* QGis::UnitType enum (Meters, Feet, Degrees)
*/
QgsScaleCalculator( double dpi = 0,
QGis::UnitType mapUnits = QGis::Meters );
//! Destructor
~QgsScaleCalculator();
/**
* Set the dpi to be used in scale calculations
* @param dpi Dots per inch of monitor resolution
*/
void setDpi( double dpi );
/**
* Accessor for dpi used in scale calculations
* @return int the dpi used for scale calculations.
*/
double dpi();
/**
* Set the map units
* @param mapUnits Units of the data on the map. Must match a value from the
*/
void setMapUnits( QGis::UnitType mapUnits );
/** Returns current map units */
QGis::UnitType mapUnits() const;
/**
* Calculate the scale
* @param mapExtent QgsRectangle containing the current map extent
* @param canvasWidth Width of the map canvas in pixel (physical) units
* @return scale of current map view
*/
double calculate( const QgsRectangle &mapExtent, int canvasWidth );
/**
* Calculate the distance between two points in geographic coordinates.
* Used to calculate scale for map views with geographic (decimal degree)
* data.
* @param mapExtent QgsRectangle containing the current map extent
*/
double calculateGeographicDistance( const QgsRectangle &mapExtent );
};