]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/trafficmanager.cpp
Take z coordinate into account when computing points on tracks
[r2c2.git] / source / libmarklin / trafficmanager.cpp
index b7301d3dd63e19674ebc0f0896c9aa1ce3ff6f5e..b652d04cc5eeddb483ae9eb6792b9725f9240ca6 100644 (file)
@@ -31,9 +31,10 @@ TrafficManager::TrafficManager(Control &c, Layout &l):
        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())
-                       new Sensor(control, sid);
+                       if(!control.get_sensors().count(sid))
+                               new Sensor(control, sid);
 
                if(used_tracks.count(*i)==0)
                {
@@ -114,7 +115,7 @@ void TrafficManager::save(const string &fn) const
        }
 }
 
-void TrafficManager::turnout_route_changed(unsigned, Turnout *)
+void TrafficManager::turnout_path_changed(unsigned, Turnout *)
 {
 }