QGIS API Documentation 3.99.0-Master (e9821da5c6b)
Loading...
Searching...
No Matches
qgstiledscenelayer.h
Go to the documentation of this file.
1/***************************************************************************
2 qgstiledscenelayer.h
3 --------------------
4 begin : June 2023
5 copyright : (C) 2023 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSTILEDSCENELAYER_H
19#define QGSTILEDSCENELAYER_H
20
21#include "qgis_core.h"
22#include "qgsmaplayer.h"
24
25#include <QString>
26
27using namespace Qt::StringLiterals;
28
31
39class CORE_EXPORT QgsTiledSceneLayer : public QgsMapLayer
40{
41 Q_OBJECT
42
43 public:
44
79
83 explicit QgsTiledSceneLayer( const QString &uri = QString(),
84 const QString &baseName = QString(),
85 const QString &provider = QString(),
87
89
90 QgsTiledSceneLayer( const QgsTiledSceneLayer &other ) = delete;
92
93#ifdef SIP_RUN
94 SIP_PYOBJECT __repr__();
95 % MethodCode
96 QString str = u"<QgsTiledSceneLayer: '%1' (%2)>"_s.arg( sipCpp->name(), sipCpp->dataProvider() ? sipCpp->dataProvider()->name() : u"Invalid"_s );
97 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
98 % End
99#endif
100
101 QgsTiledSceneLayer *clone() const override SIP_FACTORY;
102 QgsRectangle extent() const override;
104 const QgsTiledSceneDataProvider *dataProvider() const override SIP_SKIP;
105 bool readXml( const QDomNode &layerNode, QgsReadWriteContext &context ) override;
106 bool writeXml( QDomNode &layerNode, QDomDocument &doc, const QgsReadWriteContext &context ) const override;
107 bool readSymbology( const QDomNode &node, QString &errorMessage,
108 QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories ) override;
109 bool readStyle( const QDomNode &node, QString &errorMessage, QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories ) final;
110 bool writeSymbology( QDomNode &node, QDomDocument &doc, QString &errorMessage, const QgsReadWriteContext &context,
111 StyleCategories categories = AllStyleCategories ) const override;
112 bool writeStyle( QDomNode &node, QDomDocument &doc, QString &errorMessage, const QgsReadWriteContext &context, StyleCategories categories = AllStyleCategories ) const final;
114 QString encodedSource( const QString &source, const QgsReadWriteContext &context ) const override;
115 QString decodedSource( const QString &source, const QString &dataProvider, const QgsReadWriteContext &context ) const override;
116 QString loadDefaultStyle( bool &resultFlag SIP_OUT ) final;
117 QString htmlMetadata() const override;
119 QString loadDefaultMetadata( bool &resultFlag SIP_OUT ) override;
121 Qgis::MapLayerProperties properties() const override;
122
129
137
146
147 private slots:
148 void setDataSourcePrivate( const QString &dataSource, const QString &baseName, const QString &provider, const QgsDataProvider::ProviderOptions &options, Qgis::DataProviderReadFlags flags ) override;
149
150 private:
151
152 bool isReadOnly() const override;
153
154#ifdef SIP_RUN
156#endif
157
158 std::unique_ptr<QgsTiledSceneDataProvider> mDataProvider;
159 std::unique_ptr<QgsTiledSceneRenderer> mRenderer;
160 QgsTiledSceneLayerElevationProperties *mElevationProperties = nullptr;
161
162 LayerOptions mLayerOptions;
163};
164
165
166#endif // QGSTILEDSCENELAYER_H
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:59
Contains information about the context in which a coordinate transform is executed.
Abstract base class for spatial data provider implementations.
Base class for storage of map layer elevation properties.
Base class for utility classes that encapsulate information necessary for rendering of map layers.
QString source() const
Returns the source for the layer.
QgsMapLayer(Qgis::LayerType type=Qgis::LayerType::Vector, const QString &name=QString(), const QString &source=QString())
Constructor for QgsMapLayer.
QFlags< StyleCategory > StyleCategories
QgsCoordinateTransformContext transformContext() const
Returns the layer data provider coordinate transform context or a default transform context if the la...
QgsMapLayer::LayerFlags flags
Definition qgsmaplayer.h:99
virtual QgsMapLayer * clone() const =0
Returns a new instance equivalent to this one except for the id which is still unique.
A container for the context for various read/write operations on objects.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
Base class for data providers for QgsTiledSceneLayer.
Tiled scene layer specific subclass of QgsMapLayerElevationProperties.
Qgis::MapLayerProperties properties() const override
Returns the map layer properties of this layer.
void setTransformContext(const QgsCoordinateTransformContext &transformContext) override
Sets the coordinate transform context to transformContext.
QgsTiledSceneLayer(const QString &uri=QString(), const QString &baseName=QString(), const QString &provider=QString(), const QgsTiledSceneLayer::LayerOptions &options=QgsTiledSceneLayer::LayerOptions())
Constructor for QgsTiledSceneLayer.
QString htmlMetadata() const override
Obtain a formatted HTML string containing assorted metadata for this layer.
bool readSymbology(const QDomNode &node, QString &errorMessage, QgsReadWriteContext &context, StyleCategories categories=AllStyleCategories) override
Read the symbology for the current layer from the DOM node supplied.
QString loadDefaultStyle(bool &resultFlag) final
Retrieve the default style for this layer if one exists (either as a .qml file on disk or as a record...
QgsRectangle extent() const override
Returns the extent of the layer.
QString decodedSource(const QString &source, const QString &dataProvider, const QgsReadWriteContext &context) const override
Called by readLayerXML(), used by derived classes to decode provider's specific data source from proj...
QgsTiledSceneLayer & operator=(QgsTiledSceneLayer const &other)=delete
void setRenderer(QgsTiledSceneRenderer *renderer)
Sets the 2D renderer for the tiled scene.
QgsMapLayerElevationProperties * elevationProperties() override
Returns the layer's elevation properties.
QgsTiledSceneLayer(const QgsTiledSceneLayer &other)=delete
QString loadDefaultMetadata(bool &resultFlag) override
Retrieve the default metadata for this layer if one exists (either as a .qmd file on disk or as a rec...
QgsTiledSceneDataProvider * dataProvider() override
Returns the layer's data provider, it may be nullptr.
bool readStyle(const QDomNode &node, QString &errorMessage, QgsReadWriteContext &context, StyleCategories categories=AllStyleCategories) final
Read the style for the current layer from the DOM node supplied.
bool writeSymbology(QDomNode &node, QDomDocument &doc, QString &errorMessage, const QgsReadWriteContext &context, StyleCategories categories=AllStyleCategories) const override
Write the style for the layer into the document provided.
QString encodedSource(const QString &source, const QgsReadWriteContext &context) const override
Called by writeLayerXML(), used by derived classes to encode provider's specific data source to proje...
bool writeStyle(QDomNode &node, QDomDocument &doc, QString &errorMessage, const QgsReadWriteContext &context, StyleCategories categories=AllStyleCategories) const final
Write just the symbology information for the layer into the document.
~QgsTiledSceneLayer() override
QgsTiledSceneRenderer * renderer()
Returns the 2D renderer for the tiled scene.
bool writeXml(QDomNode &layerNode, QDomDocument &doc, const QgsReadWriteContext &context) const override
Called by writeLayerXML(), used by children to write state specific to them to project files.
bool readXml(const QDomNode &layerNode, QgsReadWriteContext &context) override
Called by readLayerXML(), used by children to read state specific to them from project files.
QgsMapLayerRenderer * createMapRenderer(QgsRenderContext &rendererContext) override
Returns new instance of QgsMapLayerRenderer that will be used for rendering of given context.
Abstract base class for 2d tiled scene renderers.
#define SIP_SKIP
Definition qgis_sip.h:134
#define SIP_TRANSFER
Definition qgis_sip.h:36
#define SIP_OUT
Definition qgis_sip.h:58
#define SIP_FACTORY
Definition qgis_sip.h:84
Setting options for loading tiled scene layers.
bool loadDefaultStyle
Set to true if the default layer style should be loaded.
QgsCoordinateTransformContext transformContext
Coordinate transform context.
bool skipCrsValidation
Controls whether the layer is allowed to have an invalid/unknown CRS.
LayerOptions(const QgsCoordinateTransformContext &transformContext=QgsCoordinateTransformContext())
Constructor for LayerOptions with optional transformContext.