]> git.tdb.fi Git - r2c2.git/blob - source/3d/rod.cpp
Avoid nested block reservations completely
[r2c2.git] / source / 3d / rod.cpp
1 #include "rod.h"
2 #include "vehicle.h"
3 #include "vehicletype.h"
4
5 using namespace Msp;
6
7 namespace R2C2 {
8
9 Rod3D::Rod3D(const Vehicle3D &v, unsigned r):
10         VehiclePart3D(v, *v.get_type().get_rod_object(r)),
11         rod(vehicle.get_vehicle().get_rod(r))
12 { }
13
14 void Rod3D::update_matrix()
15 {
16         matrix = vehicle.Object3D::get_matrix();
17
18         matrix.translate(rod.position);
19         if(rod.type->mirror_object)
20                 matrix.scale(1, -1, 1);
21         matrix.rotate(rod.angle, 0, -1, 0);
22 }
23
24 } // namespace R2C2