X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Fvehicle.cpp;h=8027a1999d3827ab14dad36ced4816703f070a34;hb=ce8be590703fdc0709863f0ee9695f40b6adb200;hp=7e4814b008b03a64b588479792959329d7254cf9;hpb=97443d96ff3ce51388d2edd1e0dca8f2cd231346;p=r2c2.git diff --git a/source/3d/vehicle.cpp b/source/3d/vehicle.cpp index 7e4814b..8027a19 100644 --- a/source/3d/vehicle.cpp +++ b/source/3d/vehicle.cpp @@ -1,6 +1,6 @@ /* $Id$ -This file is part of the MSP Märklin suite +This file is part of R²C² Copyright © 2010 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -14,7 +14,7 @@ Distributed under the GPL using namespace std; using namespace Msp; -namespace Marklin { +namespace R2C2 { Vehicle3D::Vehicle3D(Layout3D &l, Vehicle &v): layout(l), @@ -64,6 +64,7 @@ void Vehicle3D::render(const GL::Tag &tag) const { GL::PushMatrix push_mat2; GL::translate(axles[i].position, 0, axles[i].wheel_dia/2); + GL::rotate(vehicle.get_axle(i).angle*180/M_PI, 0, 1, 0); obj->render(tag); } @@ -72,7 +73,7 @@ void Vehicle3D::render(const GL::Tag &tag) const { GL::PushMatrix push_mat2; GL::translate(bogies[i].position, 0, 0); - float angle = vehicle.get_bogie_direction(i)*180/M_PI; + float angle = vehicle.get_bogie(i).direction*180/M_PI; GL::rotate(angle, 0, 0, 1); for(unsigned j=0; jrender(tag); } @@ -88,7 +90,21 @@ void Vehicle3D::render(const GL::Tag &tag) const if(const GL::Object *obj = type.get_bogie_object(i)) obj->render(tag); } + + const vector &rods = vehicle.get_type().get_rods(); + for(unsigned i=0; irender(tag); + } } } -} // namespace Marklin +} // namespace R2C2