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.