QGIS API Documentation  3.8.0-Zanzibar (11aff65)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsMeshCalculator Class Reference

Performs mesh layer calculations. More...

#include <qgsmeshcalculator.h>

Public Types

enum  Result {
  Success = 0, Canceled, CreateOutputError, InputLayerError,
  ParserError, InvalidDatasets, EvaluateError, MemoryError
}
 Result of the calculation. More...
 

Public Member Functions

 QgsMeshCalculator (const QString &formulaString, const QString &outputFile, const QgsRectangle &outputExtent, double startTime, double endTime, QgsMeshLayer *layer)
 Creates calculator with bounding box (rectangular) mask. More...
 
 QgsMeshCalculator (const QString &formulaString, const QString &outputFile, const QgsGeometry &outputMask, double startTime, double endTime, QgsMeshLayer *layer)
 Creates calculator with geometry mask. More...
 
Result processCalculation (QgsFeedback *feedback=nullptr)
 Starts the calculation, writes new dataset group to file and adds it to the mesh layer. More...
 

Static Public Member Functions

static Result expression_valid (const QString &formulaString, QgsMeshLayer *layer)
 Returns whether formula is valid for particular mesh layer. More...
 

Detailed Description

Performs mesh layer calculations.

Mesh calculator can do various mathematical operations between dataset groups from a single mesh layer. Resulting dataset group is added to the mesh layer. Result can be filtered by extent or a vector layer mask spatially and by selection of times.

Note: only dataset groups defined on vertices are implemented and supported

Since
QGIS 3.6

Definition at line 49 of file qgsmeshcalculator.h.

Member Enumeration Documentation

◆ Result

Result of the calculation.

Enumerator
Success 

Calculation successful.

Canceled 

Calculation canceled.

CreateOutputError 

Error creating output data file.

InputLayerError 

Error reading input layer.

ParserError 

Error parsing formula.

InvalidDatasets 

Datasets with different time outputs or not part of the mesh.

EvaluateError 

Error during evaluation.

MemoryError 

Error allocating memory for result.

Definition at line 54 of file qgsmeshcalculator.h.

Constructor & Destructor Documentation

◆ QgsMeshCalculator() [1/2]

QgsMeshCalculator::QgsMeshCalculator ( const QString &  formulaString,
const QString &  outputFile,
const QgsRectangle outputExtent,
double  startTime,
double  endTime,
QgsMeshLayer layer 
)

Creates calculator with bounding box (rectangular) mask.

Parameters
formulaStringformula/expression to evaluate. Consists of dataset group names, operators and numbers
outputFilefile to store the resulting dataset group data
outputExtentspatial filter defined by rectangle
startTimetime filter defining the starting dataset
endTimetime filter defining the ending dataset
layermesh layer with dataset groups references in formulaString

Definition at line 28 of file qgsmeshcalculator.cpp.

◆ QgsMeshCalculator() [2/2]

QgsMeshCalculator::QgsMeshCalculator ( const QString &  formulaString,
const QString &  outputFile,
const QgsGeometry outputMask,
double  startTime,
double  endTime,
QgsMeshLayer layer 
)

Creates calculator with geometry mask.

Parameters
formulaStringformula/expression to evaluate. Consists of dataset group names, operators and numbers
outputFilefile to store the resulting dataset group data
outputMaskspatial filter defined by geometry
startTimetime filter defining the starting dataset
endTimetime filter defining the ending dataset
layermesh layer with dataset groups references in formulaString

Definition at line 41 of file qgsmeshcalculator.cpp.

Member Function Documentation

◆ expression_valid()

QgsMeshCalculator::Result QgsMeshCalculator::expression_valid ( const QString &  formulaString,
QgsMeshLayer layer 
)
static

Returns whether formula is valid for particular mesh layer.

Parameters
formulaStringformula/expression to evaluate. Consists of dataset group names, operators and numbers
layermesh layer with dataset groups references in formulaString
Returns
QgsMeshCalculator::Success in case of success

Definition at line 57 of file qgsmeshcalculator.cpp.

◆ processCalculation()

QgsMeshCalculator::Result QgsMeshCalculator::processCalculation ( QgsFeedback feedback = nullptr)

Starts the calculation, writes new dataset group to file and adds it to the mesh layer.

Parameters
feedbackThe optional feedback argument for progress reporting and cancellation support
Returns
QgsMeshCalculator::Success in case of success

Definition at line 78 of file qgsmeshcalculator.cpp.


The documentation for this class was generated from the following files: