+ else if(m==FRONT_BUFFER)
+ track_pos.advance(-type.get_length()/2);
+ else if(m==BACK_AXLE)
+ {
+ float back = type.get_length()/2;
+ if(!type.get_axles().empty())
+ back = type.get_axles().back().position;
+ if(!type.get_bogies().empty())
+ {
+ const VehicleType::Bogie &bogie = type.get_bogies().back();
+ back = min(back, bogie.position+bogie.axles.back().position);
+ }
+ track_pos.advance(-back);
+ }
+ else if(m==BACK_BUFFER)
+ track_pos.advance(type.get_length()/2);
+