QGIS API Documentation 3.43.0-Master (32433f7016e)
qgsvectorlayer3drenderer.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsvectorlayer3drenderer.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 QGSVECTORLAYER3DRENDERER_H
17#define QGSVECTORLAYER3DRENDERER_H
18
19#include "qgis_3d.h"
20#include "qgis_sip.h"
21
24#include "qgsabstract3dsymbol.h"
26
27#include <QObject>
28
29class QgsVectorLayer;
30
40{
41 public:
43
45 QgsAbstract3DRenderer *createRenderer( QDomElement &elem, const QgsReadWriteContext &context ) override SIP_FACTORY;
46};
47
48
56{
57 public:
60
62 void setSymbol( QgsAbstract3DSymbol *symbol SIP_TRANSFER );
64 const QgsAbstract3DSymbol *symbol() const;
65
66 QString type() const override { return "vector"; }
67 QgsVectorLayer3DRenderer *clone() const override SIP_FACTORY;
68 Qt3DCore::QEntity *createEntity( Qgs3DMapSettings *map ) const override SIP_SKIP;
69
70 void writeXml( QDomElement &elem, const QgsReadWriteContext &context ) const override;
71 void readXml( const QDomElement &elem, const QgsReadWriteContext &context ) override;
72
73 private:
74 std::unique_ptr<QgsAbstract3DSymbol> mSymbol;
75
76 private:
77#ifdef SIP_RUN
80#endif
81};
82
83
84#endif // QGSVECTORLAYER3DRENDERER_H
Definition of the world.
Base metadata class for 3D renderers.
virtual QgsAbstract3DRenderer * createRenderer(QDomElement &elem, const QgsReadWriteContext &context)=0
Returns new instance of the renderer given the DOM element.
Base class for all renderers that participate in 3D views.
Abstract base class for 3D symbols that are used by VectorLayer3DRenderer objects.
Base class for 3D renderers that are based on vector layers.
A container for the context for various read/write operations on objects.
Metadata for vector layer 3D renderer to allow creation of its instances from XML.
3D renderer that renders all features of a vector layer with the same 3D symbol.
QString type() const override
Returns unique identifier of the renderer class (used to identify subclass)
Represents a vector layer which manages a vector based dataset.
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_TRANSFER
Definition qgis_sip.h:36
#define SIP_FACTORY
Definition qgis_sip.h:76