QGIS API Documentation 3.39.0-Master (9ea1ddbe645)
Loading...
Searching...
No Matches
qgspoint3dbillboardmaterial.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspoint3dbillboardmaterial.h
3 --------------------------------------
4 Date : Jul 2019
5 Copyright : (C) 2019 by Ismail Sunni
6 Email : imajimatika at gmail dot com
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#ifndef QGSPOINT3DBILLBOARDMATERIAL_H
16#define QGSPOINT3DBILLBOARDMATERIAL_H
17
18#include <QObject>
19#include <Qt3DRender/QParameter>
20#include <Qt3DRender/QTexture>
21#include <Qt3DRender/QMaterial>
22
23#define SIP_NO_FILE
24
25class QgsMarkerSymbol;
27
36class QgsPoint3DBillboardMaterial : public Qt3DRender::QMaterial
37{
38 Q_OBJECT
39
40 public:
43
45 void setSize( const QSizeF size );
47 QSizeF size() const;
48
50 void setViewportSize( const QSizeF size );
52 QSizeF windowSize() const;
53
55 void useDefaultSymbol( const Qgs3DRenderContext &context, bool selected = false );
56
58 void setTexture2DFromSymbol( QgsMarkerSymbol *markerSymbol, const Qgs3DRenderContext &context, bool selected = false );
59
60 private:
62 void setTexture2DFromImage( QImage image, double size = 100 );
63
65 void setTexture2DFromTextureImage( Qt3DRender::QAbstractTextureImage *textureImage );
66
67 Qt3DRender::QParameter *mSize = nullptr;
68 Qt3DRender::QParameter *mViewportSize = nullptr;
69 Qt3DRender::QParameter *mTexture2D = nullptr;
70};
71
72
73#endif // QGSPOINT3DBILLBOARDMATERIAL_H
A marker symbol type, for rendering Point and MultiPoint geometries.
void useDefaultSymbol(const Qgs3DRenderContext &context, bool selected=false)
Set default symbol for the texture with context and selected parameter for rendering.
QSizeF windowSize() const
Returns the size of the view port.
~QgsPoint3DBillboardMaterial() override
void setTexture2DFromSymbol(QgsMarkerSymbol *markerSymbol, const Qgs3DRenderContext &context, bool selected=false)
Set markerSymbol for the texture with context and selected parameter for rendering.
QSizeF size() const
Returns the billboard size.
void setViewportSize(const QSizeF size)
Set the size of the view port.
void setSize(const QSizeF size)
Set the billboard size.