15#ifndef QGSPROPERTYTRANSFORMER_H
16#define QGSPROPERTYTRANSFORMER_H
27#include <QDomDocument>
92 void setControlPoints(
const QList< QgsPointXY > &points );
99 void addControlPoint(
double x,
double y );
106 void removeControlPoint(
double x,
double y );
111 double y(
double x )
const;
118 QVector< double > y(
const QVector< double > &x )
const;
126 bool readXml(
const QDomElement &elem,
const QDomDocument &doc );
134 bool writeXml( QDomElement &transformElem, QDomDocument &doc )
const;
142 QVariant toVariant()
const;
150 bool loadVariant(
const QVariant &transformer );
154 void calcSecondDerivativeArray();
156 QList< QgsPointXY > mControlPoints;
158 double *mSecondDerivativeArray =
nullptr;
174 sipType = sipType_QgsGenericNumericTransformer;
176 sipType = sipType_QgsSizeScaleTransformer;
178 sipType = sipType_QgsColorRampTransformer;
180 sipType = sipType_QgsPropertyTransformer;
231 virtual bool loadVariant(
const QVariant &transformer );
239 virtual QVariant toVariant()
const;
298 virtual QString
toExpression(
const QString &baseExpression )
const = 0;
321 double transformNumeric(
double input )
const;
354 double maxValue = 1.0,
355 double minOutput = 0.0,
356 double maxOutput = 1.0,
357 double nullOutput = 0.0,
358 double exponent = 1.0 );
362 QVariant toVariant() const override;
363 bool loadVariant( const QVariant &definition ) override;
364 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
365 QString toExpression( const QString &baseExpression ) const override;
385 double value(
double input ) const;
392 double minOutputValue()
const {
return mMinOutput; }
481 double minValue = 0.0,
482 double maxValue = 1.0,
483 double minSize = 0.0,
484 double maxSize = 1.0,
485 double nullSize = 0.0,
486 double exponent = 1.0 );
490 QVariant toVariant() const override;
491 bool loadVariant( const QVariant &definition ) override;
492 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
493 QString toExpression( const QString &baseExpression ) const override;
514 double size(
double value ) const;
521 double minSize()
const {
return mMinSize; }
585 void setType( ScaleType type );
588 ScaleType mType = Linear;
616 double maxValue = 1.0,
618 const QColor &nullColor = QColor( 0, 0, 0, 0 ),
619 const QString &rampName = QString() );
628 QVariant toVariant() const override;
629 bool loadVariant( const QVariant &definition ) override;
630 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
631 QString toExpression( const QString &baseExpression ) const override;
638 QColor color(
double value ) const;
658 QColor nullColor()
const {
return mNullColor; }
683 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)