- list<Track *> tmp_tracks;
- for(set<Object *>::iterator i=objects.begin(); i!=objects.end(); ++i)
- if(Track *track = dynamic_cast<Track *>(*i))
- tmp_tracks.push_back(track);
-
- Track *cur = neighbors.front();
- while(!tmp_tracks.empty())
- {
- bool rev = false;
- for(list<Track *>::iterator i=tmp_tracks.begin(); i!=tmp_tracks.end(); ++i)
+ TrackIter track;
+ for(set<Object *>::const_iterator i=objects.begin(); (!track && i!=objects.end()); ++i)
+ if(Track *t = dynamic_cast<Track *>(*i))