QGIS API Documentation 3.99.0-Master (09f76ad7019)
Loading...
Searching...
No Matches
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 "qgscolorrampshader.h"
24
25#include <QByteArray>
26#include <QUrl>
27#include <QVector2D>
28#include <QVector3D>
29#include <QVector4D>
30#include <Qt3DRender/QEffect>
31#include <Qt3DRender/QGraphicsApiFilter>
32#include <Qt3DRender/QParameter>
33#include <Qt3DRender/QTexture>
34
35#define SIP_NO_FILE
36
37class QgsColorRampTextureGenerator : public Qt3DRender::QTextureImageDataGenerator
38{
39 public:
40 QgsColorRampTextureGenerator( const QgsColorRampShader &colorRampShader, double verticalScale = 1 );
41
42 public:
43 Qt3DRender::QTextureImageDataPtr operator()() override;
44
45 qintptr id() const override
46 {
47 return reinterpret_cast<qintptr>( &Qt3DCore::FunctorType<QgsColorRampTextureGenerator>::id );
48 }
49
50 bool operator==( const Qt3DRender::QTextureImageDataGenerator &other ) const override;
51
52 private:
53 QgsColorRampShader mColorRampShader;
54 double mVerticalScale = 1;
55};
56
57
58class QgsColorRampTexture : public Qt3DRender::QAbstractTextureImage
59{
60 Q_OBJECT
61
62 public:
63 QgsColorRampTexture( const QgsColorRampShader &colorRampShader, double verticalScale = 1, Qt3DCore::QNode *parent = nullptr );
64 // QAbstractTextureImage interface
65 protected:
66 Qt3DRender::QTextureImageDataGeneratorPtr dataGenerator() const override;
67
68 private:
69 QgsColorRampShader mColorRampShader;
70 double mVerticalScale = 1;
71};
72
74
75#endif // QGSCOLORRAMPTEXTURE_H
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)