]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/route.cpp
Add Route::get_path to streamline route traversal
[r2c2.git] / source / libmarklin / route.cpp
index 556cbf4014c57d474a5e7e604c01f08c7f1a5352..663bd8847c08f2467c1d9376b8900271bcba7428 100644 (file)
@@ -230,6 +230,17 @@ int Route::get_turnout(unsigned id) const
        return -1;
 }
 
+unsigned Route::get_path(Track &trk) const
+{
+       if(unsigned tid = trk.get_turnout_id())
+       {
+               map<unsigned, int>::const_iterator i = turnouts.find(tid);
+               if(i!=turnouts.end())
+                       return i->second;
+       }
+       return trk.get_active_path();
+}
+
 void Route::add_track(Track &trk)
 {
        if(tracks.count(&trk))