]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouteplanner.h
Start refactoring TrainRoutePlanner
[r2c2.git] / source / libr2c2 / trainrouteplanner.h
index b241150413905f718ca1eb6255603430fc8c4f64..f50669cc2c53561c5ab29e0aebe52aef89154584 100644 (file)
@@ -62,6 +62,7 @@ private:
                TrainState state;
                Msp::Time::TimeDelta delay;
                int waypoint;
+               int blocked_by;
 
                TrainRoutingState(TrainRoutingInfo &);
                TrainRoutingState(const TrainRoutingState &);
@@ -82,6 +83,10 @@ private:
                RoutingStep();
                RoutingStep(RoutingStep *);
 
+               bool update_states();
+               bool check_deadlocks() const;
+               int get_occupant(Track &) const;
+               int find_next_train() const;
                void advance(const Msp::Time::TimeDelta &);
                bool is_viable() const;
                bool is_goal() const;
@@ -98,7 +103,6 @@ public:
        void plan();
 private:
        bool update_states(RoutingStep &);
-       int find_next_train(RoutingStep &);
        void add_steps(RoutingStep &, unsigned);
        void add_waiting_step(RoutingStep &, unsigned);
        void add_steps(RoutingStep &, TrainRoutingState &train);