QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
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.h"
23#include "qgis_core.h"
24#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:
40 QgsCesiumTilesDataProvider( const QString &uri, const QgsDataProvider::ProviderOptions &providerOptions, Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() );
41 QgsCesiumTilesDataProvider( const QgsCesiumTilesDataProvider &other );
42 QgsCesiumTilesDataProvider &operator=( const QgsCesiumTilesDataProvider &other ) = delete;
43
44 ~QgsCesiumTilesDataProvider() final;
45 Qgis::DataProviderFlags flags() const override;
46 Qgis::TiledSceneProviderCapabilities capabilities() const final;
47 QgsCesiumTilesDataProvider *clone() const final;
48 QgsCoordinateReferenceSystem crs() const final;
49 QgsRectangle extent() const final;
50 bool isValid() const final;
51 QString name() const final;
52 QString description() const final;
53 QString htmlMetadata() const final;
54 QgsLayerMetadata layerMetadata() const override;
55 const QgsCoordinateReferenceSystem sceneCrs() const final;
56 const QgsTiledSceneBoundingVolume &boundingVolume() const final;
57 QgsTiledSceneIndex index() const final;
58 QgsDoubleRange zRange() const final;
59
60 private:
61 bool init();
62
63 bool mIsValid = false;
64
65 QString mAuthCfg;
66 QgsHttpHeaders mHeaders;
67
68 std::shared_ptr<QgsCesiumTilesDataProviderSharedData> mShared;
69
70 Qgis::DataProviderFlags mProviderFlags = Qgis::DataProviderFlag::FastExtent2D;
71};
72
73
74class QgsCesiumTilesProviderMetadata : public QgsProviderMetadata
75{
76 Q_OBJECT
77
78 public:
79 QgsCesiumTilesProviderMetadata();
80 QIcon icon() const override;
82 QgsCesiumTilesDataProvider *createProvider( const QString &uri, const QgsDataProvider::ProviderOptions &options, Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() ) override;
83 QList< QgsProviderSublayerDetails > querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags = Qgis::SublayerQueryFlags(), QgsFeedback *feedback = nullptr ) const override;
84 int priorityForUri( const QString &uri ) const override;
85 QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const override;
86 QString encodeUri( const QVariantMap &parts ) const override;
87 QVariantMap decodeUri( const QString &uri ) const override;
88 QString filters( Qgis::FileFilterType type ) override;
89 ProviderCapabilities providerCapabilities() const override;
90 QList< Qgis::LayerType > supportedLayerTypes() const override;
91};
92
94
95#endif // QGSCESIUMTILESDATAPROVIDER_H
Provides global constants and enumerations for use throughout the application.
Definition qgis.h:62
FileFilterType
Type of file filters.
Definition qgis.h:1419
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:512
QFlags< SublayerQueryFlag > SublayerQueryFlags
Sublayer query flags.
Definition qgis.h:1477
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:217
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
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.
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
An index for tiled scene data providers.
Setting options for creating vector data providers.