class QgsTolerance { %TypeHeaderCode #include %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 ); };