+void Layout3D::add_vehicle(Vehicle3D &v)
+{
+ vehicles.push_back(&v);
+}
+
+void Layout3D::remove_vehicle(Vehicle3D &v)
+{
+ list<Vehicle3D *>::iterator i = find(vehicles.begin(), vehicles.end(), &v);
+ if(i!=vehicles.end())
+ vehicles.erase(i);
+}
+
+Vehicle3D &Layout3D::get_vehicle(const Vehicle &v) const
+{
+ for(list<Vehicle3D *>::const_iterator i=vehicles.begin(); i!=vehicles.end(); ++i)
+ if(&(*i)->get_vehicle()==&v)
+ return **i;
+
+ throw KeyError("Unknown vehicle");
+}
+