+ TrackMap::iterator i = tracks.find(&t);
+ if(i!=tracks.end())
+ delete i->second;
+}
+
+void Layout3D::vehicle_added(Vehicle &v)
+{
+ new Vehicle3D(*this, v);
+}
+
+void Layout3D::vehicle_removed(Vehicle &v)
+{
+ VehicleMap::iterator i = vehicles.find(&v);
+ if(i!=vehicles.end())
+ delete i->second;
+}
+
+void Layout3D::signal_added(Signal &s)
+{
+ new Signal3D(*this, s);
+}
+
+void Layout3D::signal_removed(Signal &s)
+{
+ SignalMap::iterator i = signals.find(&s);
+ if(i!=signals.end())
+ delete i->second;