18 #ifndef QGSMESHCALCUTILS_H
19 #define QGSMESHCALCUTILS_H
25 #include <QStringList>
37 #include "qgis_core.h"
49 class CORE_EXPORT QgsMeshCalcUtils
64 const QStringList &usedGroupNames,
84 const QStringList &usedGroupNames,
106 const QStringList &usedGroupNames,
107 const QStringList &usedGroupNamesForAggregate,
114 bool isValid()
const;
120 std::shared_ptr<const QgsMeshMemoryDatasetGroup> group(
const QString &groupName )
const;
129 std::shared_ptr<QgsMeshMemoryDataset> number(
double val,
double time )
const;
135 std::shared_ptr<QgsMeshMemoryDataset> copy( std::shared_ptr<const QgsMeshMemoryDataset> dataset0 )
const;
231 double ffilter(
double val1,
double filter )
const;
232 double fadd(
double val1,
double val2 )
const;
233 double fsubtract(
double val1,
double val2 )
const;
234 double fmultiply(
double val1,
double val2 )
const;
235 double fdivide(
double val1,
double val2 )
const;
236 double fpower(
double val1,
double val2 )
const;
237 double fequal(
double val1,
double val2 )
const;
238 double fnotEqual(
double val1,
double val2 )
const;
239 double fgreaterThan(
double val1,
double val2 )
const;
240 double flesserThan(
double val1,
double val2 )
const;
241 double flesserEqual(
double val1,
double val2 )
const;
242 double fgreaterEqual(
double val1,
double val2 )
const;
243 double flogicalAnd(
double val1,
double val2 )
const;
244 double flogicalOr(
double val1,
double val2 )
const;
245 double flogicalNot(
double val1 )
const;
246 double fchangeSign(
double val1 )
const;
247 double fmin(
double val1,
double val2 )
const;
248 double fmax(
double val1,
double val2 )
const;
249 double fabs(
double val1 )
const;
250 double fsumAggregated( QVector<double> &vals )
const;
251 double fminimumAggregated( QVector<double> &vals )
const;
252 double fmaximumAggregated( QVector<double> &vals )
const;
253 double faverageAggregated( QVector<double> &vals )
const;
262 std::shared_ptr<QgsMeshMemoryDatasetGroup> createMemoryDatasetGroup(
const QString &datasetGroupName,
275 std::shared_ptr<const QgsMeshMemoryDatasetGroup> group(
const QString &groupName,
bool isAggregate )
const;
285 std::shared_ptr<QgsMeshMemoryDataset> createMemoryDataset(
const QgsMeshDatasetIndex &datasetIndex )
const;
296 int datasetIndex )
const;
302 int datasetIndex )
const;
314 void activate( std::shared_ptr<QgsMeshMemoryDataset> dataset,
315 std::shared_ptr<const QgsMeshMemoryDataset> refDataset =
nullptr )
const;
328 std::function<
double(
double )> func )
const;
333 std::function<
double(
double,
double )> func )
const;
337 std::function<
double( QVector<double>& )> func )
const;
340 const QgsMesh *nativeMesh()
const;
341 void updateMesh()
const;
347 QVector<double> mTimes;
348 QMap < QString, std::shared_ptr<QgsMeshMemoryDatasetGroup> > mDatasetGroupMap;
349 QMap < QString, std::shared_ptr<QgsMeshMemoryDatasetGroup> > mDatasetGroupMapForAggregate;
351 bool mIgnoreTime =
false;
A geometry is the spatial representation of a feature.
A representation of the interval between two datetime values.
QgsMeshDatasetIndex is index that identifies the dataset group (e.g.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Class that represents a dataset group stored in memory.
A rectangle specified with double values.
Triangular/Derived Mesh is mesh with vertices in map coordinates.
Mesh - vertices, edges and faces.