Exemplo n.º 1
0
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();
}
Exemplo n.º 2
0
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);
  }
}
Exemplo n.º 3
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();
}