]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/vehicle.h
Add vehicles
[r2c2.git] / source / 3d / vehicle.h
diff --git a/source/3d/vehicle.h b/source/3d/vehicle.h
new file mode 100644 (file)
index 0000000..feab8a1
--- /dev/null
@@ -0,0 +1,40 @@
+/* $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