X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fvehicletype.cpp;h=854308c71ad80cd46861bfa8786021174db40dae;hb=0c1214ad0680c3bf65c1ee5f366dbafabc9d188d;hp=2da44cc992f340f7c73e7f44e104fc4285327078;hpb=a993f204ba2cd282637814caec3ab115040fc0cc;p=r2c2.git diff --git a/source/libr2c2/vehicletype.cpp b/source/libr2c2/vehicletype.cpp index 2da44cc..854308c 100644 --- a/source/libr2c2/vehicletype.cpp +++ b/source/libr2c2/vehicletype.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include #include "vehicletype.h" @@ -8,7 +10,7 @@ using namespace Msp; namespace R2C2 { VehicleType::VehicleType(const ArticleNumber &an): - art_nr(an), + ObjectType(an), locomotive(false), swap_direction(false), length(0), @@ -105,7 +107,7 @@ VehicleType::Rod::Rod(): VehicleType::Loader::Loader(VehicleType &vt): - DataFile::ObjectLoader(vt) + DataFile::DerivedObjectLoader(vt) { add("axle", &Loader::axle); add("bogie", &Loader::bogie); @@ -113,7 +115,6 @@ VehicleType::Loader::Loader(VehicleType &vt): add("height", &Loader::height); add("length", &Loader::length); add("locomotive", &VehicleType::locomotive); - add("name", &VehicleType::name); add("object", &VehicleType::object); add("rod", &Loader::rod); add("rotate_object", &VehicleType::rotate_object); @@ -121,6 +122,13 @@ VehicleType::Loader::Loader(VehicleType &vt): add("width", &Loader::width); } +void VehicleType::Loader::finish() +{ + obj.shape = new Geometry::TransformedShape( + Geometry::Box(obj.length, obj.width, obj.height), + Transform::translation(Vector(0, 0, obj.height/2))); +} + void VehicleType::Loader::axle() { Axle axl;