- for(vector<Rod>::iterator i=rods.begin(); i!=rods.end(); ++i)
- {
- if(i->type->pivot==VehicleType::Rod::BODY)
- i->position = i->type->pivot_point;
- else if(i->type->pivot==VehicleType::Rod::AXLE)
- {
- const Axle &axle = get_fixed_axle(i->type->pivot_index);
- const Vector &pp = i->type->pivot_point;
- Transform trans = Transform::rotation(axle.angle, Vector(0, -1, 0));
- i->position = Vector(axle.type->position, 0, axle.type->wheel_dia/2)+trans.transform(pp);
- }
- else if(i->type->pivot==VehicleType::Rod::ROD)
- {
- const Rod &prod = get_rod(i->type->pivot_index);
- const Vector &pos = prod.position;
- const Vector &off = i->type->pivot_point;
- Transform trans = Transform::rotation(prod.angle, Vector(0, 1, 0));
- i->position = pos+trans.transform(off);
- }