]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouteplanner.cpp
Set routes created by the planner as temporary
[r2c2.git] / source / libr2c2 / trainrouteplanner.cpp
index e75cec9cc6f9921f248dd76f89ecc8af80dc6067..c5455899e6befc6f9f7e7c6830e7234d1357e5f5 100644 (file)
@@ -157,6 +157,7 @@ void TrainRoutePlanner::create_routes(RoutingStep &goal)
        {
                i->route = new Route(i->train->get_layout());
                i->route->set_name("Router");
+               i->route->set_temporary(true);
        }
 
        for(RoutingStep *i=&goal; i; i=i->prev)
@@ -227,15 +228,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();