X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftracktype.h;h=56d164f1b652a308a58a7ec1b0cf7505d6491631;hb=145ba6391812e2b1040a78a8f0fda5888bfea610;hp=181cb21d4f8be4cf70559329df53c081807e4872;hpb=64d23de66c33d0f77454c3db2e40cccc18f7851b;p=r2c2.git diff --git a/source/libr2c2/tracktype.h b/source/libr2c2/tracktype.h index 181cb21..56d164f 100644 --- a/source/libr2c2/tracktype.h +++ b/source/libr2c2/tracktype.h @@ -9,6 +9,8 @@ namespace R2C2 { +class TrackAppearance; + class TrackType: public ObjectType { public: @@ -39,6 +41,7 @@ public: }; private: + const TrackAppearance &appearance; std::vector parts; std::vector endpoints; unsigned state_bits; @@ -46,12 +49,14 @@ private: std::string object; public: - TrackType(const ArticleNumber &); + TrackType(const ArticleNumber &, const TrackAppearance &); + const TrackAppearance &get_appearance() const { return appearance; } float get_total_length() const; float get_path_length(int) const; unsigned get_paths() const; unsigned get_n_paths() const; + unsigned coerce_path(unsigned, unsigned) const; unsigned get_state_bits() const { return state_bits; } bool is_turnout() const; bool is_dead_end() const;