QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
3d
qgsabstractvectorlayer3drenderer.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsabstractvectorlayer3drenderer.cpp
3
--------------------------------------
4
Date : January 2020
5
Copyright : (C) 2020 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
#include "
qgsabstractvectorlayer3drenderer.h
"
17
18
#include "
qgsvectorlayer.h
"
19
20
#include <QString>
21
22
using namespace
Qt::StringLiterals;
23
24
void
QgsVectorLayer3DTilingSettings::writeXml
( QDomElement &elem )
const
25
{
26
QDomDocument doc = elem.ownerDocument();
27
28
QDomElement elemTiling = doc.createElement( u
"vector-layer-3d-tiling"
_s );
29
elemTiling.setAttribute( u
"zoom-levels-count"
_s, mZoomLevelsCount );
30
elemTiling.setAttribute( u
"show-bounding-boxes"
_s, mShowBoundingBoxes ? u
"1"
_s : u
"0"
_s );
31
elemTiling.setAttribute( u
"max-chunk-features"
_s, mMaxChunkFeatures );
32
elem.appendChild( elemTiling );
33
}
34
35
void
QgsVectorLayer3DTilingSettings::readXml
(
const
QDomElement &elem )
36
{
37
const
QDomElement elemTiling = elem.firstChildElement( u
"vector-layer-3d-tiling"
_s );
38
if
( !elemTiling.isNull() )
39
{
40
mZoomLevelsCount = elemTiling.attribute( u
"zoom-levels-count"
_s ).toInt();
41
mShowBoundingBoxes = elemTiling.attribute( u
"show-bounding-boxes"
_s ).toInt();
42
mMaxChunkFeatures = elemTiling.attribute( u
"max-chunk-features"
_s, QString::number( mMaxChunkFeatures ) ).toInt();
43
}
44
}
45
46
48
49
50
QgsAbstractVectorLayer3DRenderer::QgsAbstractVectorLayer3DRenderer
() =
default
;
51
52
void
QgsAbstractVectorLayer3DRenderer::setLayer
(
QgsVectorLayer
*
layer
)
53
{
54
mLayerRef =
QgsMapLayerRef
(
layer
);
55
}
56
57
QgsVectorLayer
*
QgsAbstractVectorLayer3DRenderer::layer
()
const
58
{
59
return
qobject_cast<QgsVectorLayer *>( mLayerRef.layer );
60
}
61
62
void
QgsAbstractVectorLayer3DRenderer::copyBaseProperties
(
QgsAbstractVectorLayer3DRenderer
*r )
const
63
{
64
r->mLayerRef = mLayerRef;
65
r->mTilingSettings = mTilingSettings;
66
}
67
68
void
QgsAbstractVectorLayer3DRenderer::writeXmlBaseProperties
( QDomElement &elem,
const
QgsReadWriteContext
&context )
const
69
{
70
Q_UNUSED( context )
71
elem.setAttribute( u
"layer"
_s, mLayerRef.layerId );
72
mTilingSettings.
writeXml
( elem );
73
}
74
75
void
QgsAbstractVectorLayer3DRenderer::readXmlBaseProperties
(
const
QDomElement &elem,
const
QgsReadWriteContext
&context )
76
{
77
Q_UNUSED( context )
78
mLayerRef =
QgsMapLayerRef
( elem.attribute( u
"layer"
_s ) );
79
mTilingSettings.readXml( elem );
80
}
81
82
void
QgsAbstractVectorLayer3DRenderer::resolveReferences
(
const
QgsProject
&project )
83
{
84
mLayerRef.setLayer( project.
mapLayer
( mLayerRef.layerId ) );
85
}
QgsAbstractVectorLayer3DRenderer::QgsAbstractVectorLayer3DRenderer
QgsAbstractVectorLayer3DRenderer()
QgsAbstractVectorLayer3DRenderer::writeXmlBaseProperties
void writeXmlBaseProperties(QDomElement &elem, const QgsReadWriteContext &context) const
Writes common properties of this object to DOM element.
Definition
qgsabstractvectorlayer3drenderer.cpp:68
QgsAbstractVectorLayer3DRenderer::readXmlBaseProperties
void readXmlBaseProperties(const QDomElement &elem, const QgsReadWriteContext &context)
Reads common properties of this object from DOM element.
Definition
qgsabstractvectorlayer3drenderer.cpp:75
QgsAbstractVectorLayer3DRenderer::resolveReferences
void resolveReferences(const QgsProject &project) override
Resolves references to other objects - second phase of loading - after readXml().
Definition
qgsabstractvectorlayer3drenderer.cpp:82
QgsAbstractVectorLayer3DRenderer::setLayer
void setLayer(QgsVectorLayer *layer)
Sets vector layer associated with the renderer.
Definition
qgsabstractvectorlayer3drenderer.cpp:52
QgsAbstractVectorLayer3DRenderer::copyBaseProperties
void copyBaseProperties(QgsAbstractVectorLayer3DRenderer *r) const
Copies common properties of this object to another object.
Definition
qgsabstractvectorlayer3drenderer.cpp:62
QgsAbstractVectorLayer3DRenderer::layer
QgsVectorLayer * layer() const
Returns vector layer associated with the renderer.
Definition
qgsabstractvectorlayer3drenderer.cpp:57
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition
qgsproject.h:114
QgsProject::mapLayer
Q_INVOKABLE QgsMapLayer * mapLayer(const QString &layerId) const
Retrieve a pointer to a registered layer by layer ID.
Definition
qgsproject.cpp:4737
QgsReadWriteContext
A container for the context for various read/write operations on objects.
Definition
qgsreadwritecontext.h:38
QgsVectorLayer3DTilingSettings::readXml
void readXml(const QDomElement &elem)
Reads content of the object from XML.
Definition
qgsabstractvectorlayer3drenderer.cpp:35
QgsVectorLayer3DTilingSettings::writeXml
void writeXml(QDomElement &elem) const
Writes content of the object to XML.
Definition
qgsabstractvectorlayer3drenderer.cpp:24
QgsVectorLayer
Represents a vector layer which manages a vector based dataset.
Definition
qgsvectorlayer.h:414
qgsabstractvectorlayer3drenderer.h
QgsMapLayerRef
_LayerRef< QgsMapLayer > QgsMapLayerRef
Definition
qgsmaplayerref.h:325
qgsvectorlayer.h
Generated on
for QGIS API Documentation by
1.17.0