+const VehicleType3D &Catalogue3D::get_vehicle(const VehicleType &vt) const
+{
+ map<const VehicleType *, VehicleType3D *>::const_iterator i = vehicles.find(&vt);
+ if(i==vehicles.end())
+ throw KeyError("Unknown vehicle type");
+
+ return *i->second;
+}
+
+void Catalogue3D::track_added(const TrackType &track)
+{
+ tracks[&track] = new TrackType3D(*this, track);
+}
+
+void Catalogue3D::vehicle_added(const VehicleType &veh)
+{
+ vehicles[&veh] = new VehicleType3D(*this, veh);
+}
+