11 <<
" 'Concurrent'/'Prompt' contradiction(s) found. Settings are mutually exclusive within a task group. " 12 "Discarding 'Prompt' for ";
28 if ( m_slot->controlFlowState[node.
getNodeIndex()] != -1 ) {
38 if ( child->getNodeName() == m_previousNodeName )
break;
40 if ( m_slot->controlFlowState[child->getNodeIndex()] == -1 ) {
47 this->visitParents( node );
58 parent->accept( *
this );
61 if ( this->
reply() )
break;
70 if ( m_slot->parentSlot && m_slot->entryPoint == node.
getNodeName() ) {
73 m_foundEntryPoint =
true;
79 m_foundEntryPoint = ( m_slot->parentSlot == nullptr );
81 parent->accept( *
this );
84 if ( this->
reply() )
break;
87 if ( oldSlot ) m_slot = oldSlot;
std::string reply() const
virtual void visitParents(DecisionNode &)
Class representing an event slot.
std::vector< DecisionNode * > m_parents
Direct parent nodes.
bool visit(DecisionNode &) override
bool visit(DecisionNode &) override
std::ostringstream m_status
const std::vector< ControlFlowNode * > & getDaughters() const
Get children nodes.
void visitParents(DecisionNode &) override
bool m_modePromptDecision
Whether to evaluate the hub decision ASA its child decisions allow to do that.
bool m_modeConcurrent
Whether all daughters will be evaluated concurrently or sequentially.
EventSlot * parentSlot
Pointer to parent slot (null for top level)
const std::string & getNodeName() const
Get node name.
const unsigned int & getNodeIndex() const
Get node index.