]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/designer.cpp
Use generic objects in Layout3D
[r2c2.git] / source / designer / designer.cpp
index 61f0d9c00fb495ca08b98ec6654858a2c550d0b4..3db5d502d12f985928260077962a9c74bdaa9ffa 100644 (file)
@@ -154,9 +154,9 @@ Designer::Designer(int argc, char **argv):
        cat_view->view_all(true);
        main_view->view_all();
 
-       const Layout3D::TrackMap &tracks = layout_3d->get_tracks();
-       for(Layout3D::TrackMap::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
-               update_track_icon(*i->second);
+       const set<Track *> &tracks = layout->get_all<Track>();
+       for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
+               update_track_icon(layout_3d->get<Track3D>(**i));
 }
 
 Designer::~Designer()
@@ -213,7 +213,7 @@ void Designer::erase_tracks()
        selection.clear();
        for(set<Track *>::iterator i=tracks.begin(); i!=tracks.end(); ++i)
        {
-               overlay->clear(layout_3d->get_track(**i));
+               overlay->clear(layout_3d->get<Track3D>(**i));
                delete *i;
        }
 }
@@ -362,7 +362,7 @@ void Designer::tick()
        camera_ctl->tick(dt);
 
        for(list<Track *>::iterator i=new_tracks.begin(); i!=new_tracks.end(); ++i)
-               layout_3d->get_track(**i).get_path().set_mask(0);
+               layout_3d->get<Track3D>(**i).get_path().set_mask(0);
        new_tracks.clear();
 
        render();
@@ -435,7 +435,7 @@ void Designer::key_press(unsigned key)
                                if(*j!=*i)
                                        (*i)->snap_to(**j, true);
 
-                       update_track_icon(layout_3d->get_track(**i));
+                       update_track_icon(layout_3d->get<Track3D>(**i));
                }
        }
        else if(key==Msp::Input::KEY_F)
@@ -619,7 +619,7 @@ void Designer::track_properties_response(int)
 {
        const set<Track *> &tracks = selection.get_objects<Track>();
        for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
-               update_track_icon(layout_3d->get_track(**i));
+               update_track_icon(layout_3d->get<Track3D>(**i));
 }
 
 void Designer::route_name_accept(const string &text)
@@ -661,7 +661,7 @@ void Designer::clear_paths()
        const set<Track *> &ltracks = layout->get_all<Track>();
        for(set<Track *>::iterator i=ltracks.begin(); i!=ltracks.end(); ++i)
        {
-               Track3D &t3d = layout_3d->get_track(**i);
+               Track3D &t3d = layout_3d->get<Track3D>(**i);
                t3d.get_path().set_mask(0);
        }
 }
@@ -673,7 +673,7 @@ void Designer::show_route(const Route &route)
        const set<Track *> &rtracks = route.get_tracks();
        for(set<Track *>::iterator i=rtracks.begin(); i!=rtracks.end(); ++i)
        {
-               Track3D &t3d = layout_3d->get_track(**i);
+               Track3D &t3d = layout_3d->get<Track3D>(**i);
                t3d.get_path().set_color(GL::Color(0.5, 0.8, 1.0));
                int path = -1;
                if(unsigned tid = (*i)->get_turnout_id())
@@ -692,7 +692,7 @@ void Designer::show_zone(const Zone &zone)
        const Zone::TrackSet &ztracks = zone.get_tracks();
        for(Zone::TrackSet::const_iterator i=ztracks.begin(); i!=ztracks.end(); ++i)
        {
-               Track3D &t3d = layout_3d->get_track(**i);
+               Track3D &t3d = layout_3d->get<Track3D>(**i);
                t3d.get_path().set_color(GL::Color(0.8, 1.0, 0.5));
                t3d.get_path().set_mask((*i)->get_type().get_paths());
        }