QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
qgspreviewquad.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgspreviewquad.h
3  --------------------------------------
4  Date : August 2020
5  Copyright : (C) 2020 by Belgacem Nedjima
6  Email : gb underscore nedjima at esi dot dz
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSPREVIEWQUAD_H
17 #define QGSPREVIEWQUAD_H
18 
19 #include <Qt3DCore/QEntity>
20 #include <Qt3DRender/QMaterial>
21 #include <Qt3DRender/QParameter>
22 #include <Qt3DRender/QEffect>
23 
24 #define SIP_NO_FILE
25 
33 class QgsPreviewQuadMaterial : public Qt3DRender::QMaterial
34 {
35  Q_OBJECT
36 
37  public:
39  QgsPreviewQuadMaterial( Qt3DRender::QAbstractTexture *texture, QVector<Qt3DRender::QParameter *> additionalShaderParameters = QVector<Qt3DRender::QParameter *>(), QNode *parent = nullptr );
40 
42  void setViewPort( QVector2D centerTexCoords, QVector2D sizeTexCoords );
43  private:
44  Qt3DRender::QEffect *mEffect = nullptr;
45  Qt3DRender::QParameter *mTextureParameter = nullptr;
46  Qt3DRender::QParameter *mCenterTextureCoords = nullptr;
47  Qt3DRender::QParameter *mSizeTextureCoords = nullptr;
48 
49 };
50 
58 class QgsPreviewQuad : public Qt3DCore::QEntity
59 {
60  Q_OBJECT
61 
62  public:
63 
73  QgsPreviewQuad( Qt3DRender::QAbstractTexture *texture, const QPointF &centerNDC, const QSizeF &size, QVector<Qt3DRender::QParameter *> additionalShaderParameters = QVector<Qt3DRender::QParameter *>(), Qt3DCore::QEntity *parent = nullptr );
74 
76  void setViewPort( const QPointF &centerNDC, const QSizeF &size );
77  private:
78  QgsPreviewQuadMaterial *mMaterial = nullptr;
79 };
80 
81 #endif // QGSPREVIEWQUAD_H
QgsPreviewQuad::QgsPreviewQuad
QgsPreviewQuad(Qt3DRender::QAbstractTexture *texture, const QPointF &centerNDC, const QSizeF &size, QVector< Qt3DRender::QParameter * > additionalShaderParameters=QVector< Qt3DRender::QParameter * >(), Qt3DCore::QEntity *parent=nullptr)
Construct an object that displays a texture for debugging purposes (example: depth buffer)
Definition: qgspreviewquad.cpp:29
QgsPreviewQuadMaterial
Material component for QgsPreviewQuad object.
Definition: qgspreviewquad.h:33
QgsPreviewQuadMaterial::setViewPort
void setViewPort(QVector2D centerTexCoords, QVector2D sizeTexCoords)
Sets the view port of the quad.
Definition: qgspreviewquad.cpp:108
QgsPreviewQuad::setViewPort
void setViewPort(const QPointF &centerNDC, const QSizeF &size)
Sets where the quad will be located on the scene.
Definition: qgspreviewquad.cpp:69
QgsPreviewQuadMaterial::QgsPreviewQuadMaterial
QgsPreviewQuadMaterial(Qt3DRender::QAbstractTexture *texture, QVector< Qt3DRender::QParameter * > additionalShaderParameters=QVector< Qt3DRender::QParameter * >(), QNode *parent=nullptr)
Constructor.
Definition: qgspreviewquad.cpp:74
QgsPreviewQuad
Rectangular quad entity used for debugging depth maps.
Definition: qgspreviewquad.h:58