15#ifndef QGSPROPERTYTRANSFORMER_H
16#define QGSPROPERTYTRANSFORMER_H
27#include <QDomDocument>
91 void setControlPoints(
const QList< QgsPointXY > &points );
98 void addControlPoint(
double x,
double y );
105 void removeControlPoint(
double x,
double y );
110 double y(
double x )
const;
117 QVector< double > y(
const QVector< double > &x )
const;
125 bool readXml(
const QDomElement &elem,
const QDomDocument &doc );
133 bool writeXml( QDomElement &transformElem, QDomDocument &doc )
const;
141 QVariant toVariant()
const;
149 bool loadVariant(
const QVariant &transformer );
153 void calcSecondDerivativeArray();
155 QList< QgsPointXY > mControlPoints;
157 double *mSecondDerivativeArray =
nullptr;
174 sipType = sipType_QgsGenericNumericTransformer;
176 sipType = sipType_QgsSizeScaleTransformer;
178 sipType = sipType_QgsColorRampTransformer;
180 sipType = sipType_QgsPropertyTransformer;
228 virtual bool loadVariant(
const QVariant &transformer );
295 virtual QString
toExpression(
const QString &baseExpression )
const = 0;
347 double minOutput = 0.0,
348 double maxOutput = 1.0,
349 double nullOutput = 0.0,
354 QVariant toVariant() const override;
355 bool loadVariant( const QVariant &definition ) override;
356 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
357 QString toExpression( const QString &baseExpression ) const override;
377 double value(
double input ) const;
473 double minValue = 0.0,
474 double maxValue = 1.0,
475 double minSize = 0.0,
476 double maxSize = 1.0,
477 double nullSize = 0.0,
478 double exponent = 1.0 );
482 QVariant toVariant() const override;
483 bool loadVariant( const QVariant &definition ) override;
484 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
485 QString toExpression( const QString &baseExpression ) const override;
501 double size(
double value ) const;
572 void setType( ScaleType type );
575 ScaleType mType = Linear;
605 const QColor &
nullColor = QColor( 0, 0, 0, 0 ),
606 const QString &
rampName = QString() );
613 QVariant toVariant() const override;
614 bool loadVariant( const QVariant &definition ) override;
615 QVariant transform( const
QgsExpressionContext &context, const QVariant &value ) const override;
616 QString toExpression( const QString &baseExpression ) const override;
623 QColor color(
double value ) const;
668 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)