X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftrainrouteplanner.h;h=6dab635818f0c92163188f1e93e2a6ffa80a2119;hb=4232c65cb556d278dee218866de77402ff888f1e;hp=f50669cc2c53561c5ab29e0aebe52aef89154584;hpb=8c31771a3252f3717ce53fd33567c74003c7cd1a;p=r2c2.git diff --git a/source/libr2c2/trainrouteplanner.h b/source/libr2c2/trainrouteplanner.h index f50669c..6dab635 100644 --- a/source/libr2c2/trainrouteplanner.h +++ b/source/libr2c2/trainrouteplanner.h @@ -25,7 +25,7 @@ private: float speed; TrainRouter *router; Route *route; - std::list waits; + std::list 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 trains; - RoutingStep *prev; + const RoutingStep *prev; RoutingStep(); - RoutingStep(RoutingStep *); + RoutingStep(const RoutingStep *); + void create_successors(std::list &) 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