1 #ifndef R2C2_3D_VEHICLE_H_
2 #define R2C2_3D_VEHICLE_H_
4 #include <msp/gl/objectinstance.h>
5 #include <msp/gl/renderable.h>
6 #include "libr2c2/vehicle.h"
14 class Vehicle3D: public Object3D, public Msp::GL::ObjectInstance
18 const VehicleType3D &type;
19 std::vector<VehiclePart3D *> children;
22 Vehicle3D(Layout3D &, Vehicle &);
25 Vehicle &get_vehicle() const { return vehicle; }
26 const VehicleType3D &get_type() const { return type; }
28 virtual Vector get_node() const;
29 virtual bool is_visible() const;
34 virtual void render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;
35 virtual void setup_render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;