]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/vehicletype.cpp
Make the axles of vehicles rotate when moving
[r2c2.git] / source / 3d / vehicletype.cpp
index 93601f75e12d56993df015f8f5de7417e493f5bc..2ddd34db08cc4515753f1eeb3171acee973e57d2 100644 (file)
@@ -51,6 +51,10 @@ VehicleType3D::VehicleType3D(const Catalogue3D &c, const VehicleType &t):
                for(vector<VehicleType::Axle>::const_iterator j=i->axles.begin(); j!=i->axles.end(); ++j)
                        axle_objects.back().push_back(get_object(j->object));
        }
+
+       const vector<VehicleType::Rod> &rods = type.get_rods();
+       for(vector<VehicleType::Rod>::const_iterator i=rods.begin(); i!=rods.end(); ++i)
+               rod_objects.push_back(get_object(i->object));
 }
 
 VehicleType3D::~VehicleType3D()
@@ -82,6 +86,13 @@ const GL::Object *VehicleType3D::get_bogie_axle_object(unsigned i, unsigned j) c
        return axle_objects[i+1][j];
 }
 
+const GL::Object *VehicleType3D::get_rod_object(unsigned i) const
+{
+       if(i>=rod_objects.size())
+               throw InvalidParameterValue("Rod index out of range");
+       return rod_objects[i];
+}
+
 GL::Object *VehicleType3D::get_object(const string &name)
 {
        if(name.empty())