- if(vehicles.count(&v.get_vehicle()))
- throw KeyError("Duplicate vehicle");
-
- vehicles[&v.get_vehicle()] = &v;
-}
-
-void Layout3D::remove_vehicle(Vehicle3D &v)
-{
- vehicles.erase(&v.get_vehicle());
-}
-
-Vehicle3D &Layout3D::get_vehicle(Vehicle &v) const
-{
- VehicleMap::const_iterator i = vehicles.find(&v);
- if(i==vehicles.end())
- throw KeyError("Unknown vehicle");
-
- return *i->second;
-}
-
-void Layout3D::track_added(Track &t)
-{
- new Track3D(*this, t);
-}
-
-void Layout3D::track_removed(Track &t)
-{
- TrackMap::iterator i = tracks.find(&t);
- if(i!=tracks.end())
- delete i->second;