QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgscesiumtilesdataprovider.h
Go to the documentation of this file.
1/***************************************************************************
2 qgscesiumtilesdataprovider.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 * *
12 * This program is free software; you can redistribute it and/or modify *
13 * it under the terms of the GNU General Public License as published by *
14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. *
16 * *
17 ***************************************************************************/
18
19#ifndef QGSCESIUMTILESDATAPROVIDER_H
20#define QGSCESIUMTILESDATAPROVIDER_H
21
22#include "qgis_core.h"
24#include "qgis.h"
25#include "qgsprovidermetadata.h"
26
27#define SIP_NO_FILE
28
29class QgsAbstractTiledSceneBoundingVolume;
31class QgsCesiumTilesDataProviderSharedData;
32
34
35class CORE_EXPORT QgsCesiumTilesDataProvider final: public QgsTiledSceneDataProvider
36{
37 Q_OBJECT
38 public:
39
40
42 QgsCesiumTilesDataProvider( const QString &uri,
43 const QgsDataProvider::ProviderOptions &providerOptions,
45 QgsCesiumTilesDataProvider( const QgsCesiumTilesDataProvider &other );
46 QgsCesiumTilesDataProvider &operator=( const QgsCesiumTilesDataProvider &other ) = delete;
47
48 ~QgsCesiumTilesDataProvider() final;
49 Qgis::DataProviderFlags flags() const override;
50 Qgis::TiledSceneProviderCapabilities capabilities() const final;
51 QgsCesiumTilesDataProvider *clone() const final;
53 QgsRectangle extent() const final;
54 bool isValid() const final;
55 QString name() const final;
56 QString description() const final;
57 QString htmlMetadata() const final;
58 QgsLayerMetadata layerMetadata() const override;
59 const QgsCoordinateReferenceSystem sceneCrs() const final;
60 const QgsTiledSceneBoundingVolume &boundingVolume() const final;
61 QgsTiledSceneIndex index() const final;
62 QgsDoubleRange zRange() const final;
63
64 private:
65
66 bool init();
67
68 bool mIsValid = false;
69
70 QString mAuthCfg;
71 QgsHttpHeaders mHeaders;
72
73 std::shared_ptr<QgsCesiumTilesDataProviderSharedData> mShared;
74
75};
76
77
78class QgsCesiumTilesProviderMetadata : public QgsProviderMetadata
79{
80 Q_OBJECT
81
82 public:
83 QgsCesiumTilesProviderMetadata();
84 QIcon icon() const override;
86 QgsCesiumTilesDataProvider *createProvider( const QString &uri, const QgsDataProvider::ProviderOptions &options, QgsDataProvider::ReadFlags flags = QgsDataProvider::ReadFlags() ) override;
87 QList< QgsProviderSublayerDetails > querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(), QgsFeedback *feedback = nullptr ) const override;
88 int priorityForUri( const QString &uri ) const override;
89 QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const override;
90 QString encodeUri( const QVariantMap &parts ) const override;
91 QVariantMap decodeUri( const QString &uri ) const override;
92 QString filters( Qgis::FileFilterType type ) override;
93 ProviderCapabilities providerCapabilities() const override;
94 QList< Qgis::LayerType > supportedLayerTypes() const override;
95
96};
97
99
100#endif // QGSCESIUMTILESDATAPROVIDER_H
101
The Qgis class provides global constants for use throughout the application.
Definition: qgis.h:54
FileFilterType
Type of file filters.
Definition: qgis.h:1073
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition: qgis.h:1097
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
QFlags< ReadFlag > ReadFlags
QgsRange which stores a range of double values.
Definition: qgsrange.h:231
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition: qgsfeedback.h:44
This class implements simple http header management.
A structured metadata store for a map layer.
Holds data provider key, description, and associated shared library file or function pointer informat...
QFlags< ProviderMetadataCapability > ProviderMetadataCapabilities
A rectangle specified with double values.
Definition: qgsrectangle.h:42
Represents a bounding volume for a tiled scene.
Base class for data providers for QgsTiledSceneLayer.
virtual Qgis::TiledSceneProviderCapabilities capabilities() const
Returns flags containing the supported capabilities for the data provider.
QgsTiledSceneDataProvider & operator=(const QgsTiledSceneDataProvider &other)=delete
QgsTiledSceneDataProvider cannot be assigned.
An index for tiled scene data providers.
const QgsCoordinateReferenceSystem & crs
Setting options for creating vector data providers.