layout(l),
catalogue(layout.get_catalogue())
{
+ // South, 15° from zenith
+ sun.set_position(0, -0.259, 0.966, 0);
+ lighting.attach(0, sun);
+
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));
delete vehicles.begin()->second;
}
+void Layout3D::get_bounds(Vector &minp, Vector &maxp) const
+{
+ minp = maxp = Vector();
+
+ for(TrackMap::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
+ {
+ Vector tmin;
+ Vector tmax;
+ i->second->get_bounds(0, tmin, tmax);
+ minp.x = min(minp.x, tmin.x);
+ minp.y = min(minp.y, tmin.y);
+ maxp.x = max(maxp.x, tmax.x);
+ maxp.y = max(maxp.y, tmax.y);
+ }
+}
+
void Layout3D::add_track(Track3D &t)
{
if(tracks.count(&t.get_track()))