-void Layout::add_signal(Signal &s)
-{
- if(signals.insert(&s).second)
- signal_signal_added.emit(s);
-}
-
-void Layout::remove_signal(Signal &s)
-{
- if(signals.erase(&s))
- signal_signal_removed.emit(s);
-}
-
-Track *Layout::pick_track(const Vector &start, const Vector &ray)
-{
- for(set<Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
- if((*i)->collide_ray(start, ray))
- return *i;
-
- return 0;
-}
-