root->signal_pointer_motion.connect(sigc::mem_fun(this, &Engineer::pointer_motion));
root->set_visible(true);
- main_panel = new MainPanel(*this, ui_res);
+ main_panel = new MainPanel(*this);
root->add(*main_panel);
main_panel->set_position(0, window.get_height()-main_panel->get_geometry().h);
main_panel->set_visible(true);
delete picking_path;
picking_path = new Path3D(*track);
if(picking_entry>=0)
- picking_path->set_mask(picking_track->get_type().get_endpoints()[picking_entry].paths);
+ picking_path->set_mask(picking_track->get_type().get_endpoint(picking_entry).paths);
else
picking_path->set_mask(picking_track->get_type().get_paths());
picking_path->set_color(GL::Color(0));
else if(btn==3 && picking_entry>=0)
{
picking_entry = (picking_entry+1)%picking_track->get_type().get_endpoints().size();
- picking_path->set_mask(picking_track->get_type().get_endpoints()[picking_entry].paths);
+ picking_path->set_mask(picking_track->get_type().get_endpoint(picking_entry).paths);
}
}
else
void Engineer::view_all()
{
- const list<Track3D *> &tracks = layout_3d.get_tracks();
+ const Layout3D::TrackMap &tracks = layout_3d.get_tracks();
float view_aspect = float(window.get_width()-200)/window.get_height();
float view_height = tan(camera.get_field_of_view()/2)*2;
float max_x = 0;
float min_y = 0;
float max_y = 0;
- for(list<Track3D *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
+ for(Layout3D::TrackMap::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
{
Point minp, maxp;
- (*i)->get_bounds(angle, minp, maxp);
+ i->second->get_bounds(angle, minp, maxp);
min_x = min(min_x, minp.x);
max_x = max(max_x, maxp.x);
min_y = min(min_y, minp.y);
void Engineer::train_added(Train &train)
{
- TrainPanel *tpanel = new TrainPanel(*this, ui_res, train);
+ TrainPanel *tpanel = new TrainPanel(*this, train);
root->add(*tpanel);
train_panels.push_back(tpanel);
rearrange_panels();