QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
qgsabstractvectorlayer3drenderer.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsabstractvectorlayer3drenderer.h
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 #ifndef QGSABSTRACTVECTORLAYER3DRENDERER_H
17 #define QGSABSTRACTVECTORLAYER3DRENDERER_H
18 
19 #include "qgis_3d.h"
20 #include "qgis_sip.h"
21 
22 #include "qgsabstract3drenderer.h"
23 #include "qgsmaplayerref.h"
24 
25 class QgsVectorLayer;
26 
38 {
39  public:
40 
48  int zoomLevelsCount() const { return mZoomLevelsCount; }
49 
53  void setZoomLevelsCount( int count ) { mZoomLevelsCount = count; }
54 
56  void setShowBoundingBoxes( bool enabled ) { mShowBoundingBoxes = enabled; }
58  bool showBoundingBoxes() const { return mShowBoundingBoxes; }
59 
61  void writeXml( QDomElement &elem ) const;
63  void readXml( const QDomElement &elem );
64 
65  private:
66  int mZoomLevelsCount = 3;
67  bool mShowBoundingBoxes = false;
68 };
69 
70 
78 {
79  public:
81 
83  void setLayer( QgsVectorLayer *layer );
85  QgsVectorLayer *layer() const;
86 
88  void setTilingSettings( const QgsVectorLayer3DTilingSettings &settings ) { mTilingSettings = settings; }
90  QgsVectorLayer3DTilingSettings tilingSettings() const { return mTilingSettings; }
91 
92  void resolveReferences( const QgsProject &project ) override;
93 
94  protected:
96  void copyBaseProperties( QgsAbstractVectorLayer3DRenderer *r ) const;
98  void writeXmlBaseProperties( QDomElement &elem, const QgsReadWriteContext &context ) const;
100  void readXmlBaseProperties( const QDomElement &elem, const QgsReadWriteContext &context );
101 
102  private:
103  QgsMapLayerRef mLayerRef;
104  QgsVectorLayer3DTilingSettings mTilingSettings;
105 };
106 
107 #endif // QGSABSTRACTVECTORLAYER3DRENDERER_H
Base class for all renderers that may to participate in 3D view.
void setTilingSettings(const QgsVectorLayer3DTilingSettings &settings)
Sets tiling settings of the renderer.
QgsVectorLayer3DTilingSettings tilingSettings() const
Returns tiling settings of the renderer.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition: qgsproject.h:101
The class is used as a container of context for various read/write operations on other objects.
int zoomLevelsCount() const
Returns number of zoom levels.
void setZoomLevelsCount(int count)
Sets number of zoom levels.
void setShowBoundingBoxes(bool enabled)
Sets whether to display bounding boxes of entity's tiles (for debugging)
bool showBoundingBoxes() const
Returns whether to display bounding boxes of entity's tiles (for debugging)
Represents a vector layer which manages a vector based data sets.
#define SIP_ABSTRACT
Definition: qgis_sip.h:199