+void VehicleType::Loader::finish()
+{
+ for(unsigned i=0; i<obj.bogies.size(); ++i)
+ {
+ obj.bogies[i].index = i;
+ for(unsigned j=0; j<obj.bogies[i].axles.size(); ++j)
+ {
+ obj.bogies[i].axles[j] = &obj.axles[obj.bogies[i].first_axle+j];
+ obj.bogies[i].axles[j]->bogie = &obj.bogies[i];
+ obj.bogies[i].axles[j]->position += obj.bogies[i].position;
+ }
+ }
+
+ for(unsigned i=0; i<obj.axles.size(); ++i)
+ {
+ obj.axles[i].index = i;
+ if(!obj.axles[i].bogie)
+ obj.fixed_axles.push_back(&obj.axles[i]);
+ }
+
+ obj.shape = new Geometry::TransformedShape<float, 3>(
+ Geometry::Box<float>(obj.length, obj.width, obj.height),
+ Transform::translation(Vector(0, 0, obj.height/2)));
+}
+