18#ifndef QGSMESHVIRTUALDATASETGROUP_H
19#define QGSMESHVIRTUALDATASETGROUP_H
50 const QString &formulaString,
52 qint64 relativeStartTime,
53 qint64 relativeEndTime );
66 std::unique_ptr<QgsMeshCalcNode> mCalcNode;
68 qint64 mStartTime = 0;
70 QStringList mDatasetGroupNameUsed;
71 QStringList mDatasetGroupNameUsedForAggregate;
72 QList<qint64> mDatasetTimes;
74 mutable std::shared_ptr<QgsMeshMemoryDataset> mCacheDataset;
75 mutable QVector<QgsMeshDatasetMetadata> mDatasetMetaData;
76 mutable int mCurrentDatasetIndex = -1;
78 bool calculateDataset()
const;
virtual QgsMeshDatasetMetadata datasetMetadata(int datasetIndex) const =0
Returns the metadata of the dataset with index datasetIndex.
QgsMeshDatasetGroup()=default
QString name() const
Returns the name of the dataset group.
virtual QStringList datasetGroupNamesDependentOn() const
Returns the dataset group variable name which this dataset group depends on.
virtual QString description() const
Returns some information about the dataset group.
Type
Type of the dataset group.
@ Virtual
Virtual Dataset group defined by a formula.
virtual void initialize()=0
Initialize the dataset group.
virtual QDomElement writeXml(QDomDocument &doc, const QgsReadWriteContext &context) const =0
Write dataset group information in a DOM element.
virtual int datasetCount() const =0
Returns the count of datasets in the group.
virtual QgsMeshDataset * dataset(int index) const =0
Returns the dataset with index.
Abstract class that represents a mesh dataset.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
QgsMeshVirtualDatasetGroup(const QString &name, const QString &formulaString, QgsMeshLayer *layer, qint64 relativeStartTime, qint64 relativeEndTime)
Constructor.
QgsMeshDatasetGroup::Type type() const override
Returns the type of dataset group.
A container for the context for various read/write operations on objects.