/* $Id$
This file is part of the MSP Märklin suite
-Copyright © 2006-2009 Mikkosoft Productions, Mikko Rasa
+Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa
Distributed under the GPL
*/
#include <map>
#include <msp/datafile/loader.h>
+#include "profile.h"
namespace Marklin {
public:
Loader(Catalogue &);
private:
+ void ballast_profile();
+ void gauge(float);
void locomotive(unsigned);
+ void rail_profile();
+ void scale(float, float);
void track(unsigned);
};
private:
+ float scale;
+ float gauge;
+ Profile rail_profile;
+ Profile ballast_profile;
std::map<unsigned, TrackType *> tracks;
std::map<unsigned, LocoType *> locos;
public:
+ Catalogue();
~Catalogue();
+ float get_scale() const { return scale; }
+ float get_gauge() const { return gauge; }
+ const Profile &get_rail_profile() const { return rail_profile; }
+ const Profile &get_ballast_profile() const { return ballast_profile; }
TrackType &get_track(unsigned) const;
const std::map<unsigned, TrackType *> &get_tracks() const { return tracks; }
LocoType &get_locomotive(unsigned) const;