sensor_addr(0),
links(type.get_endpoints().size()),
active_path(0),
- path_changing(false)
+ path_changing(false),
+ preferred_exit(-1)
{
if(type.is_turnout())
{
layout.add(*this);
-
for(unsigned paths = type.get_paths(); !(paths&1); ++active_path, paths>>=1) ;
}
layout.create_blocks(*this);
}
+void Track::set_preferred_exit(int e)
+{
+ preferred_exit = e;
+}
+
void Track::set_active_path(unsigned p)
{
if(!type.is_turnout())
if(active_path==p)
return;
- signal_path_changing(p);
+ signal_path_changing.emit(p);
path_changing = true;
layout.get_driver().set_turnout(turnout_id, p);
}