void ActivityExecution::updateNodes() { for(size_t i=0; i<_actionsRunning.size();) { bool increase=true; for(size_t j=0; j<_toExecuteNodes.size();) { if(_actionsRunning[i].first == _toExecuteNodes[j]->getPartition_at(0)->getName() && _actionsRunning[i].second == clean(_toExecuteNodes[j]->getName())) { //cerr << _toExecuteNodes[j]->getName() << " en cours d'execution"<<endl; _runningNodes.push_back(_toExecuteNodes[j]); StlVectorFastErase(_toExecuteNodes,j); StlVectorFastErase(_actionsRunning,i); increase=false; break; } else { j++; } } if(increase) i++; } for(size_t i=0; i<_actionsDone.size();) { bool increase=true; for(size_t j=0; j<_runningNodes.size();) { if(_actionsDone[i].first == _runningNodes[j]->getPartition_at(0)->getName() && _actionsDone[i].second == clean(_runningNodes[j]->getName())) { //cerr << _runningNodes[j]->getName() << " terminé"<<endl; //cerr << "find next of "<< _runningNodes[j]->getName() <<endl; vector< shared_ptr < ActionNode> > next = _runningNodes[j]->getOutgoingActionNode(); for (size_t iN = 0; iN < next.size() ; iN++) { //cerr << _runningNodes[j]->getName()<<" nextNode: "<<next[iN]->getName()<<endl; _toExecuteNodes.push_back(next[iN]); } StlVectorFastErase(_runningNodes,j); StlVectorFastErase(_actionsDone,i); break; } else { j++; } } if(increase) i++; } }
void Axis::removeRenderer(ArRef<Renderer3D> renderer) { for(size_t i = _renderers.size(); i--;) { if(renderer == _renderers[i]) { renderer->addOSD(_axis); renderer->addOSD(_inOsd); renderer->addOSD(_outOsd); StlVectorFastErase(_renderers, i); return; } } }
void OSDSelector::removeItem(ArRef<OSDSelectorItem> item) { for(int i = _items.size(); i--;) { if(_items[i] == item) { StlVectorFastErase(_items, i); /* if(_items.empty()) { _selectedItem = 0; } else { if(_selectedItem == i) { selectItem(_items[0]); } } */ _selectedItem = 0; if(_window) { _window->removeOSD(item); _rebuild(); } return; } } }