]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouteplanner.cpp
Split vehicle placement code to a separate class
[r2c2.git] / source / libr2c2 / trainrouteplanner.cpp
index e75cec9cc6f9921f248dd76f89ecc8af80dc6067..770c0ea537897a01ee0f3a70ae5418f6aa78927d 100644 (file)
@@ -227,15 +227,14 @@ TrainRoutePlanner::TrainRoutingState::TrainRoutingState(TrainRoutingInfo &inf):
 {
        const Vehicle *veh = &info->train->get_vehicle(0);
        // TODO margins
-       float half_length = veh->get_type().get_length()/2;
-       TrackOffsetIter track_and_offs = veh->get_track_iter().advance(half_length);
+       TrackOffsetIter track_and_offs = veh->get_placement().get_position(VehiclePlacement::FRONT_BUFFER);
        track = track_and_offs.track_iter();
        offset = track_and_offs.offset();
        path = track->get_active_path();
 
        while(Vehicle *next = veh->get_link(1))
                veh = next;
-       track_and_offs = veh->get_track_iter().advance(-half_length);
+       track_and_offs = veh->get_placement().get_position(VehiclePlacement::BACK_BUFFER);
        back_offset = track_and_offs.offset();
 
        TrackIter iter = track_and_offs.track_iter();