]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouteplanner.h
Limit timestep to 10 milliseconds
[r2c2.git] / source / libr2c2 / trainrouteplanner.h
index 79a6036e6d1fbe5b8c7a6c23a70f616a8d6c6216..85f5f6501321e328b2db36a70a0a79c9c18b59e4 100644 (file)
@@ -79,6 +79,7 @@ private:
                Msp::Time::TimeDelta delay;
                Msp::Time::TimeDelta duration;
                unsigned waypoint;
+               float travel_multiplier;
                float distance_traveled;
                float remaining_estimate;
                Msp::Time::TimeDelta wait_time;
@@ -96,6 +97,7 @@ private:
                void advance(float);
                void advance(const Msp::Time::TimeDelta &);
                void advance_track(unsigned);
+               void set_path(unsigned);
                void update_estimate();
                bool is_viable() const;
        };
@@ -103,8 +105,8 @@ private:
        struct RoutingStep
        {
                Msp::Time::TimeDelta time;
-               Msp::Time::TimeDelta penalty;
                Msp::Time::TimeDelta cost_estimate;
+               bool preferred;
                std::vector<TrainRoutingState> trains;
                const RoutingStep *prev;
 
@@ -141,6 +143,7 @@ private:
        std::list<RoutingStep> steps;
        std::list<RoutingStep> queue;
        const RoutingStep *goal;
+       Msp::Time::TimeDelta path_switch_bias;
        Msp::Time::TimeDelta timeout;
        Result result;
        PlanningThread *thread;