+ if(reverse)
+ {
+ unsigned exit = block.traverse(entry);
+ const Block::Endpoint &bep = block.get_endpoints()[exit];
+ Track *track = bep.track->get_link(bep.track_ep);
+ unsigned ep = track->get_endpoint_by_link(*bep.track);
+ vehicles.front()->place(track, ep, 0, Vehicle::FRONT_BUFFER);
+ }
+ else
+ {
+ const Block::Endpoint &bep = block.get_endpoints()[entry];
+ vehicles.front()->place(bep.track, bep.track_ep, 0, Vehicle::BACK_BUFFER);
+ }