]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/trainrouteplanner.h
Rename is_occupied to is_occupying
[r2c2.git] / source / libr2c2 / trainrouteplanner.h
index f50669cc2c53561c5ab29e0aebe52aef89154584..6dab635818f0c92163188f1e93e2a6ffa80a2119 100644 (file)
@@ -25,7 +25,7 @@ private:
                float speed;
                TrainRouter *router;
                Route *route;
-               std::list<TrainRoutingState *> waits;
+               std::list<const TrainRoutingState *> waits;
 
                TrainRoutingInfo(Train &);
        };
@@ -69,7 +69,8 @@ private:
                ~TrainRoutingState();
 
                Msp::Time::TimeDelta get_time_to_next_track() const;
-               bool is_occupied(Track &) const;
+               bool is_occupying(Track &) const;
+               bool check_arrival();
                void advance(float);
                void advance_track(unsigned);
        };
@@ -78,11 +79,12 @@ private:
        {
                Msp::Time::TimeDelta time;
                std::vector<TrainRoutingState> trains;
-               RoutingStep *prev;
+               const RoutingStep *prev;
 
                RoutingStep();
-               RoutingStep(RoutingStep *);
+               RoutingStep(const RoutingStep *);
 
+               void create_successors(std::list<RoutingStep> &) const;
                bool update_states();
                bool check_deadlocks() const;
                int get_occupant(Track &) const;
@@ -102,11 +104,8 @@ public:
 
        void plan();
 private:
-       bool update_states(RoutingStep &);
-       void add_steps(RoutingStep &, unsigned);
-       void add_waiting_step(RoutingStep &, unsigned);
-       void add_steps(RoutingStep &, TrainRoutingState &train);
-       void create_routes(RoutingStep &);
+       void add_steps(const RoutingStep &);
+       void create_routes(const RoutingStep &);
 };
 
 } // namespace R2C2