for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
{
if(unsigned tid=(*i)->get_turnout_id())
- new Turnout(control, tid, (*i)->get_type().get_n_routes()>=3);
+ new Turnout(control, tid, (*i)->get_type().get_n_paths()>=3);
if(unsigned sid=(*i)->get_sensor_id())
if(!control.get_sensors().count(sid))
new Sensor(control, sid);
delete *i;
}
+Block &TrafficManager::get_block(unsigned id) const
+{
+ for(list<Block *>::const_iterator i=blocks.begin(); i!=blocks.end(); ++i)
+ if((*i)->get_id()==id)
+ return **i;
+
+ throw KeyError("Unknown block", lexical_cast(id));
+}
+
Block &TrafficManager::get_block_by_track(const Track &t) const
{
for(list<Block *>::const_iterator i=blocks.begin(); i!=blocks.end(); ++i)
}
}
-void TrafficManager::turnout_route_changed(unsigned, Turnout *)
+void TrafficManager::turnout_path_changed(unsigned, Turnout *)
{
}