QGIS API Documentation
3.18.1-Zürich (202f1bf7e5)
src
core
3d
qgs3drendererregistry.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgs3drendererregistry.h
3
--------------------------------------
4
Date : July 2017
5
Copyright : (C) 2017 by Martin Dobias
6
Email : wonder dot sk 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 QGS3DRENDERERREGISTRY_H
17
#define QGS3DRENDERERREGISTRY_H
18
19
#include "qgis_core.h"
20
#include "
qgis_sip.h
"
21
22
#include <QMap>
23
24
class
QDomElement;
25
class
QgsAbstract3DRenderer
;
26
class
QgsReadWriteContext
;
27
28
34
class
CORE_EXPORT
Qgs3DRendererAbstractMetadata
35
{
36
public
:
37
38
virtual
~Qgs3DRendererAbstractMetadata
() =
default
;
39
43
QString type()
const
;
44
49
virtual
QgsAbstract3DRenderer
*
createRenderer
( QDomElement &elem,
const
QgsReadWriteContext
&context ) = 0
SIP_FACTORY
;
50
51
protected
:
52
56
explicit
Qgs3DRendererAbstractMetadata
(
const
QString &type );
57
58
protected
:
60
QString
mType
;
61
};
62
63
69
class
CORE_EXPORT
Qgs3DRendererRegistry
70
{
71
public
:
73
Qgs3DRendererRegistry
() =
default
;
74
75
~
Qgs3DRendererRegistry
();
76
80
void
addRenderer(
Qgs3DRendererAbstractMetadata
*metadata
SIP_TRANSFER
);
81
85
void
removeRenderer(
const
QString &type );
86
90
Qgs3DRendererAbstractMetadata
*rendererMetadata(
const
QString &type )
const
;
91
95
QStringList renderersList()
const
;
96
97
private
:
98
QMap<QString, Qgs3DRendererAbstractMetadata *> mRenderers;
99
};
100
101
#endif
// QGS3DRENDERERREGISTRY_H
Qgs3DRendererAbstractMetadata
Base metadata class for 3D renderers.
Definition:
qgs3drendererregistry.h:35
Qgs3DRendererAbstractMetadata::mType
QString mType
Type used within QGIS for identification (the same what renderer's type() returns)
Definition:
qgs3drendererregistry.h:60
Qgs3DRendererAbstractMetadata::~Qgs3DRendererAbstractMetadata
virtual ~Qgs3DRendererAbstractMetadata()=default
Qgs3DRendererAbstractMetadata::createRenderer
virtual QgsAbstract3DRenderer * createRenderer(QDomElement &elem, const QgsReadWriteContext &context)=0
Returns new instance of the renderer given the DOM element.
Qgs3DRendererRegistry
Keeps track of available 3D renderers.
Definition:
qgs3drendererregistry.h:70
Qgs3DRendererRegistry::Qgs3DRendererRegistry
Qgs3DRendererRegistry()=default
Creates registry of 3D renderers.
QgsAbstract3DRenderer
Base class for all renderers that may to participate in 3D view.
Definition:
qgsabstract3drenderer.h:49
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects.
Definition:
qgsreadwritecontext.h:35
qgis_sip.h
SIP_TRANSFER
#define SIP_TRANSFER
Definition:
qgis_sip.h:36
SIP_FACTORY
#define SIP_FACTORY
Definition:
qgis_sip.h:76
Generated on Sun Mar 21 2021 09:16:51 for QGIS API Documentation by
1.9.1