QGIS/python/core/qgsscalecalculator.sip
wonder bbd36b107f Merged refactoring branch back to trunk.
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@6415 c8812cc2-4d05-0410-92ff-de0c093fc19c
2007-01-09 02:39:15 +00:00

60 lines
1.5 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::units enum (METERS, FEET, DEGREES)
*/
QgsScaleCalculator(int dpi = 0,
QGis::units mapUnits = QGis::METERS);
//! Destructor
~QgsScaleCalculator();
/**
* Set the dpi to be used in scale calculations
* @param dpi Dots per inch of monitor resolution
*/
void setDpi(int dpi);
/**
* Set the map units
* @param mapUnits Units of the data on the map. Must match a value from the
*/
void setMapUnits(QGis::units mapUnits);
/** Returns current map units */
QGis::units mapUnits() const;
/**
* Calculate the scale
* @param mapExtent QgsRect containing the current map extent
* @param canvasWidth Width of the map canvas in pixel (physical) units
* @return scale of current map view
*/
double calculate(QgsRect &mapExtent, int canvasWidth);
/**
* Calculate the distance between to points in geographic coordinates.
* Used to calculate scale for map views with geographic (decimal degree)
* data.
* @param mapExtent QgsRect containing the current map extent
*/
double calculateGeographicDistance(QgsRect &mapExtent);
};