]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/vehicletype.h
Make LCD output selectable at runtime through an extra I/O pin
[r2c2.git] / source / libmarklin / vehicletype.h
index 2edf3bf55fee5242a11c73cb363327fcd70f4f61..7844825ea17111188e6c560475c9afffcf1d5e0c 100644 (file)
@@ -9,6 +9,7 @@ Distributed under the GPL
 #define LIBMARKLIN_VEHICLETYPE_H_
 
 #include <msp/datafile/objectloader.h>
+#include "articlenumber.h"
 
 namespace Marklin {
 
@@ -42,6 +43,7 @@ public:
                float position;
                float wheel_dia;
                bool powered;
+               std::string object;
 
                Axle();
        };
@@ -66,7 +68,7 @@ public:
        };
 
 private:
-       unsigned art_nr;
+       ArticleNumber art_nr;
        std::string name;
        bool locomotive;
        std::map<unsigned, std::string> functions;
@@ -78,9 +80,9 @@ private:
        std::string object;
 
 public:
-       VehicleType(unsigned);
+       VehicleType(const ArticleNumber &);
 
-       unsigned get_article_number() const { return art_nr; }
+       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;
@@ -90,6 +92,8 @@ public:
        float get_height() const { return height; }
        const std::vector<Axle> &get_axles() const { return axles; }
        const std::vector<Bogie> &get_bogies() const { return bogies; }
+       float get_front_axle_offset() const;
+       float get_back_axle_offset() const;
        const std::string &get_object() const { return object; }
 };