18#ifndef QGSMESHCALCNODE_H
19#define QGSMESHCALCNODE_H
42class CORE_EXPORT QgsMeshCalcNode
91 QgsMeshCalcNode(
double number );
99 QgsMeshCalcNode( Operator op, QgsMeshCalcNode *left, QgsMeshCalcNode *right );
107 QgsMeshCalcNode( QgsMeshCalcNode *condition ,
108 QgsMeshCalcNode *left ,
109 QgsMeshCalcNode *right );
115 QgsMeshCalcNode(
const QString &datasetGroupName );
123 void setLeft( QgsMeshCalcNode *left );
126 void setRight( QgsMeshCalcNode *right );
137 QStringList usedDatasetGroupNames()
const;
140 QStringList aggregatedUsedDatasetGroupNames()
const;
143 QStringList notAggregatedUsedDatasetGroupNames()
const;
151 static QgsMeshCalcNode *parseMeshCalcString(
const QString &str, QString &parserErrorMsg );
157 bool isNonTemporal()
const;
160 Q_DISABLE_COPY( QgsMeshCalcNode )
162 Type mType = tNoData;
163 std::unique_ptr<QgsMeshCalcNode> mLeft;
164 std::unique_ptr<QgsMeshCalcNode> mRight;
165 std::unique_ptr<QgsMeshCalcNode> mCondition;
166 double mNumber = std::numeric_limits<double>::quiet_NaN();
167 QString mDatasetGroupName;
168 Operator mOperator = opNONE;
Class that represents a dataset group stored in memory.