]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/vehicle.h
Strip Id tags and copyright notices from files
[r2c2.git] / source / 3d / vehicle.h
index 06e78ef4409130094fc922d9e0ff79d1b93352d2..aa5042e4b73c3d2643c2850106ac8ab4a7c10eae 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2010  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef LIBR2C23D_VEHICLE_H_
 #define LIBR2C23D_VEHICLE_H_
 
@@ -14,26 +7,34 @@ Distributed under the GPL
 
 namespace R2C2 {
 
+class Axle3D;
+class Bogie3D;
 class Layout3D;
+class Rod3D;
 class VehicleType3D;
 
-class Vehicle3D: public Object3D, public Msp::GL::Renderable
+class Vehicle3D: public Object3D, public Msp::GL::ObjectInstance
 {
 private:
        Layout3D &layout;
        Vehicle &vehicle;
        const VehicleType3D &type;
+       std::vector<Axle3D *> axles;
+       std::vector<Bogie3D *> bogies;
+       std::vector<Rod3D *> rods;
 
 public:
        Vehicle3D(Layout3D &, Vehicle &);
        ~Vehicle3D();
 
        Vehicle &get_vehicle() const { return vehicle; }
+       const VehicleType3D &get_type() const { return type; }
 
-       virtual Point get_node() const;
+       virtual Vector get_node() const;
        virtual bool is_visible() const;
 
-       virtual void render(const Msp::GL::Tag &) const;
+       virtual void render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;
+       virtual void setup_render(Msp::GL::Renderer &, const Msp::GL::Tag &) const;
 };
 
 } // namespace R2C2