QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgsrasterlayertemporalproperties.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrasterlayertemporalproperties.h
3  ---------------
4  begin : February 2020
5  copyright : (C) 2020 by Samweli Mwakisambwe
6  email : samweli at kartoza 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 
19 #ifndef QGSRASTERLAYERTEMPORALPROPERTIES_H
20 #define QGSRASTERLAYERTEMPORALPROPERTIES_H
21 
22 #include "qgis_core.h"
23 #include "qgis_sip.h"
24 #include "qgsrange.h"
27 
36 {
37  Q_OBJECT
38 
39  public:
40 
46  QgsRasterLayerTemporalProperties( QObject *parent SIP_TRANSFERTHIS = nullptr, bool enabled = false );
47 
48  bool isVisibleInTemporalRange( const QgsDateTimeRange &range ) const override;
49  QgsDateTimeRange calculateTemporalExtent( QgsMapLayer *layer ) const override SIP_SKIP;
50  QList< QgsDateTimeRange > allTemporalRanges( QgsMapLayer *layer ) const override;
51 
56  {
57  ModeFixedTemporalRange = 0,
58  ModeTemporalRangeFromDataProvider = 1,
59  };
60 
66  TemporalMode mode() const;
67 
73  void setMode( TemporalMode mode );
74 
78  QgsTemporalProperty::Flags flags() const override;
79 
87 
94  void setIntervalHandlingMethod( QgsRasterDataProviderTemporalCapabilities::IntervalHandlingMethod method );
95 
106  void setFixedTemporalRange( const QgsDateTimeRange &range );
107 
116  const QgsDateTimeRange &fixedTemporalRange() const;
117 
118  QDomElement writeXml( QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context ) override;
119 
120  bool readXml( const QDomElement &element, const QgsReadWriteContext &context ) override;
121 
123 
124  private:
125 
127  TemporalMode mMode = ModeFixedTemporalRange;
128 
131 
133  QgsDateTimeRange mFixedRange;
134 };
135 
136 #endif // QGSRASTERLAYERTEMPORALPROPERTIES_H
Base class for handling properties relating to a data provider's temporal capabilities.
Base class for storage of map layer temporal properties.
virtual QDomElement writeXml(QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context)=0
Writes the properties to a DOM element, to be used later with readXml().
virtual QgsDateTimeRange calculateTemporalExtent(QgsMapLayer *layer) const
Attempts to calculate the overall temporal extent for the specified layer, using the settings defined...
virtual void setDefaultsFromDataProviderTemporalCapabilities(const QgsDataProviderTemporalCapabilities *capabilities)=0
Sets the layers temporal settings to appropriate defaults based on a provider's temporal capabilities...
virtual QList< QgsDateTimeRange > allTemporalRanges(QgsMapLayer *layer) const
Attempts to calculate the overall list of all temporal extents which are contained in the specified l...
virtual bool isVisibleInTemporalRange(const QgsDateTimeRange &range) const
Returns true if the layer should be visible and rendered for the specified time range.
virtual bool readXml(const QDomElement &element, const QgsReadWriteContext &context)=0
Reads temporal properties from a DOM element previously written by writeXml().
Base class for all map layer types.
Definition: qgsmaplayer.h:70
IntervalHandlingMethod
Method to use when resolving a temporal range to a data provider layer or band.
@ MatchUsingWholeRange
Use an exact match to the whole temporal range.
Implementation of map layer temporal properties for raster layers.
TemporalMode
Mode of the raster temporal properties.
The class is used as a container of context for various read/write operations on other objects.
virtual QgsTemporalProperty::Flags flags() const
Returns flags associated to the temporal property.
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
#define SIP_SKIP
Definition: qgis_sip.h:126