26 #include "sbml/math/ASTNode.h"
27 #include "sbml/SBase.h"
28 #include "sbml/SBMLTypeCodes.h"
29 #include "sbml/Compartment.h"
30 #include "sbml/Species.h"
31 #include "sbml/Parameter.h"
32 #include "sbml/Reaction.h"
37 mRegisteredObjectCN(
"")
44 mRegisteredObjectCN(data.substr(1, data.length() - 2))
52 mRegisteredObjectCN(
"")
61 mpObject(src.mpObject),
62 mRegisteredObjectCN(src.mRegisteredObjectCN)
80 if (!pExpression)
return false;
87 if (pDataObject != NULL)
93 if (
mpObject != pObject && pObject != NULL)
112 mValue = std::numeric_limits<C_FLOAT64>::quiet_NaN();
137 static std::string data;
185 if (!pExpression)
return false;
228 assert(pASTNode->getNumChildren() == children.size());
232 switch (pASTNode->getType())
234 case AST_NAME_AVOGADRO:
249 ASTNode* node =
new ASTNode();
250 node->setType(AST_NAME);
254 node->setType(AST_FUNCTION);
264 node->addChild(child->
toAST(pDataModel));
272 if (pOrigObject == NULL)
290 const CModel* pModel =
dynamic_cast<const CModel*
>(pME);
294 #if LIBSBML_VERSION >= 40100
298 node->setType(AST_NAME_AVOGADRO);
299 node->setName(
"avogadro");
303 #endif // LIBSBML_VERSION >= 40100
304 node->setType(AST_NAME_TIME);
305 node->setName(
"time");
312 #if LIBSBML_VERSION >= 40100
315 #endif // LIBSBML_VERSION >= 40100
331 node->setName(pPara->
getCN().c_str());
339 node->setName(pReaction->
getSBMLId().c_str());
366 assert(pObjectValue);
392 const std::vector< std::vector< std::string > > & )
const
394 std::ostringstream out;
398 if (pDataObject == NULL)
402 if (pMathObject != NULL)
Header file of class CExpression.
static std::string getMMLName(const CCopasiObject *obj)
CCopasiObject * getDataObject(const CCopasiObjectName &CN) const
virtual ASTNode * toAST(const CCopasiDataModel *pDataModel) const
static CEvaluationNode * fromAST(const ASTNode *pASTNode, const std::vector< CEvaluationNode * > &children)
virtual std::string getObjectDisplayName(bool regular=true, bool richtext=false) const
virtual std::string getDisplayString(const std::vector< std::string > &children) const
const std::string & getSBMLId() const
const CObjectInterface * getObjectInterfacePtr() const
const std::string & getObjectName() const
const CObjectInterface * getNodeObject(const CCopasiObjectName &CN) const
virtual CCopasiObjectName getCN() const =0
const CRegisteredObjectName & getObjectCN() const
void setObjectValuePtr(C_FLOAT64 *pObjectValue)
virtual ~CEvaluationNodeObject()
std::string pointerToString(const void *pVoid)
virtual std::string getInfix(const std::vector< std::string > &children) const
const CObjectInterface * mpObject
const std::string & getSBMLId() const
CRegisteredObjectName mRegisteredObjectCN
virtual std::string getBerkeleyMadonnaString(const std::vector< std::string > &children) const
virtual std::string getXPPString(const std::vector< std::string > &children) const
const C_FLOAT64 & getInitialTime() const
Header file of class CCopasiContainer.
static Type subType(const Type &type)
const C_FLOAT64 * getObjectValuePtr() const
virtual CCopasiObjectName getCN() const
class CEvaluationNode::CPrecedence mPrecedence
void * stringToPointer(const std::string str)
virtual ASTNode * toAST(const CCopasiDataModel *pDataModel) const
virtual std::string getMMLString(const std::vector< std::string > &children, bool expand, const std::vector< std::vector< std::string > > &variables) const
virtual bool setData(const Data &data)
virtual std::string getCCodeString(const std::vector< std::string > &children) const
virtual bool compile(const CEvaluationTree *pTree)
#define PRECEDENCE_NUMBER
virtual void * getValuePointer() const =0
const C_FLOAT64 * mpValue
virtual const Data & getData() const
virtual const CCopasiObject * getValueObject() const
CCopasiNode< Data > * getChild()
CCopasiContainer * getObjectParent() const
const CCopasiObject * getDataObject() const