X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fblock.h;h=41f904096c0820a33c95bb96cce1df0cd1a60f77;hb=8e3009751ee81e0e5312cae53ee844bdd9e49628;hp=23a48c0ffbc40344ee3c98a04c5e6833a3173613;hpb=2029c5e4220e0809a39744a28ca9e2ff22e8ad28;p=r2c2.git diff --git a/source/libmarklin/block.h b/source/libmarklin/block.h index 23a48c0..41f9040 100644 --- a/source/libmarklin/block.h +++ b/source/libmarklin/block.h @@ -16,6 +16,7 @@ namespace Marklin { class Layout; class Route; +class TrackIter; class Train; class Block @@ -50,9 +51,9 @@ public: const std::set &get_tracks() const { return tracks; } bool has_track(Track &) const; const std::vector &get_endpoints() const { return endpoints; } + const Endpoint &get_endpoint(unsigned) const; int get_endpoint_by_link(Block &) const; - unsigned traverse(unsigned, float * =0) const; - unsigned traverse(unsigned, const Route *, float * =0) const; + float get_path_length(unsigned, const Route * = 0) const; void check_link(Block &); void break_link(Block &); Block *get_link(unsigned) const; @@ -60,7 +61,7 @@ public: Train *get_train() const { return train; } void print_debug(); private: - void find_paths(Track &, unsigned, unsigned, std::set &); + void find_paths(TrackIter, unsigned); void determine_id(); };