- float dz = order.front().track->get_type().get_total_length()*dir*cur_slope;
- set_slope(order.front(), start_z, dz);
- start_z += dz;
- total_len -= order.front().track->get_type().get_total_length();
- order.erase(order.begin());
-
- dz = order.back().track->get_type().get_total_length()*dir*cur_slope;
- set_slope(order.back(), end_z-dz, dz);
- end_z -= dz;
- total_len -= order.back().track->get_type().get_total_length();
- order.erase(--order.end());
+ end_z -= order.back().track->get_type().get_path_length(0)*dir*cur_slope;
+ set_slope(order.back(), end_z, tilt);
+ total_len -= order.back().track->get_type().get_path_length(0);
+ order.pop_back();