X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2F3d%2Fvehicletype.cpp;h=162b2c42110a4cd1d67100e43c5fe04e01124ee2;hb=b14059de03324aecde3efc649293d98ce5b7aaf2;hp=2ddd34db08cc4515753f1eeb3171acee973e57d2;hpb=37af7970d9cefcf40ae58ca06ca8469f56b0cc13;p=r2c2.git diff --git a/source/3d/vehicletype.cpp b/source/3d/vehicletype.cpp index 2ddd34d..162b2c4 100644 --- a/source/3d/vehicletype.cpp +++ b/source/3d/vehicletype.cpp @@ -1,7 +1,7 @@ /* $Id$ This file is part of R²C² -Copyright © 2010 Mikkosoft Productions, Mikko Rasa +Copyright © 2010-2011 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -31,7 +31,7 @@ T get(const map ¶ms, const string &key, T def = T()) namespace R2C2 { -VehicleType3D::VehicleType3D(const Catalogue3D &c, const VehicleType &t): +VehicleType3D::VehicleType3D(Catalogue3D &c, const VehicleType &t): catalogue(c), type(t), body_object(0), @@ -39,7 +39,7 @@ VehicleType3D::VehicleType3D(const Catalogue3D &c, const VehicleType &t): { body_object = get_object(type.get_object()); - const vector &axles = type.get_axles(); + const vector &axles = type.get_fixed_axles(); for(vector::const_iterator i=axles.begin(); i!=axles.end(); ++i) axle_objects[0].push_back(get_object(i->object)); @@ -63,7 +63,7 @@ VehicleType3D::~VehicleType3D() delete i->second; } -const GL::Object *VehicleType3D::get_axle_object(unsigned i) const +const GL::Object *VehicleType3D::get_fixed_axle_object(unsigned i) const { if(i>=axle_objects[0].size()) throw InvalidParameterValue("Axle index out of range"); @@ -144,10 +144,7 @@ GL::Object *VehicleType3D::get_object(const string &name) } } else - { - ptr = new GL::Object; - DataFile::load(*ptr, name); - } + return catalogue.get(name); } return ptr; }