- layout.signal_track_added.connect(sigc::mem_fun(this, &Layout3D::track_added));
- layout.signal_track_removed.connect(sigc::mem_fun(this, &Layout3D::track_removed));
- layout.signal_vehicle_added.connect(sigc::mem_fun(this, &Layout3D::vehicle_added));
- layout.signal_vehicle_removed.connect(sigc::mem_fun(this, &Layout3D::vehicle_removed));
-
- const set<Track *> <racks = layout.get_tracks();
- for(set<Track *>::iterator i=ltracks.begin(); i!=ltracks.end(); ++i)
- track_added(**i);
-}
-
-Layout3D::~Layout3D()
-{
- while(!tracks.empty())
- delete tracks.begin()->second;
- while(!vehicles.empty())
- delete vehicles.begin()->second;
-}
-
-void Layout3D::add_track(Track3D &t)
-{
- if(tracks.count(&t.get_track()))
- throw KeyError("Duplicate track");
+ // South, 15° from zenith
+ sun.set_position(0, -0.259, 0.966, 0);
+ lighting.attach(0, sun);