#define LIBR2C2_VEHICLETYPE_H_
#include <msp/datafile/objectloader.h>
-#include "articlenumber.h"
#include "geometry.h"
+#include "objecttype.h"
namespace R2C2 {
-class VehicleType
+class VehicleType: public ObjectType
{
public:
- class Loader: public Msp::DataFile::ObjectLoader<VehicleType>
+ class Loader: public Msp::DataFile::DerivedObjectLoader<VehicleType, ObjectType::Loader>
{
private:
std::map<std::string, unsigned> rod_tags;
typedef std::map<unsigned, std::string> FunctionMap;
private:
- ArticleNumber art_nr;
- std::string name;
bool locomotive;
FunctionMap functions;
bool swap_direction;
public:
VehicleType(const ArticleNumber &);
- const ArticleNumber &get_article_number() const { return art_nr; }
- const std::string &get_name() const { return name; }
bool is_locomotive() const { return locomotive; }
unsigned get_max_function() const;
const FunctionMap &get_functions() const { return functions; }