- const TrackChain *get_destination() const { return destination; }
- bool is_destination(Track &) const;
+ const TrackChain *get_destination() const { return waypoints.empty() ? 0 : waypoints.back().chain; }
+ void add_waypoint(const TrackChain &, TrackChain::Direction = TrackChain::UNSPECIFIED);
+ unsigned get_n_waypoints() const { return waypoints.size(); }
+ const Waypoint &get_waypoint(unsigned) const;
+ const TrainRouteMetric &get_metric(int = -1) const;