]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/vehicletype.cpp
Fix an error in s88w-t diagram
[r2c2.git] / source / libr2c2 / vehicletype.cpp
index b9c6ed2f72fe093c37043d3504bc226b225abe84..4f640193d025f433a86c81a2d5813c112200890d 100644 (file)
@@ -27,6 +27,36 @@ unsigned VehicleType::get_max_function() const
        return (--functions.end())->first;
 }
 
+const VehicleType::Axle &VehicleType::get_axle(unsigned i) const
+{
+       if(i>=axles.size())
+               throw InvalidParameterValue("Axle index out of range");
+       return axles[i];
+}
+
+const VehicleType::Bogie &VehicleType::get_bogie(unsigned i) const
+{
+       if(i>=bogies.size())
+               throw InvalidParameterValue("Axle index out of range");
+       return bogies[i];
+}
+
+const VehicleType::Axle &VehicleType::get_bogie_axle(unsigned i, unsigned j) const
+{
+       if(i>=bogies.size())
+               throw InvalidParameterValue("Axle index out of range");
+       if(j>=bogies[i].axles.size())
+               throw InvalidParameterValue("Axle index out of range");
+       return bogies[i].axles[j];
+}
+
+const VehicleType::Rod &VehicleType::get_rod(unsigned i) const
+{
+       if(i>=rods.size())
+               throw InvalidParameterValue("Rod index out of range");
+       return rods[i];
+}
+
 float VehicleType::get_front_axle_offset() const
 {
        float front = length/2;