Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsclassificationlogarithmic.h 3 : : --------------------- 4 : : begin : September 2019 5 : : copyright : (C) 2019 by Denis Rouzaud 6 : : email : denis@opengis.ch 7 : : *************************************************************************** 8 : : * * 9 : : * This program is free software; you can redistribute it and/or modify * 10 : : * it under the terms of the GNU General Public License as published by * 11 : : * the Free Software Foundation; either version 2 of the License, or * 12 : : * (at your option) any later version. * 13 : : * * 14 : : ***************************************************************************/ 15 : : 16 : : #ifndef QGSCLASSIFICATIONLOGARITHMIC_H 17 : : #define QGSCLASSIFICATIONLOGARITHMIC_H 18 : : 19 : : 20 : : #include "qgsclassificationmethod.h" 21 : : 22 : : /** 23 : : * \ingroup core 24 : : * \brief Implementation of a logarithmic scale method 25 : : * 26 : : * \since QGIS 3.10 27 : : */ 28 : 10 : class CORE_EXPORT QgsClassificationLogarithmic : public QgsClassificationMethod 29 : : { 30 : : public: 31 : : 32 : : /** 33 : : * Handling of negative and 0 values in the method 34 : : * \since QGIS 3.12 35 : : */ 36 : : enum NegativeValueHandling 37 : : { 38 : : NoHandling = 0, //!< No handling 39 : : Discard, //!< Negative values are discarded - this will require all values 40 : : PrependBreak //!< Prepend an extra break to include negative values - this will require all values 41 : : }; 42 : : 43 : : QgsClassificationLogarithmic(); 44 : : QgsClassificationMethod *clone() const override; 45 : : QString name() const override; 46 : : QString id() const override; 47 : : QIcon icon() const override; 48 : : QString labelForRange( double lowerValue, double upperValue, ClassPosition position ) const override; 49 : : bool valuesRequired() const override; 50 : : 51 : : private: 52 : : QList<double> calculateBreaks( double &minimum, double &maximum, const QList<double> &values, int nclasses ) override; 53 : : QString valueToLabel( double value ) const override; 54 : : 55 : : 56 : : }; 57 : : 58 : : #endif // QGSCLASSIFICATIONLOGARITHMIC_H