QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsmesh3dsymbol_p.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmesh3dsymbol_p.h
3  -------------------
4  Date : January 2019
5  Copyright : (C) 2019 by Peter Petrik
6  Email : zilolv 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 
16 #ifndef QGSMESH3DSYMBOL_P_H
17 #define QGSMESH3DSYMBOL_P_H
18 
20 
21 //
22 // W A R N I N G
23 // -------------
24 //
25 // This file is not part of the QGIS API. It exists purely as an
26 // implementation detail. This header file may change from version to
27 // version without notice, or even be removed.
28 //
29 
30 #include <Qt3DCore/QEntity>
31 #include <Qt3DExtras/QPhongMaterial>
32 #include <Qt3DRender/QGeometryRenderer>
33 
34 #define SIP_NO_FILE
35 
36 class Qgs3DMapSettings;
38 class QgsMesh3DSymbol;
39 
40 class QgsPointXY;
41 class QgsMeshLayer;
42 
44 class QgsMesh3DSymbolEntity : public Qt3DCore::QEntity
45 {
46  Q_OBJECT
47 
48  public:
49  QgsMesh3DSymbolEntity( const Qgs3DMapSettings &map, QgsMeshLayer *layer, const QgsMesh3DSymbol &symbol, Qt3DCore::QNode *parent = nullptr );
50 
51  private:
52  Qt3DRender::QMaterial *material( const QgsMesh3DSymbol &symbol ) const;
53 };
54 
55 class QgsMesh3DSymbolEntityNode : public Qt3DCore::QEntity
56 {
57  Q_OBJECT
58 
59  public:
60  QgsMesh3DSymbolEntityNode( const Qgs3DMapSettings &map, QgsMeshLayer *layer, const QgsMesh3DSymbol &symbol, Qt3DCore::QNode *parent = nullptr );
61 
62  private:
63  Qt3DRender::QGeometryRenderer *renderer( const Qgs3DMapSettings &map, const QgsMesh3DSymbol &symbol, const QgsMeshLayer *layer );
64 
65  QgsTessellatedPolygonGeometry *mGeometry = nullptr;
66 };
67 
69 
70 #endif // QGSMESH3DSYMBOL_P_H
QgsMesh3DSymbol
3 3D symbol that draws mesh geometry as planar triangles.
Definition: qgsmesh3dsymbol.h:44
QgsMeshLayer
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition: qgsmeshlayer.h:95
Qgs3DMapSettings
3 Definition of the world
Definition: qgs3dmapsettings.h:54
QgsPointXY
A class to represent a 2D point.
Definition: qgspointxy.h:44
QgsTessellatedPolygonGeometry
3 Class derived from Qt3DRender::QGeometry that represents polygons tessellated into 3D geometry.
Definition: qgstessellatedpolygongeometry.h:45