X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fcatalogue.h;h=9a21c5ebadcc15c3e8f57b4257be9293af18891a;hb=25c26706d400228110e14a4a9a9765cb1298372d;hp=e531941b40fb6e1c072491f90094b2ae8164ce1a;hpb=c0c5a34d1056eabdebd350da3534e24c902c0dac;p=r2c2.git diff --git a/source/libmarklin/catalogue.h b/source/libmarklin/catalogue.h index e531941..9a21c5e 100644 --- a/source/libmarklin/catalogue.h +++ b/source/libmarklin/catalogue.h @@ -15,8 +15,8 @@ Distributed under the GPL namespace Marklin { -class LocoType; class TrackType; +class VehicleType; class Catalogue { @@ -29,19 +29,23 @@ public: void ballast_profile(); void gauge(float); void layout(); - void locomotive(unsigned); void rail_profile(); void scale(float, float); void track(unsigned); + void vehicle(unsigned); }; + sigc::signal signal_track_added; + sigc::signal signal_vehicle_added; + private: float scale; float gauge; Profile rail_profile; Profile ballast_profile; + Profile path_profile; std::map tracks; - std::map locos; + std::map vehicles; Layout layout; public: @@ -50,12 +54,19 @@ public: float get_scale() const { return scale; } float get_gauge() const { return gauge; } + float get_rail_elevation() const; const Profile &get_rail_profile() const { return rail_profile; } const Profile &get_ballast_profile() const { return ballast_profile; } - TrackType &get_track(unsigned) const; + const Profile &get_path_profile() const { return path_profile; } + + void add_track(TrackType &); + const TrackType &get_track(unsigned) const; const std::map &get_tracks() const { return tracks; } - LocoType &get_locomotive(unsigned) const; - const std::map &get_locomotives() const { return locos; } + + void add_vehicle(VehicleType &); + const VehicleType &get_vehicle(unsigned) const; + const std::map &get_vehicles() const { return vehicles; } + Layout &get_layout() { return layout; } };