QGIS API Documentation  3.20.0-Odense (decaadbb31)
qgsmeshdataprovidertemporalcapabilities.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmeshdataprovidertemporalcapabilities.h
3  -----------------------
4  begin : March 2020
5  copyright : (C) 2020 by Vincent Cloarec
6  email : vcloarec at gmail 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 #ifndef QGSMESHDATAPROVIDERTEMPORALCAPABILITIES_H
19 #define QGSMESHDATAPROVIDERTEMPORALCAPABILITIES_H
20 
22 #include "qgsrange.h"
23 #include "qgsmeshdataset.h"
24 
25 #define INVALID_MESHLAYER_TIME -99999
26 
35 {
36  public:
37 
42  {
44  FindClosestDatasetFromStartRangeTime
45  };
46 
51 
59  QgsMeshDatasetIndex datasetIndexClosestBeforeRelativeTime( int group, qint64 timeSinceGlobalReference ) const;
60 
68  QgsMeshDatasetIndex datasetIndexClosestFromRelativeTime( int group, qint64 timeSinceGlobalReference ) const;
69 
75  void addGroupReferenceDateTime( int group, const QDateTime &reference ) SIP_SKIP;
76 
83  void addDatasetTimeInMilliseconds( int group, qint64 time ) SIP_SKIP;
84 
91  void addDatasetTime( int group, double time ) SIP_SKIP;
92 
96  bool hasReferenceTime() const;
97 
101  QDateTime referenceTime() const;
102 
107  QgsDateTimeRange timeExtent() const;
108 
113  QgsDateTimeRange timeExtent( const QDateTime &reference ) const;
114 
120  void setTemporalUnit( QgsUnitTypes::TemporalUnit temporalUnit );
121 
125  QgsUnitTypes::TemporalUnit temporalUnit() const;
126 
130  qint64 datasetTime( const QgsMeshDatasetIndex &index ) const;
131 
135  void clear();
136 
142  qint64 firstTimeStepDuration( int group ) const;
143 
144  private:
145 
147  QDateTime mGlobalReferenceDateTime;
148 
150  QHash<int, QDateTime> mGroupsReferenceDateTime;
151 
158  QHash<int, QList<qint64>> mDatasetTimeSinceGroupReference;
159 
161 };
162 
163 #endif // QGSMESHDATAPROVIDERTEMPORALCAPABILITIES_H
Base class for handling properties relating to a data provider's temporal capabilities.
Class for handling properties relating to a mesh data provider's temporal capabilities.
MatchingTemporalDatasetMethod
Method for selection of temporal mesh dataset from a range time.
QgsMeshDatasetIndex is index that identifies the dataset group (e.g.
TemporalUnit
Temporal units.
Definition: qgsunittypes.h:150
@ TemporalHours
Hours.
Definition: qgsunittypes.h:154
#define SIP_SKIP
Definition: qgis_sip.h:126