-void Designer::track_removed(Track &trk)
-{
- list<Track *>::iterator i = find(new_tracks.begin(), new_tracks.end(), &trk);
- if(i!=new_tracks.end())
- new_tracks.erase(i);
-}
-
-Track *Designer::pick_track(int x, int y)
-{
- float xx = x*2.0/window.get_width()-1.0;
- float yy = y*2.0/window.get_height()-1.0;
- if(mode==CATALOGUE)
- return catalogue.get_layout().pick_track(Vector(0, 0, 1), Vector(xx*0.05523, yy*0.042421, -0.1));
- else
- {
- const GL::Vector3 &cpos = camera.get_position();
- GL::Vector4 cray = camera.unproject(GL::Vector4(xx, yy, 0, 0));
- return layout->pick_track(Vector(cpos.x, cpos.y, cpos.z), Vector(cray.x, cray.y, cray.z));
- }