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;
222 const
void *constBuffer() const
SIP_SKIP;
225 QVector<
double> mDoubleBuffer;
226 QVector<
int> mIntegerBuffer;
252 QgsMeshDatasetGroupMetadata() =
default;
264 QgsMeshDatasetGroupMetadata(
const QString &name,
269 const QMap<QString, QString> &extraOptions );
274 QString name()
const;
279 QMap<QString, QString> extraOptions()
const;
284 bool isVector()
const;
289 bool isScalar()
const;
299 double minimum()
const;
304 double maximum()
const;
308 bool mIsScalar =
false;
309 bool mIsOnVertices =
false;
310 double mMinimumValue = std::numeric_limits<double>::quiet_NaN();
311 double mMaximumValue = std::numeric_limits<double>::quiet_NaN();
312 QMap<QString, QString> mExtraOptions;
353 bool isValid()
const;
358 double minimum()
const;
363 double maximum()
const;
366 double mTime = std::numeric_limits<double>::quiet_NaN();
367 bool mIsValid =
false;
368 double mMinimumValue = std::numeric_limits<double>::quiet_NaN();
369 double mMaximumValue = std::numeric_limits<double>::quiet_NaN();
398 virtual int vertexCount()
const = 0;
404 virtual int faceCount()
const = 0;
410 virtual void populateMesh(
QgsMesh *mesh )
const = 0;
439 virtual bool addDataset(
const QString &uri ) = 0;
444 virtual QStringList extraDatasets()
const = 0;
449 virtual int datasetGroupCount( )
const = 0;
454 virtual int datasetCount(
int groupIndex )
const = 0;
529 virtual bool persistDatasetGroup(
const QString &path,
531 const QVector<QgsMeshDataBlock> &datasetValues,
532 const QVector<QgsMeshDataBlock> &datasetActive,
533 const QVector<double> ×
558 void datasetGroupsAdded(
int count );
561 #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...
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