15#ifndef QGSPROPERTYTRANSFORMER_H 
   16#define QGSPROPERTYTRANSFORMER_H 
   27#include <QDomDocument> 
   89    void setControlPoints( 
const QList< QgsPointXY > &points );
 
   96    void addControlPoint( 
double x, 
double y );
 
  103    void removeControlPoint( 
double x, 
double y );
 
  108    double y( 
double x ) 
const;
 
  115    QVector< double > y( 
const QVector< double > &x ) 
const;
 
  123    bool readXml( 
const QDomElement &elem, 
const QDomDocument &doc );
 
  131    bool writeXml( QDomElement &transformElem, QDomDocument &doc ) 
const;
 
  139    QVariant toVariant() 
const;
 
  147    bool loadVariant( 
const QVariant &transformer );
 
  151    void calcSecondDerivativeArray();
 
  153    QList< QgsPointXY > mControlPoints;
 
  155    double *mSecondDerivativeArray = 
nullptr;
 
 
  172      sipType = sipType_QgsGenericNumericTransformer;
 
  174      sipType = sipType_QgsSizeScaleTransformer;
 
  176      sipType = sipType_QgsColorRampTransformer;
 
  178      sipType = sipType_QgsPropertyTransformer;
 
  226    virtual bool loadVariant( 
const QVariant &transformer );
 
  234    virtual QVariant toVariant() 
const;
 
  293    virtual QString 
toExpression( 
const QString &baseExpression ) 
const = 0;
 
  311    double transformNumeric( 
double input ) 
const;
 
 
  344                                  double maxValue = 1.0,
 
  345                                  double minOutput = 0.0,
 
  346                                  double maxOutput = 1.0,
 
  347                                  double nullOutput = 0.0,
 
  348                                  double exponent = 1.0 );
 
  352    QVariant toVariant() const override;
 
  353    bool loadVariant( const QVariant &definition ) override;
 
  354    QVariant transform( const 
QgsExpressionContext &context, const QVariant &value ) const override;
 
  355    QString toExpression( const QString &baseExpression ) const override;
 
  375    double value( 
double input ) const;
 
  382    double minOutputValue()
 const { 
return mMinOutput; }
 
 
  471                             double minValue = 0.0,
 
  472                             double maxValue = 1.0,
 
  473                             double minSize = 0.0,
 
  474                             double maxSize = 1.0,
 
  475                             double nullSize = 0.0,
 
  476                             double exponent = 1.0 );
 
  480    QVariant toVariant() const override;
 
  481    bool loadVariant( const QVariant &definition ) override;
 
  482    QVariant transform( const 
QgsExpressionContext &context, const QVariant &value ) const override;
 
  483    QString toExpression( const QString &baseExpression ) const override;
 
  499    double size( 
double value ) const;
 
  506    double minSize()
 const { 
return mMinSize; }
 
  570    void setType( ScaleType type );
 
  573    ScaleType mType = Linear;
 
 
  601                             double maxValue = 1.0,
 
  603                             const QColor &nullColor = QColor( 0, 0, 0, 0 ),
 
  604                             const QString &rampName = QString() );
 
  611    QVariant toVariant() const override;
 
  612    bool loadVariant( const QVariant &definition ) override;
 
  613    QVariant transform( const 
QgsExpressionContext &context, const QVariant &value ) const override;
 
  614    QString toExpression( const QString &baseExpression ) const override;
 
  621    QColor color( 
double value ) const;
 
  641    QColor nullColor()
 const { 
return mNullColor; }
 
  666    std::unique_ptr< QgsColorRamp > mGradientRamp;
 
 
Abstract base class for color ramps.
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)