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;
 
Represents a mesh dataset group stored in memory.