copasi API  0.1
Public Types | Public Member Functions | Static Public Member Functions
CEvaluationNodeOperator Class Reference

#include <CEvaluationNodeOperator.h>

Inheritance diagram for CEvaluationNodeOperator:
CEvaluationNode CCopasiNode< std::string >

List of all members.

Public Types

enum  SubType {
  INVALID = 0x00FFFFFF, POWER = 0x00000000, MULTIPLY = 0x00000001, DIVIDE = 0x00000002,
  MODULUS = 0x00000003, PLUS = 0x00000004, MINUS = 0x00000005
}

Public Member Functions

 CEvaluationNodeOperator (const SubType &subType, const Data &data)
 CEvaluationNodeOperator (const CEvaluationNodeOperator &src)
virtual ~CEvaluationNodeOperator ()
virtual const C_FLOAT64 & value () const
virtual bool compile (const CEvaluationTree *pTree)
virtual std::string getInfix () const
virtual std::string getDisplayString (const CEvaluationTree *pTree) const
virtual std::string getDisplay_C_String (const CEvaluationTree *pTree) const
virtual std::string getDisplay_MMD_String (const CEvaluationTree *pTree) const
virtual std::string getDisplay_XPP_String (const CEvaluationTree *pTree) const
virtual ASTNode * toAST (const CCopasiDataModel *pDataModel) const
virtual CEvaluationNodesimplifyNode (const std::vector< CEvaluationNode * > &children) const
bool createModuloTree (const CEvaluationNodeOperator *pNode, ASTNode *pASTNode, const CCopasiDataModel *pDataModel) const
virtual void writeMathML (std::ostream &out, const std::vector< std::vector< std::string > > &env, bool expand=true, unsigned C_INT32 l=0) const
CEvaluationNodegetLeft ()
const CEvaluationNodegetLeft () const
CEvaluationNodegetRight ()
const CEvaluationNodegetRight () const

Static Public Member Functions

static CEvaluationNodecreateNodeFromASTTree (const ASTNode &node)

Detailed Description

This is the class for nodes presenting operators used in an evaluation trees.


Member Enumeration Documentation

Enumeration of possible node types.

Enumerator:
INVALID 
POWER 
MULTIPLY 
DIVIDE 
MODULUS 
PLUS 
MINUS 

Constructor & Destructor Documentation

CEvaluationNodeOperator::CEvaluationNodeOperator ( const SubType subType,
const Data data 
)

Default constructor

Parameters:
constSubType & subType
constData & data
CEvaluationNodeOperator::CEvaluationNodeOperator ( const CEvaluationNodeOperator src)

Copy constructor

Parameters:
constCEvaluationNodeOperator & src
CEvaluationNodeOperator::~CEvaluationNodeOperator ( ) [virtual]

Destructor


Member Function Documentation

bool CEvaluationNodeOperator::compile ( const CEvaluationTree pTree) [virtual]

Compile a node;

Parameters:
constCEvaluationTree * pTree
Returns:
bool success;

Reimplemented from CEvaluationNode.

bool CEvaluationNodeOperator::createModuloTree ( const CEvaluationNodeOperator pNode,
ASTNode *  pASTNode,
const CCopasiDataModel pDataModel 
) const

Convert our modulo to something SBML understands

Parameters:
constCEvaluationNodeOperator* pNode the modulo operator node to be converted.
constASTNode* pASTNode the root node for the SBML math expression
Returns:
bool which is true on sucessfull conversion.
CEvaluationNode * CEvaluationNodeOperator::createNodeFromASTTree ( const ASTNode &  node) [static]

Create a new operator node from an ASTNode tree.

Parameters:
constASTNode* node
Returns:
CEvaluationNode* return a pointer to the newly created node;
std::string CEvaluationNodeOperator::getDisplay_C_String ( const CEvaluationTree pTree) const [virtual]

Retrieve the display string of the node and its eventual child nodes in C.

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeOperator::getDisplay_MMD_String ( const CEvaluationTree pTree) const [virtual]

Retrieve the display string of the node and its eventual child nodes in Berkeley Madonna format.

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeOperator::getDisplay_XPP_String ( const CEvaluationTree pTree) const [virtual]

Retrieve the display string of the node and its eventual child nodes in XPPAUT format.

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeOperator::getDisplayString ( const CEvaluationTree pTree) const [virtual]

Retrieve the display string of the node and its eventual child nodes.

Returns:
const Data & value

Reimplemented from CEvaluationNode.

std::string CEvaluationNodeOperator::getInfix ( ) const [virtual]

Retrieve the infix value of the node and its eventual child nodes.

Returns:
const Data & value

Reimplemented from CEvaluationNode.

CEvaluationNode * CEvaluationNodeOperator::getLeft ( )
const CEvaluationNode * CEvaluationNodeOperator::getLeft ( ) const
CEvaluationNode * CEvaluationNodeOperator::getRight ( )
const CEvaluationNode * CEvaluationNodeOperator::getRight ( ) const
CEvaluationNode * CEvaluationNodeOperator::simplifyNode ( const std::vector< CEvaluationNode * > &  children) const [virtual]

Create a simplified node for an operatorNode with children from vector (if not exist, = NULL), and assign new children

Returns:
CEvaluationNode* return a pointer to the simplified node;

Reimplemented from CEvaluationNode.

ASTNode * CEvaluationNodeOperator::toAST ( const CCopasiDataModel pDataModel) const [virtual]

Create a new ASTNode corresponding to this OperatorNode.

Returns:
ASTNode* return a pointer to the newly created node;

Reimplemented from CEvaluationNode.

virtual const C_FLOAT64& CEvaluationNodeOperator::value ( ) const [inline, virtual]

Retrieve the value of the node

Returns:
const C_FLOAT64 & value

Reimplemented from CEvaluationNode.

void CEvaluationNodeOperator::writeMathML ( std::ostream &  out,
const std::vector< std::vector< std::string > > &  env,
bool  expand = true,
unsigned C_INT32  l = 0 
) const [virtual]

generate display MathML recursively

Reimplemented from CEvaluationNode.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines