throw logic_error("not a turnout");
if(!(type.get_paths()&(1<<p)))
throw invalid_argument("Track::set_active_path");
signal_path_changing(p);
path_changing = true;
throw logic_error("not a turnout");
if(!(type.get_paths()&(1<<p)))
throw invalid_argument("Track::set_active_path");
signal_path_changing(p);
path_changing = true;