QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
Loading...
Searching...
No Matches
qgsesrii3sdataprovider.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsesrii3sdataprovider.h
3 --------------------------------------
4 Date : July 2025
5 Copyright : (C) 2025 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 QGSESRII3SDATAPROVIDER_H
17#define QGSESRII3SDATAPROVIDER_H
18
19#include "qgis.h"
20#include "qgis_core.h"
21#include "qgsprovidermetadata.h"
23
24#define SIP_NO_FILE
25
26class QgsEsriI3SDataProviderSharedData;
27
29
35class CORE_EXPORT QgsEsriI3SDataProvider final : public QgsTiledSceneDataProvider
36{
37 Q_OBJECT
38 public:
40 QgsEsriI3SDataProvider( const QString &uri, const QgsDataProvider::ProviderOptions &providerOptions, Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() );
41 QgsEsriI3SDataProvider( const QgsEsriI3SDataProvider &other );
42 QgsEsriI3SDataProvider &operator=( const QgsEsriI3SDataProvider &other ) = delete;
43
44 ~QgsEsriI3SDataProvider() final;
45 Qgis::DataProviderFlags flags() const override;
46 Qgis::TiledSceneProviderCapabilities capabilities() const final;
47 QgsEsriI3SDataProvider *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 const QgsCoordinateReferenceSystem sceneCrs() const final;
55 const QgsTiledSceneBoundingVolume &boundingVolume() const final;
56 QgsTiledSceneIndex index() const final;
57 QgsDoubleRange zRange() const final;
58
59 private:
60 bool loadFromRestService( const QString &uri, json &layerJson, QString &i3sVersion );
61 bool loadFromSlpk( const QString &uri, json &layerJson, QString &i3sVersion );
62 bool checkI3SVersion( const QString &i3sVersion );
63
64 bool mIsValid = false;
65
66 std::shared_ptr<QgsEsriI3SDataProviderSharedData> mShared;
67};
68
74class QgsEsriI3SProviderMetadata : public QgsProviderMetadata
75{
76 Q_OBJECT
77
78 public:
79 QgsEsriI3SProviderMetadata();
80 QIcon icon() const override;
82 QgsEsriI3SDataProvider *createProvider( const QString &uri, const QgsDataProvider::ProviderOptions &options, Qgis::DataProviderReadFlags flags = Qgis::DataProviderReadFlags() ) override;
83 QString filters( Qgis::FileFilterType type ) override;
84 ProviderCapabilities providerCapabilities() const override;
85 QList< Qgis::LayerType > supportedLayerTypes() const override;
86 QList< Qgis::LayerType > validLayerTypesForUri( const QString &uri ) const override;
87 QVariantMap decodeUri( const QString &uri ) const override;
88 QString encodeUri( const QVariantMap &parts ) const override;
89 QList<QgsProviderSublayerDetails> querySublayers( const QString &uri, Qgis::SublayerQueryFlags flags, QgsFeedback *feedback ) const override;
90 int priorityForUri( const QString &uri ) const override;
91};
92
94
95#endif // QGSESRII3SDATAPROVIDER_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).
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
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.