QGIS/python/core/qgstolerance.sip
2016-09-15 18:34:15 +10:00

65 lines
2.3 KiB
Plaintext

class QgsTolerance
{
%TypeHeaderCode
#include <qgstolerance.h>
%End
public:
/** Type of unit of tolerance value from settings.
* For map (project) units, use ProjectUnits. */
enum UnitType
{
/** Layer unit value */
LayerUnits,
/** Pixels unit of tolerance*/
Pixels,
/** Map (project) units. Added in 2.8 */
ProjectUnits
};
/**
* Static function to get vertex tolerance value.
* The value is read from settings and transformed if necessary.
* @return value of vertex tolerance in map units (not layer units)
* @note added in 2.8
*/
static double vertexSearchRadius( const QgsMapSettings& mapSettings );
/**
* Static function to get vertex tolerance value for a layer.
* The value is read from settings and transformed if necessary.
* @return value of vertex tolerance in layer units
*/
static double vertexSearchRadius( QgsMapLayer* layer, const QgsMapSettings& mapSettings );
/**
* Static function to get default tolerance value for a layer.
* The value is read from settings and transformed if necessary.
* @return value of default tolerance in layer units
*/
static double defaultTolerance( QgsMapLayer* layer, const QgsMapSettings& mapSettings );
/**
* Static function to translate tolerance value into map units
* @param tolerance tolerance value to be translated
* @param layer source layer necessary in case tolerance is in layer units
* @param mapSettings settings of the map
* @param units type of units to be translated
* @return value of tolerance in map units
* @note added in 2.8
*/
static double toleranceInProjectUnits( double tolerance, QgsMapLayer* layer, const QgsMapSettings& mapSettings, QgsTolerance::UnitType units );
/**
* Static function to translate tolerance value into layer units
* @param tolerance tolerance value to be translated
* @param layer reference layer
* @param mapSettings settings of the map
* @param units type of units to be translated
* @return value of tolerance in layer units
*/
static double toleranceInMapUnits( double tolerance, QgsMapLayer* layer, const QgsMapSettings& mapSettings, UnitType units = LayerUnits );
};