+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2010 Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
+#ifndef LIBMARKLIN3D_VEHICLE_H_
+#define LIBMARKLIN3D_VEHICLE_H_
+
+#include <msp/gl/renderable.h>
+#include "libmarklin/vehicle.h"
+#include "object.h"
+
+namespace Marklin {
+
+class Layout3D;
+class VehicleType3D;
+
+class Vehicle3D: public Object3D, public Msp::GL::Renderable
+{
+private:
+ Layout3D &layout;
+ Vehicle &vehicle;
+ const VehicleType3D &type;
+
+public:
+ Vehicle3D(Layout3D &, Vehicle &);
+ ~Vehicle3D();
+
+ Vehicle &get_vehicle() const { return vehicle; }
+
+ virtual Point get_node() const;
+
+ virtual void render(const Msp::GL::Tag &) const;
+};
+
+} // namespace Marklin
+
+#endif