]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouteplanner.h
Use a better cost estimator for the route planner
[r2c2.git] / source / libr2c2 / trainrouteplanner.h
index a191cb6b117417fb288b8035ddd2bf03415fe017..57d2de508cdc27be0dbc17c3953d24bc2d9c4c61 100644 (file)
@@ -63,7 +63,9 @@ private:
                TrainState state;
                Msp::Time::TimeDelta delay;
                int waypoint;
+               float distance_traveled;
                float remaining_estimate;
+               Msp::Time::TimeDelta wait_time;
                int blocked_by;
 
                TrainRoutingState(TrainRoutingInfo &);
@@ -74,6 +76,7 @@ private:
                bool is_occupying(Track &) const;
                bool check_arrival();
                void advance(float);
+               void advance(const Msp::Time::TimeDelta &);
                void advance_track(unsigned);
                void update_estimate();
        };
@@ -81,7 +84,7 @@ private:
        struct RoutingStep
        {
                Msp::Time::TimeDelta time;
-               Msp::Time::TimeDelta total_estimate;
+               Msp::Time::TimeDelta cost_estimate;
                std::vector<TrainRoutingState> trains;
                const RoutingStep *prev;