18 #ifndef QGSMESHDATAPROVIDER_H 19 #define QGSMESHDATAPROVIDER_H 26 #include "qgis_core.h" 59 int mDatasetIndex = -1;
78 int vertexCount()
const;
80 int faceCount()
const;
121 void set(
double scalar );
124 void setX(
double x );
127 void setY(
double y ) ;
130 double scalar()
const;
141 double mX = std::numeric_limits<double>::quiet_NaN();
142 double mY = std::numeric_limits<double>::quiet_NaN();
186 bool isValid()
const;
198 bool active(
int index )
const;
213 void setActive(
const QVector<int> &vals );
226 QVector<int> active()
const;
234 QVector<double> values()
const;
245 void setValues(
const QVector<double> &vals );
248 void setValid(
bool valid );
251 QVector<double> mDoubleBuffer;
252 QVector<int> mIntegerBuffer;
255 bool mIsValid =
false;
284 void setValid(
bool valid );
287 bool isValid()
const;
290 bool isVector()
const;
296 int firstVolumeIndex()
const;
299 int lastVolumeIndex()
const;
302 int volumesCount()
const;
307 QVector<int> verticalLevelsCount()
const;
312 void setVerticalLevelsCount(
const QVector<int> &verticalLevelsCount );
317 QVector<double> verticalLevels()
const;
322 void setVerticalLevels(
const QVector<double> &verticalLevels );
327 QVector<int> faceToVolumeIndex()
const;
332 void setFaceToVolumeIndex(
const QVector<int> &faceToVolumeIndex );
339 QVector<double> values()
const;
354 void setValues(
const QVector<double> &doubleBuffer );
358 bool mIsValid =
false;
359 bool mIsVector =
false;
360 QVector<int> mVerticalLevelsCount;
361 QVector<double> mVerticalLevels;
362 QVector<int> mFaceToVolumeIndex;
363 QVector<double> mDoubleBuffer;
408 int maximumVerticalLevels,
409 const QDateTime &referenceTime,
410 const QMap<QString, QString> &extraOptions );
415 QString name()
const;
420 QMap<QString, QString> extraOptions()
const;
425 bool isVector()
const;
430 bool isScalar()
const;
442 double minimum()
const;
447 double maximum()
const;
454 int maximumVerticalLevelsCount()
const;
461 QDateTime referenceTime()
const;
465 bool mIsScalar =
false;
466 DataType mDataType = DataType::DataOnFaces;
467 double mMinimumValue = std::numeric_limits<double>::quiet_NaN();
468 double mMaximumValue = std::numeric_limits<double>::quiet_NaN();
469 QMap<QString, QString> mExtraOptions;
470 int mMaximumVerticalLevelsCount = 0;
471 QDateTime mReferenceTime;
503 int maximumVerticalLevels
514 bool isValid()
const;
519 double minimum()
const;
524 double maximum()
const;
531 int maximumVerticalLevelsCount()
const;
534 double mTime = std::numeric_limits<double>::quiet_NaN();
535 bool mIsValid =
false;
536 double mMinimumValue = std::numeric_limits<double>::quiet_NaN();
537 double mMaximumValue = std::numeric_limits<double>::quiet_NaN();
538 int mMaximumVerticalLevelsCount = 0;
567 virtual int vertexCount()
const = 0;
573 virtual int faceCount()
const = 0;
579 virtual void populateMesh(
QgsMesh *mesh )
const = 0;
608 virtual bool addDataset(
const QString &uri ) = 0;
613 virtual QStringList extraDatasets()
const = 0;
618 virtual int datasetGroupCount( )
const = 0;
623 virtual int datasetCount(
int groupIndex )
const = 0;
719 virtual bool persistDatasetGroup(
const QString &path,
721 const QVector<QgsMeshDataBlock> &datasetValues,
722 const QVector<QgsMeshDataBlock> &datasetActive,
723 const QVector<double> ×
748 void datasetGroupsAdded(
int count );
751 #endif // QGSMESHDATAPROVIDER_H A rectangle specified with double values.
Vector double pairs (x1, y1, x2, y2, ... )
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
QgsMeshDataBlock is a block of integers/doubles that can be used to retrieve: active flags (e...
QgsMesh3dDataBlock is a block of 3d stacked mesh data related N faces defined on base mesh frame...
Abstract base class for spatial data provider implementations.
Integer boolean flag whether face is active.
Point geometry type, with support for z-dimension and m-values.
DataType
Type of data stored in the block.
Base class for providing data for QgsMeshLayer.
Setting options for creating vector data providers.
Mesh - vertices and faces.
Interface for mesh datasets and dataset groups.
QVector< int > QgsMeshFace
List of vertex indexes.
QgsMeshDatasetIndex is index that identifies the dataset group (e.g.
QgsMeshDatasetValue represents single dataset value.
Interface for mesh data sources.
QgsPoint QgsMeshVertex
xyz coords of vertex