throw logic_error("not a turnout");
if(!(type.get_paths()&(1<<p)))
throw invalid_argument("Track::set_active_path");
throw logic_error("not a turnout");
if(!(type.get_paths()&(1<<p)))
throw invalid_argument("Track::set_active_path");
-void Track::turnout_event(unsigned addr, unsigned state)
+void Track::save_dynamic(list<DataFile::Statement> &st) const
+{
+ if(turnout_addr)
+ st.push_back((DataFile::Statement("path"), active_path));
+}
+
+void Track::turnout_event(unsigned id, unsigned state)
add("position", &Loader::position);
add("rotation", &Loader::rotation);
add("tilt", &Loader::tilt);
add("position", &Loader::position);
add("rotation", &Loader::rotation);
add("tilt", &Loader::tilt);
void Track::Loader::position(float x, float y, float z)
{
obj.set_position(Vector(x, y, z));
void Track::Loader::position(float x, float y, float z)
{
obj.set_position(Vector(x, y, z));