]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/vehicletype.h
Convert Catalogue to a Collection
[r2c2.git] / source / libr2c2 / vehicletype.h
index 1305a19263a2a11488e03ba95268d314d671abed..4a4d725cbab8daadabf7ec95cedf90017fa794a3 100644 (file)
@@ -25,6 +25,7 @@ public:
                void axle();
                void bogie();
                void function(unsigned, const std::string &);
+               void gauge(float);
                void height(float);
                void length(float);
                void mirror_rods();
@@ -148,10 +149,12 @@ public:
        class MirrorParametersLoader: public Msp::DataFile::Loader
        {
        public:
+               std::string filter;
                Angle phase_offset;
 
                MirrorParametersLoader();
        private:
+               void filt(const std::string &);
                void phase_offs(float);
        };
 
@@ -164,6 +167,7 @@ private:
        bool locomotive;
        FunctionMap functions;
        bool swap_direction;
+       float gauge;
        float length;
        float width;
        float height;
@@ -173,14 +177,16 @@ private:
        RodArray rods;
        std::string object;
        bool rotate_object;
+       float max_speed;
 
 public:
-       VehicleType(const ArticleNumber &);
+       VehicleType(const ArticleNumber & = ArticleNumber());
 
        bool is_locomotive() const { return locomotive; }
        unsigned get_max_function() const;
        const FunctionMap &get_functions() const { return functions; }
        bool get_swap_direction() const { return swap_direction; }
+       float get_gauge() const { return gauge; }
        float get_length() const { return length; }
        float get_width() const { return width; }
        float get_height() const { return height; }
@@ -196,6 +202,7 @@ public:
        float get_back_axle_offset() const;
        const std::string &get_object() const { return object; }
        bool get_rotate_object() const { return rotate_object; }
+       float get_maximum_speed() const { return max_speed; }
 };
 
 } // namespace R2C2