15 #ifndef QGSPROPERTYTRANSFORMER_H
16 #define QGSPROPERTYTRANSFORMER_H
18 #include "qgis_core.h"
25 #include <QStringList>
26 #include <QDomElement>
27 #include <QDomDocument>
93 void setControlPoints(
const QList< QgsPointXY > &points );
100 void addControlPoint(
double x,
double y );
107 void removeControlPoint(
double x,
double y );
112 double y(
double x )
const;
119 QVector< double > y(
const QVector< double > &x )
const;
127 bool readXml(
const QDomElement &elem,
const QDomDocument &doc );
135 bool writeXml( QDomElement &transformElem, QDomDocument &doc )
const;
143 QVariant toVariant()
const;
151 bool loadVariant(
const QVariant &transformer );
155 void calcSecondDerivativeArray();
157 QList< QgsPointXY > mControlPoints;
159 double *mSecondDerivativeArray =
nullptr;
176 sipType = sipType_QgsGenericNumericTransformer;
178 sipType = sipType_QgsSizeScaleTransformer;
180 sipType = sipType_QgsColorRampTransformer;
182 sipType = sipType_QgsPropertyTransformer;
233 virtual bool loadVariant(
const QVariant &transformer );
241 virtual QVariant toVariant()
const;
300 virtual QString
toExpression(
const QString &baseExpression )
const = 0;
323 double transformNumeric(
double input )
const;
357 double maxValue = 1.0,
358 double minOutput = 0.0,
359 double maxOutput = 1.0,
360 double nullOutput = 0.0,
361 double exponent = 1.0 );
365 QVariant toVariant() const override;
366 bool loadVariant( const QVariant &definition ) override;
367 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
368 QString toExpression( const QString &baseExpression ) const override;
388 double value(
double input ) const;
395 double minOutputValue()
const {
return mMinOutput; }
485 double minValue = 0.0,
486 double maxValue = 1.0,
487 double minSize = 0.0,
488 double maxSize = 1.0,
489 double nullSize = 0.0,
490 double exponent = 1.0 );
494 QVariant toVariant() const override;
495 bool loadVariant( const QVariant &definition ) override;
496 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
497 QString toExpression( const QString &baseExpression ) const override;
518 double size(
double value ) const;
525 double minSize()
const {
return mMinSize; }
589 void setType( ScaleType type );
592 ScaleType mType = Linear;
620 double maxValue = 1.0,
622 const QColor &nullColor = QColor( 0, 0, 0, 0 ) );
631 QVariant toVariant() const override;
632 bool loadVariant( const QVariant &definition ) override;
633 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
634 QString toExpression( const QString &baseExpression ) const override;
641 QColor color(
double value ) const;
661 QColor nullColor()
const {
return mNullColor; }
686 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)