- const set<Track *> &tracks = block.get_tracks();
- for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
- layout_3d.get_track(**i).get_path().set_color(color);
-}
-
-void Engineer::reset_block_color(const Block &block)
-{
- bool active = block.get_sensor().get_state()>Sensor::INACTIVE;
-
- if(block.get_train())
- {
- GL::Color color;
- map<Train *, GL::Color>::iterator i = train_colors.find(block.get_train());
- if(i!=train_colors.end())
- color = i->second;
-
- if(active)
- set_block_color(block, color*0.6);
- else
- set_block_color(block, color*0.5+0.5);
- }
- else if(active)
- set_block_color(block, GL::Color(0.6));
- else
- set_block_color(block, GL::Color(1));
-}
-
-Track *Engineer::pick_track(const Vector &p)
-{
- const GL::Vector3 &start = camera.get_position();
- GL::Vector4 ray = camera.unproject(GL::Vector4(p.x, p.y, 0, 0));
+ const GL::Vector3 &start = main_view.get_camera().get_position();
+ GL::Vector4 ray = main_view.get_camera().unproject(GL::Vector4(p.x, p.y, 0, 0));