18#ifndef QGSRASTERTRANSPARENCY_H 
   19#define QGSRASTERTRANSPARENCY_H 
   58      TransparentThreeValuePixel( 
double red = 0, 
double green = 0, 
double blue = 0, 
double opacity = 0, 
double fuzzyToleranceRed = 4 * std::numeric_limits<double>::epsilon(), 
double fuzzyToleranceGreen = 4 * std::numeric_limits<double>::epsilon(), 
double fuzzyToleranceBlue = 4 * std::numeric_limits<double>::epsilon() )
 
   63        , fuzzyToleranceRed( fuzzyToleranceRed )
 
   64        , fuzzyToleranceGreen( fuzzyToleranceGreen )
 
   65        , fuzzyToleranceBlue( fuzzyToleranceBlue )
 
 
   98      double fuzzyToleranceRed = 4 * std::numeric_limits<double>::epsilon();
 
  100      double fuzzyToleranceRed;
 
  111      double fuzzyToleranceGreen = 4 * std::numeric_limits<double>::epsilon();
 
  113      double fuzzyToleranceGreen;
 
  124      double fuzzyToleranceBlue = 4 * std::numeric_limits<double>::epsilon();
 
  126      double fuzzyToleranceBlue;
 
  141        return !( *
this == other );
 
 
  145      SIP_PYOBJECT __repr__();
 
  149        str = QStringLiteral( 
"<QgsRasterTransparency.TransparentThreeValuePixel: %1, %2, %3, %4, %5, %6, %7>" ).arg( sipCpp->red ).arg( sipCpp->green ).arg( sipCpp->blue ).arg( sipCpp->opacity ).arg( sipCpp->fuzzyToleranceRed ).arg( sipCpp->fuzzyToleranceGreen ).arg( sipCpp->fuzzyToleranceBlue );
 
  151        str = QStringLiteral( 
"<QgsRasterTransparency.TransparentThreeValuePixel: %1, %2, %3, %4>" ).arg( sipCpp->red ).arg( sipCpp->green ).arg( sipCpp->blue ).arg( sipCpp->opacity );
 
  152      sipRes = PyUnicode_FromString( str.toUtf8().constData() );
 
 
  178        , includeMinimum( includeMinimum )
 
  179        , includeMaximum( includeMaximum )
 
 
  205      bool includeMinimum = 
true;
 
  213      bool includeMaximum = 
true;
 
  224        return !( *
this == other );
 
 
  228      SIP_PYOBJECT __repr__();
 
  230      const QString str = QStringLiteral( 
"<QgsRasterTransparency.TransparentSingleValuePixel: %1, %2, %3>" ).arg( sipCpp->min ).arg( sipCpp->max ).arg( sipCpp->opacity );
 
  231      sipRes = PyUnicode_FromString( str.toUtf8().constData() );
 
 
  240    QVector<QgsRasterTransparency::TransparentSingleValuePixel> transparentSingleValuePixelList() 
const;
 
  246    QVector<QgsRasterTransparency::TransparentThreeValuePixel> transparentThreeValuePixelList() 
const;
 
  251    void initializeTransparentPixelList( 
double value );
 
  256    void initializeTransparentPixelList( 
double redValue, 
double greenValue, 
double blueValue );
 
  262    void setTransparentSingleValuePixelList( 
const QVector<QgsRasterTransparency::TransparentSingleValuePixel> &newList );
 
  268    void setTransparentThreeValuePixelList( 
const QVector<QgsRasterTransparency::TransparentThreeValuePixel> &newList );
 
  281    Q_DECL_DEPRECATED 
int alphaValue( 
double value, 
int globalTransparency = 255 ) const 
SIP_DEPRECATED;
 
  291    double opacityForValue( 
double value ) const;
 
  305    Q_DECL_DEPRECATED 
int alphaValue( 
double redValue, 
double greenValue, 
double blueValue, 
int globalTransparency = 255 ) const 
SIP_DEPRECATED;
 
  317    double opacityForRgbValues( 
double redValue, 
double greenValue, 
double blueValue ) const;
 
  320    bool isEmpty() const;
 
  325    void writeXml( QDomDocument &doc, QDomElement &parentElem ) const;
 
  330    void readXml( const QDomElement &elem );
 
 
Defines the list of pixel values to be considered as transparent or semi transparent when rendering r...
 
QgsRasterTransparency()=default
 
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)
 
Defines the transparency for a range of single-band pixel values.
 
bool operator==(const QgsRasterTransparency::TransparentSingleValuePixel &other) const
 
TransparentSingleValuePixel(double minimum=0, double maximum=0, double opacity=0, bool includeMinimum=true, bool includeMaximum=true)
Constructor for TransparentSingleValuePixel.
 
double opacity
Opacity for pixel, between 0 and 1.0.
 
double min
Minimum pixel value to include in range.
 
double max
Maximum pixel value to include in range.
 
bool includeMaximum
true if pixels matching the max value should be considered transparent, or false if only pixels less ...
 
bool operator!=(const QgsRasterTransparency::TransparentSingleValuePixel &other) const
 
bool includeMinimum
true if pixels matching the min value should be considered transparent, or false if only pixels great...
 
Defines the transparency for a RGB pixel value.
 
TransparentThreeValuePixel(double red=0, double green=0, double blue=0, double opacity=0, double fuzzyToleranceRed=4 *std::numeric_limits< double >::epsilon(), double fuzzyToleranceGreen=4 *std::numeric_limits< double >::epsilon(), double fuzzyToleranceBlue=4 *std::numeric_limits< double >::epsilon())
Constructor for TransparentThreeValuePixel.
 
bool operator!=(const QgsRasterTransparency::TransparentThreeValuePixel &other) const
 
double fuzzyToleranceRed
Fuzzy tolerance for red values.
 
double opacity
Opacity for pixel, between 0 and 1.0.
 
double red
Red pixel value.
 
double fuzzyToleranceBlue
Fuzzy tolerance for blue values.
 
double green
Green pixel value.
 
bool operator==(const QgsRasterTransparency::TransparentThreeValuePixel &other) const
 
double fuzzyToleranceGreen
Fuzzy tolerance for green values.
 
double blue
Blue pixel value.