18 #ifndef QGSMESHCALCNODE_H
19 #define QGSMESHCALCNODE_H
27 #include <QStringList>
31 #include "qgis_core.h"
42 class 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 );
124 void setLeft( QgsMeshCalcNode *left );
127 void setRight( QgsMeshCalcNode *right );
138 QStringList usedDatasetGroupNames()
const;
141 QStringList aggregatedUsedDatasetGroupNames()
const;
144 QStringList notAggregatedUsedDatasetGroupNames()
const;
152 static QgsMeshCalcNode *parseMeshCalcString(
const QString &
str, QString &parserErrorMsg );
158 bool isNonTemporal()
const;
161 Q_DISABLE_COPY( QgsMeshCalcNode )
163 Type mType = tNoData;
164 std::unique_ptr<QgsMeshCalcNode> mLeft;
165 std::unique_ptr<QgsMeshCalcNode> mRight;
166 std::unique_ptr<QgsMeshCalcNode> mCondition;
167 double mNumber = std::numeric_limits<double>::quiet_NaN();
168 QString mDatasetGroupName;
169 Operator mOperator = opNONE;
174 #endif // QGSMESHCALCNODE_H