QGIS API Documentation 3.34.0-Prizren (ffbdd678812)
Loading...
Searching...
No Matches
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,
44 QgsDataProvider::ReadFlags flags = QgsDataProvider::ReadFlags() );
45 QgsCesiumTilesDataProvider( const QgsCesiumTilesDataProvider &other );
46 QgsCesiumTilesDataProvider &operator=( const QgsCesiumTilesDataProvider &other ) = delete;
47
48 ~QgsCesiumTilesDataProvider() final;
49 Qgis::TiledSceneProviderCapabilities capabilities() const final;
50 QgsCesiumTilesDataProvider *clone() const final;
52 QgsRectangle extent() const final;
53 bool isValid() const final;
54 QString name() const final;
55 QString description() const final;
56 QString htmlMetadata() const final;
57 QgsLayerMetadata layerMetadata() const override;
58 const QgsCoordinateReferenceSystem sceneCrs() const final;
59 const QgsTiledSceneBoundingVolume &boundingVolume() const final;
60 QgsTiledSceneIndex index() const final;
61 QgsDoubleRange zRange() const final;
62
63 private:
64
65 bool init();
66
67 bool mIsValid = false;
68
69 QString mAuthCfg;
70 QgsHttpHeaders mHeaders;
71
72 std::shared_ptr<QgsCesiumTilesDataProviderSharedData> mShared;
73
74};
75
76
77class QgsCesiumTilesProviderMetadata : public QgsProviderMetadata
78{
79 Q_OBJECT
80
81 public:
82 QgsCesiumTilesProviderMetadata();
83 QIcon icon() const override;
84 QgsProviderMetadata::ProviderMetadataCapabilities capabilities() const override;
85 QgsCesiumTilesDataProvider *createProvider( const QString &uri, const QgsDataProvider::ProviderOptions &options, QgsDataProvider::ReadFlags flags = QgsDataProvider::ReadFlags() ) override;
86 QList< QgsProviderSublayerDetails > querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(), QgsFeedback *feedback = nullptr ) const override;
87 int priorityForUri( const QString &uri ) const override;
88 QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const override;
89 QString encodeUri( const QVariantMap &parts ) const override;
90 QVariantMap decodeUri( const QString &uri ) const override;
91 QString filters( Qgis::FileFilterType type ) override;
92 ProviderCapabilities providerCapabilities() const override;
93 QList< Qgis::LayerType > supportedLayerTypes() const override;
94
95};
96
98
99#endif // QGSCESIUMTILESDATAPROVIDER_H
100
The Qgis class provides global constants for use throughout the application.
Definition qgis.h:54
FileFilterType
Type of file filters.
Definition qgis.h:997
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
QgsRange which stores a range of double values.
Definition qgsrange.h:203
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:45
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...
A rectangle specified with double values.
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.