QGIS API Documentation 3.29.0-Master (8c80f25a4f)
qgscolorramptexture.h
Go to the documentation of this file.
1/***************************************************************************
2 qgscolorramptexture.h
3 -------------------------
4 begin : january 2020
5 copyright : (C) 2020 by Vincent Cloarec
6 email : vcloarec at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSCOLORRAMPTEXTURE_H
19#define QGSCOLORRAMPTEXTURE_H
20
22
23#include <Qt3DRender/QEffect>
24#include <Qt3DRender/QGraphicsApiFilter>
25#include <Qt3DRender/QParameter>
26#include <Qt3DRender/QTexture>
27
28#include <QUrl>
29#include <QVector2D>
30#include <QVector3D>
31#include <QVector4D>
32#include <QByteArray>
33
34#include "qgscolorrampshader.h"
35
36#define SIP_NO_FILE
37
38class QgsColorRampTextureGenerator: public Qt3DRender::QTextureImageDataGenerator
39{
40
41 public:
42 QgsColorRampTextureGenerator( const QgsColorRampShader &colorRampShader, double verticalScale = 1 );
43
44 public:
45 Qt3DRender::QTextureImageDataPtr operator()() override;
46
47 bool operator ==( const Qt3DRender::QTextureImageDataGenerator &other ) const override;
48
49 // marked as deprecated in 5.15, but undeprecated for Qt 6.0. TODO -- remove when we require 6.0
51 QT3D_FUNCTOR( QgsColorRampTextureGenerator )
53
54 private:
55 QgsColorRampShader mColorRampShader;
56 double mVerticalScale = 1;
57};
58
59
60class QgsColorRampTexture: public Qt3DRender::QAbstractTextureImage
61{
62 Q_OBJECT
63
64 public:
65 QgsColorRampTexture( const QgsColorRampShader &colorRampShader, double verticalScale = 1, Qt3DCore::QNode *parent = nullptr );
66 // QAbstractTextureImage interface
67 protected:
68 Qt3DRender::QTextureImageDataGeneratorPtr dataGenerator() const override;
69
70 private:
71 QgsColorRampShader mColorRampShader;
72 double mVerticalScale = 1;
73};
74
76
77#endif // QGSCOLORRAMPTEXTURE_H
A ramp shader will color a raster pixel based on a list of values ranges in a ramp.
#define Q_NOWARN_DEPRECATED_POP
Definition: qgis.h:3499
#define Q_NOWARN_DEPRECATED_PUSH
Definition: qgis.h:3498
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)