20#include "moc_qgsmeshdataprovider.cpp" 
   50  if ( oldUnit != unit )
 
 
   62  const QDateTime &referenceTime,
 
   63  int groupIndex, qint64 time,
 
   66  const QDateTime requestDateTime = referenceTime.addMSecs( time );
 
   69  if ( providerReferenceTime.isValid() )
 
   70    providerTime = providerReferenceTime.msecsTo( requestDateTime );
 
 
   89  const QDateTime requestDateTime = referenceTime.addMSecs( time1 );
 
   95    providerTime1 = providerReferenceTime.msecsTo( requestDateTime );
 
   96    providerTime2 = providerTime1 - time1 + time2;
 
  100    providerTime1 = time1;
 
  101    providerTime2 = time2;
 
  104  QList<QgsMeshDatasetIndex> ret;
 
  109    if ( time >= providerTime1 && time <= providerTime2 )
 
  110      ret.append( datasetIndex );
 
 
  132  const QVector<QgsMeshDataBlock> &datasetValues,
 
  133  const QVector<QgsMeshDataBlock> &datasetActive,
 
  134  const QVector<double> × )
 
  137  QString filename = path;
 
  139  QString driverName = QStringLiteral( 
"DAT" );
 
  140  QStringList parts = path.split( 
':' );
 
  141  if ( parts.size() > 1 )
 
  143    driverName = parts[0];
 
  145    filename = parts.join( QString() );
 
 
  152  if ( index < 
vertices.size() && index >= 0 )
 
 
  159  if ( index < 
faces.size() && index >= 0 )
 
 
  166  if ( index < 
edges.size() && index >= 0 )
 
 
  180  if ( face1.count() != face2.count() )
 
  184  for ( 
int i = 0; i < face2.count(); ++i )
 
  185    if ( face2.at( i ) == face1.at( 0 ) )
 
  191  for ( 
int i = 0; i < face1.count(); ++i )
 
  192    if ( face1.at( i ) != face2.at( ( i + startFace2 ) % ( face2.count() ) ) )
 
 
  205      return !
edges.isEmpty();
 
  207      return !
faces.isEmpty();
 
 
TemporalUnit
Temporal units.
 
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
 
Abstract base class for spatial data provider implementations.
 
virtual void reloadData()
Reloads the data from the source for providers with data caches to synchronize, changes in the data s...
 
Handles properties relating to a mesh data provider's temporal capabilities.
 
Qgis::TemporalUnit temporalUnit() const
Returns the temporal unit used to read data by the data provider.
 
MatchingTemporalDatasetMethod
Method for selection of temporal mesh dataset from a range time.
 
@ FindClosestDatasetBeforeStartRangeTime
 
@ FindClosestDatasetFromStartRangeTime
Finds the closest dataset which have its time before the requested start range time.
 
virtual QgsMeshDriverMetadata driverMetadata() const
Returns the mesh driver metadata of the provider.
 
void setTemporalUnit(Qgis::TemporalUnit unit)
Sets the temporal unit of the provider and reload data if it changes.
 
QgsMeshDataProvider(const QString &uri, const QgsDataProvider::ProviderOptions &providerOptions, Qgis::DataProviderReadFlags=Qgis::DataProviderReadFlags())
Ctor.
 
QgsMeshDataProviderTemporalCapabilities * temporalCapabilities() override
Returns the provider's temporal capabilities.
 
virtual int vertexCount() const =0
Returns number of vertices in the native mesh.
 
bool contains(const QgsMesh::ElementType &type) const
Returns whether the mesh contains at mesh elements of given type.
 
virtual int edgeCount() const =0
Returns number of edges in the native mesh.
 
virtual int faceCount() const =0
Returns number of faces in the native mesh.
 
An index that identifies the dataset group (e.g.
 
int group() const
Returns a group index.
 
virtual QgsMeshDataBlock datasetValues(QgsMeshDatasetIndex index, int valueIndex, int count) const =0
Returns N vector/scalar values from the index from the dataset.
 
virtual int datasetCount(int groupIndex) const =0
Returns number of datasets loaded in the group.
 
virtual Q_DECL_DEPRECATED bool persistDatasetGroup(const QString &path, const QgsMeshDatasetGroupMetadata &meta, const QVector< QgsMeshDataBlock > &datasetValues, const QVector< QgsMeshDataBlock > &datasetActive, const QVector< double > ×)
Creates a new dataset group from a data and persists it into a destination path.
 
virtual QgsMeshDatasetGroupMetadata datasetGroupMetadata(int groupIndex) const =0
Returns dataset group metadata.
 
QgsMeshDatasetSourceInterface()
 
std::unique_ptr< QgsMeshDataProviderTemporalCapabilities > mTemporalCapabilities
 
QgsMeshDatasetIndex datasetIndexAtTime(const QDateTime &referenceTime, int groupIndex, qint64 time, QgsMeshDataProviderTemporalCapabilities::MatchingTemporalDatasetMethod method) const
Returns the dataset index of the dataset in a specific dataset group at time from the reference time.
 
QList< QgsMeshDatasetIndex > datasetIndexInTimeInterval(const QDateTime &referenceTime, int groupIndex, qint64 time1, qint64 time2) const
Returns a list of dataset indexes of the dataset in a specific dataset group that are between time1 a...
 
Point geometry type, with support for z-dimension and m-values.
 
QVector< int > QgsMeshFace
List of vertex indexes.
 
QPair< int, int > QgsMeshEdge
Edge is a straight line seqment between 2 points.
 
QgsPoint QgsMeshVertex
xyz coords of vertex
 
#define QGIS_PROTECT_QOBJECT_THREAD_ACCESS
 
Setting options for creating vector data providers.
 
int vertexCount() const
Returns number of vertices.
 
QVector< QgsMeshVertex > vertices
 
QgsMeshFace face(int index) const
Returns a face at the index.
 
bool contains(const ElementType &type) const
Returns whether the mesh contains at mesh elements of given type.
 
QVector< QgsMeshFace > faces
 
static bool compareFaces(const QgsMeshFace &face1, const QgsMeshFace &face2)
Compare two faces, return true if they are equivalent : same indexes and same clock wise.
 
void clear()
Remove all vertices, edges and faces.
 
int faceCount() const
Returns number of faces.
 
ElementType
Defines type of mesh elements.
 
QgsMeshEdge edge(int index) const
Returns an edge at the index.
 
QgsMeshVertex vertex(int index) const
Returns a vertex at the index.
 
int edgeCount() const
Returns number of edge.
 
QVector< QgsMeshEdge > edges