QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
qgsmeshlayer3drenderer.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsmeshlayer3drenderer.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 QGSMESHLAYER3DRENDERER_H
17
#define QGSMESHLAYER3DRENDERER_H
18
19
#include "qgis_3d.h"
20
#include "
qgs3drendererregistry.h
"
21
#include "
qgsabstract3drenderer.h
"
22
#include "
qgsmaplayerref.h
"
23
#include "
qgsmesh3dsymbol.h
"
24
25
#include <QObject>
26
27
#define SIP_NO_FILE
28
29
class
QgsMeshLayer
;
30
31
41
class
_3D_EXPORT
QgsMeshLayer3DRendererMetadata
:
public
Qgs3DRendererAbstractMetadata
42
{
43
public
:
44
QgsMeshLayer3DRendererMetadata
();
45
47
QgsAbstract3DRenderer
*
createRenderer
( QDomElement &elem,
const
QgsReadWriteContext
&context )
override
SIP_FACTORY
;
48
};
49
50
56
class
_3D_EXPORT
QgsMeshLayer3DRenderer
:
public
QgsAbstract3DRenderer
57
{
58
public
:
60
explicit
QgsMeshLayer3DRenderer
(
QgsMesh3DSymbol
*s
SIP_TRANSFER
=
nullptr
);
61
63
void
setLayer
(
QgsMeshLayer
*
layer
);
65
QgsMeshLayer
*
layer
()
const
;
66
68
void
setSymbol
(
QgsMesh3DSymbol
*
symbol
SIP_TRANSFER
);
70
const
QgsMesh3DSymbol
*
symbol
()
const
;
71
72
QString
type
()
const override
{
return
"mesh"
; }
73
QgsMeshLayer3DRenderer
*clone() const override
SIP_FACTORY
;
74
Qt3DCore
::QEntity *createEntity(
Qgs3DMapSettings
*map ) const override
SIP_SKIP
;
75
76
void
writeXml( QDomElement &elem, const
QgsReadWriteContext
&context ) const override;
77
void
readXml( const QDomElement &elem, const
QgsReadWriteContext
&context ) override;
78
void
resolveReferences( const
QgsProject
&project ) override;
79
80
81
private:
82
QgsMapLayerRef
mLayerRef;
83
std::unique_ptr<
QgsMesh3DSymbol
> mSymbol;
84
85
private:
86
#ifdef SIP_RUN
87
QgsMeshLayer3DRenderer
(
const
QgsMeshLayer3DRenderer
& );
88
QgsMeshLayer3DRenderer
&operator=(
const
QgsMeshLayer3DRenderer
& );
89
#endif
90
};
91
92
#endif
// QGSMESHLAYER3DRENDERER_H
Qgs3DMapSettings
Definition of the world.
Definition
qgs3dmapsettings.h:59
Qgs3DRendererAbstractMetadata::createRenderer
virtual QgsAbstract3DRenderer * createRenderer(QDomElement &elem, const QgsReadWriteContext &context)=0
Returns new instance of the renderer given the DOM element.
Qgs3DRendererAbstractMetadata::Qgs3DRendererAbstractMetadata
Qgs3DRendererAbstractMetadata(const QString &type)
Constructor of the base class.
Definition
qgs3drendererregistry.cpp:18
QgsAbstract3DRenderer
Base class for all renderers that participate in 3D views.
Definition
qgsabstract3drenderer.h:50
QgsAbstract3DRenderer::QgsAbstract3DRenderer
QgsAbstract3DRenderer()=default
QgsMesh3DSymbol
3D symbol that draws mesh geometry as planar triangles.
Definition
qgsmesh3dsymbol.h:38
QgsMeshLayer3DRendererMetadata::QgsMeshLayer3DRendererMetadata
QgsMeshLayer3DRendererMetadata()
Definition
qgsmeshlayer3drenderer.cpp:29
QgsMeshLayer3DRenderer
3D renderer that renders all mesh triangles of a mesh layer.
Definition
qgsmeshlayer3drenderer.h:57
QgsMeshLayer3DRenderer::setSymbol
void setSymbol(QgsMesh3DSymbol *symbol)
Sets 3D symbol associated with the renderer.
Definition
qgsmeshlayer3drenderer.cpp:64
QgsMeshLayer3DRenderer::symbol
const QgsMesh3DSymbol * symbol() const
Returns 3D symbol associated with the renderer.
Definition
qgsmeshlayer3drenderer.cpp:69
QgsMeshLayer3DRenderer::QgsMeshLayer3DRenderer
QgsMeshLayer3DRenderer(QgsMesh3DSymbol *s=nullptr)
Takes ownership of the symbol object.
Definition
qgsmeshlayer3drenderer.cpp:43
QgsMeshLayer3DRenderer::setLayer
void setLayer(QgsMeshLayer *layer)
Sets vector layer associated with the renderer.
Definition
qgsmeshlayer3drenderer.cpp:54
QgsMeshLayer3DRenderer::layer
QgsMeshLayer * layer() const
Returns mesh layer associated with the renderer.
Definition
qgsmeshlayer3drenderer.cpp:59
QgsMeshLayer3DRenderer::type
QString type() const override
Returns unique identifier of the renderer class (used to identify subclass).
Definition
qgsmeshlayer3drenderer.h:72
QgsMeshLayer
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Definition
qgsmeshlayer.h:105
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition
qgsproject.h:114
QgsReadWriteContext
A container for the context for various read/write operations on objects.
Definition
qgsreadwritecontext.h:38
Qt3DCore
Definition
qgsabstract3drenderer.h:33
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
SIP_FACTORY
#define SIP_FACTORY
Definition
qgis_sip.h:83
qgs3drendererregistry.h
qgsabstract3drenderer.h
qgsmaplayerref.h
QgsMapLayerRef
_LayerRef< QgsMapLayer > QgsMapLayerRef
Definition
qgsmaplayerref.h:325
qgsmesh3dsymbol.h
Generated on
for QGIS API Documentation by
1.17.0