void AbstractValue::observeTransitions(const TransitionVector& vector) { if (m_type & SpecCell) { m_structure.observeTransitions(vector); ArrayModes newModes = 0; for (unsigned i = vector.size(); i--;) { if (m_arrayModes & asArrayModes(vector[i].previous->indexingType())) newModes |= asArrayModes(vector[i].next->indexingType()); } m_arrayModes |= newModes; } checkConsistency(); }
mitk::StateMachineTransition::Pointer mitk::StateMachineState::GetTransition( const std::string& eventClass, const std::string& eventVariant) { TransitionVector transitions = this->GetTransitionList( eventClass, eventVariant ); if ( transitions.size() > 1 ) { MITK_WARN << "Multiple transitions have been found for event. Use non-deprecated method StateMachineState::GetTransitionList() instead!"; } if ( transitions.empty() ) { return NULL; } else { return transitions.at(0); } }
void StructureAbstractValue::observeTransitions(const TransitionVector& vector) { SAMPLE("StructureAbstractValue observeTransitions"); if (isTop()) return; StructureSet newStructures; for (unsigned i = vector.size(); i--;) { ASSERT(!vector[i].previous->dfgShouldWatch()); if (!m_set.contains(vector[i].previous)) continue; newStructures.add(vector[i].next); } if (!m_set.merge(newStructures)) return; if (m_set.size() > polymorphismLimit) makeTop(); }