COPASI API
4.16.103
|
#include <CMathEvent.h>
Classes | |
class | CRoot |
Public Member Functions | |
void | allocate (const CEvent *pDataEvent, const CMathContainer &container) |
void | allocateDiscontinuous (const size_t &nRoots, const CMathContainer &container) |
bool | compile (CEvent *pDataEvent, CMathContainer &container) |
void | copy (const CTrigger &src, CMathContainer &container, const size_t &valueOffset, const size_t &objectOffset) |
CTrigger () | |
const CVector< CRoot > & | getRoots () const |
void | initialize (CMath::sPointers &pointers) |
void | setExpression (const std::string &infix, CMathContainer &container) |
~CTrigger () | |
Static Private Member Functions | |
static CEvaluationNode * | compile (const CEvaluationNode *pNode, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileAND (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileEQ (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileFUNCTION (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileLE (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileNE (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileNOT (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static CEvaluationNode * | compileVARIABLE (const CEvaluationNode *pNode, const std::vector< CEvaluationNode * > &children, const CMath::Variables< CEvaluationNode * > &variables, CMathEventN::CTrigger::CRoot *&pRoot, CMathContainer &container) |
static size_t | countRoots (const CEvaluationNode *pNode, const CMath::Variables< size_t > &variables) |
static size_t | countRootsDefault (const std::vector< size_t > &children) |
static size_t | countRootsEQ (const CEvaluationNode *pNode, const std::vector< size_t > &children) |
static size_t | countRootsFUNCTION (const CEvaluationNode *pNode, const std::vector< size_t > &children) |
static size_t | countRootsVARIABLE (const CEvaluationNode *pNode, const CMath::Variables< size_t > &variables) |
Private Attributes | |
bool | mDualAction |
CMathObject * | mpInitialTrigger |
CMathObject * | mpTrigger |
CVector< CRoot > | mRoots |
Definition at line 59 of file CMathEvent.h.
CMathEventN::CTrigger::CTrigger | ( | ) |
CMathEventN::CTrigger::~CTrigger | ( | ) |
void CMathEventN::CTrigger::allocate | ( | const CEvent * | pDataEvent, |
const CMathContainer & | container | ||
) |
Definition at line 163 of file CMathEvent.cpp.
References CExpression::compile(), CEvaluationTree::compile(), CEvaluationTree::getRoot(), CEvent::getTriggerExpression(), CFunction::setInfix(), CExpression::setInfix(), and CExpression::setIsBoolean().
Referenced by CMathEventN::allocate().
void CMathEventN::CTrigger::allocateDiscontinuous | ( | const size_t & | nRoots, |
const CMathContainer & | container | ||
) |
Definition at line 194 of file CMathEvent.cpp.
bool CMathEventN::CTrigger::compile | ( | CEvent * | pDataEvent, |
CMathContainer & | container | ||
) |
Definition at line 247 of file CMathEvent.cpp.
References CExpression::compile(), CMathEventN::compile(), CEvaluationTree::getRoot(), CEvent::getTriggerExpression(), CExpression::setInfix(), and CExpression::setIsBoolean().
Referenced by CMathEventN::compile().
|
staticprivate |
Definition at line 493 of file CMathEvent.cpp.
References CEvaluationNodeConstant::_NaN, CNodeIteratorMode::After, CEvaluationNodeLogical::AND, CEvaluationNodeVariable::ANY, CNodeIteratorMode::Before, C_INVALID_INDEX, CEvaluationNode::CALL, CEvaluationNode::CONSTANT, CNodeContextIterator< Node, Context >::context(), CMathContainer::copyBranch(), CEvaluationNode::copyNode(), CNodeContextIterator< Node, Context >::end(), CEvaluationNodeLogical::EQ, CEvaluationNodeCall::EXPRESSION, CEvaluationNodeConstant::FALSE, CEvaluationNodeCall::FUNCTION, CEvaluationNode::FUNCTION, CEvaluationNodeLogical::GE, CCopasiNode< _Data >::getData(), CEvaluationNodeVariable::getIndex(), CEvaluationNode::getType(), CEvaluationNodeLogical::GT, CEvaluationNode::isBoolean(), CEvaluationNodeLogical::LE, CEvaluationNode::LOGICAL, CEvaluationNodeLogical::LT, CEvaluationNodeLogical::NE, CNodeContextIterator< Node, Context >::next(), CEvaluationNodeFunction::NOT, CEvaluationNodeLogical::OR, CNodeContextIterator< Node, Context >::parentContextPtr(), CNodeContextIterator< Node, Context >::processingMode(), CNodeContextIterator< Node, Context >::setProcessingModes(), CNodeContextIterator< Node, Context >::skipChildren(), CEvaluationNodeConstant::TRUE, CEvaluationNode::type(), CEvaluationNode::VARIABLE, and CEvaluationNodeLogical::XOR.
|
staticprivate |
Definition at line 619 of file CMathEvent.cpp.
References CCopasiNode< _Data >::addChild(), CEvaluationNodeLogical::AND, CEvaluationNode::getType(), CEvaluationNodeLogical::OR, CEvaluationNode::subType(), and CEvaluationNodeLogical::XOR.
|
staticprivate |
Definition at line 655 of file CMathEvent.cpp.
References CCopasiNode< _Data >::addChild(), CEvaluationNodeLogical::AND, CEvaluationNodeLogical::EQ, CEvaluationNodeLogical::GE, and CCopasiNode< _Data >::getChild().
|
staticprivate |
Definition at line 789 of file CMathEvent.cpp.
References CMathEventN::compile().
|
staticprivate |
Definition at line 722 of file CMathEvent.cpp.
References CCopasiNode< _Data >::addChild(), CMathEventN::CTrigger::CRoot::compile(), CMathEventN::CTrigger::CRoot::createTriggerExpressionNode(), CEvaluationNodeLogical::GE, CEvaluationNode::getType(), CEvaluationNodeLogical::GT, CEvaluationNodeLogical::LE, CEvaluationNodeLogical::LT, CEvaluationNodeOperator::MINUS, and CEvaluationNode::subType().
|
staticprivate |
Definition at line 693 of file CMathEvent.cpp.
References CCopasiNode< _Data >::addChild(), CEvaluationNodeLogical::EQ, CEvaluationNodeFunction::NOT, and CCopasiNode< _Data >::removeChild().
|
staticprivate |
Definition at line 774 of file CMathEvent.cpp.
References CCopasiNode< _Data >::addChild(), and CEvaluationNodeFunction::NOT.
|
staticprivate |
Definition at line 813 of file CMathEvent.cpp.
References CEvaluationNodeConstant::_NaN, C_INVALID_INDEX, and CCopasiNode< _Data >::getData().
void CMathEventN::CTrigger::copy | ( | const CTrigger & | src, |
CMathContainer & | container, | ||
const size_t & | valueOffset, | ||
const size_t & | objectOffset | ||
) |
Copy an existing object
const | CTrigger & src |
CMathContainer | & container |
const | size_t & valueOffset |
const | size_t & objectOffset |
Definition at line 226 of file CMathEvent.cpp.
References CMathEventN::CTrigger::CRoot::copy(), mDualAction, mpInitialTrigger, mpTrigger, and mRoots.
Referenced by CMathEventN::copy().
|
staticprivate |
Definition at line 315 of file CMathEvent.cpp.
References CNodeIteratorMode::After, CEvaluationNodeVariable::ANY, CNodeIteratorMode::Before, CEvaluationNode::CALL, CNodeContextIterator< Node, Context >::context(), CNodeContextIterator< Node, Context >::end(), CEvaluationNodeLogical::EQ, CEvaluationNodeCall::EXPRESSION, CEvaluationNodeCall::FUNCTION, CEvaluationNodeLogical::GE, CEvaluationNode::getType(), CEvaluationNodeLogical::GT, CEvaluationNode::isBoolean(), CEvaluationNodeLogical::LE, CEvaluationNode::LOGICAL, CEvaluationNodeLogical::LT, CEvaluationNodeLogical::NE, CNodeContextIterator< Node, Context >::next(), CNodeContextIterator< Node, Context >::parentContextPtr(), CNodeContextIterator< Node, Context >::processingMode(), CNodeContextIterator< Node, Context >::setProcessingModes(), CNodeContextIterator< Node, Context >::skipChildren(), CEvaluationNode::subType(), CEvaluationNode::type(), and CEvaluationNode::VARIABLE.
|
staticprivate |
Definition at line 431 of file CMathEvent.cpp.
|
staticprivate |
|
staticprivate |
Definition at line 466 of file CMathEvent.cpp.
|
staticprivate |
const CVector< CMathEventN::CTrigger::CRoot > & CMathEventN::CTrigger::getRoots | ( | ) | const |
void CMathEventN::CTrigger::initialize | ( | CMath::sPointers & | pointers | ) |
Definition at line 200 of file CMathEvent.cpp.
References CMath::Event, CMath::EventTrigger, CMathEventN::CTrigger::CRoot::initialize(), CMathObject::initialize(), CMath::sPointers::pEventTriggers, CMath::sPointers::pEventTriggersObject, CMath::sPointers::pInitialEventTriggers, CMath::sPointers::pInitialEventTriggersObject, and CMath::SimulationTypeUndefined.
Referenced by CMathEventN::initialize().
void CMathEventN::CTrigger::setExpression | ( | const std::string & | infix, |
CMathContainer & | container | ||
) |
Set the trigger expression
const | std::string & infix |
CMathContainer | & container |
Definition at line 292 of file CMathEvent.cpp.
References CMathEventN::compile(), CMathEventN::CTrigger::CRoot::mpRoot, and CMathEventN::CTrigger::CRoot::mpRootState.
Referenced by CMathEventN::setTriggerExpression().
|
private |
Definition at line 203 of file CMathEvent.h.
Referenced by copy().
|
private |
Definition at line 201 of file CMathEvent.h.
Referenced by copy().
|
private |
Definition at line 200 of file CMathEvent.h.
Referenced by copy().
Definition at line 202 of file CMathEvent.h.
Referenced by copy().