3 #include "trackchain.h"
10 TrackChain3D::TrackChain3D(Layout3D &l, TrackChain &r):
15 chain.signal_track_added.connect(sigc::mem_fun(this, &TrackChain3D::track_added));
16 chain.signal_track_removed.connect(sigc::mem_fun(this, &TrackChain3D::track_removed));
18 const TrackChain::TrackSet &tracks = chain.get_tracks();
19 for(TrackChain::TrackSet::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
23 TrackChain3D::~TrackChain3D()
25 for(PathMap::iterator i=paths.begin(); i!=paths.end(); ++i)
29 void TrackChain3D::set_color(const GL::Color &c)
32 for(PathMap::iterator i=paths.begin(); i!=paths.end(); ++i)
33 i->second->set_color(color);
36 void TrackChain3D::set_layer(float l)
39 for(PathMap::iterator i=paths.begin(); i!=paths.end(); ++i)
40 i->second->set_layer(layer);
43 void TrackChain3D::track_added(Track &track)
45 Track3D &track_3d = layout.get_3d(track);
46 Path3D *path = new Path3D(track_3d);
47 paths.insert(PathMap::value_type(&track, path));
48 path->set_color(color);
49 path->set_layer(layer);
52 void TrackChain3D::track_removed(Track &track)
54 PathMap::iterator i = paths.find(&track);