#include <map>
#include <vector>
+#include "trackchain.h"
namespace R2C2 {
class Layout;
class Track;
-class TrackChain;
// Metrics store iterators facing away from the goal
class TrainRouteMetric
public:
TrainRouteMetric() { }
- TrainRouteMetric(const TrackChain &);
+ TrainRouteMetric(const TrackChain &, TrackChain::Direction = TrackChain::UNSPECIFIED);
void chain_to(const TrainRouteMetric &);
+ float get_distance_from(const Track &) const;
float get_distance_from(const Track &, unsigned) const;
+ float get_travel_multiplier(const Track &, unsigned) const;
};
} // namespace R2C2