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;
146 static QgsMeshCalcNode *parseMeshCalcString(
const QString &str, QString &parserErrorMsg );
152 bool isNonTemporal()
const;
155 Q_DISABLE_COPY( QgsMeshCalcNode )
157 Type mType = tNoData;
158 std::unique_ptr<QgsMeshCalcNode> mLeft;
159 std::unique_ptr<QgsMeshCalcNode> mRight;
160 std::unique_ptr<QgsMeshCalcNode> mCondition;
161 double mNumber = std::numeric_limits<double>::quiet_NaN();
162 QString mDatasetGroupName;
163 Operator mOperator = opNONE;
168 #endif // QGSMESHCALCNODE_H