- const Catalogue::ObjectMap &obj_types = train.get_layout().get_catalogue().get_all();
- for(Catalogue::ObjectMap::const_iterator i=obj_types.begin(); i!=obj_types.end(); ++i)
- if(const VehicleType *vt = dynamic_cast<const VehicleType *>(i->second))
- {
- if(vt->is_locomotive())
- loco_types.append(vt);
- else
- wagon_types.append(vt);
- }
+ list<VehicleType *> veh_types = train.get_layout().get_catalogue().get_list<VehicleType>();
+ for(list<VehicleType *>::iterator i=veh_types.begin(); i!=veh_types.end(); ++i)
+ {
+ if((*i)->is_locomotive())
+ loco_types.append(*i);
+ else
+ wagon_types.append(*i);
+ }