]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/vehicletype.h
Implement removing vehicles from a train
[r2c2.git] / source / 3d / vehicletype.h
index c5c491a7fe63c9973024b2aba908fd7c1670a306..f38f02d92ea43dab2651d8019884dccf1438e851 100644 (file)
@@ -19,12 +19,15 @@ class Catalogue3D;
 class VehicleType3D
 {
 private:
+       const Catalogue3D &catalogue;
+       const VehicleType &type;
        std::map<std::string, Msp::GL::Object *> objects;
        Msp::GL::Object *body_object;
        std::vector<Msp::GL::Object *> bogie_objects;
+       std::vector<std::vector<Msp::GL::Object *> > axle_objects;
 
 public:
-       VehicleType3D(Catalogue3D &, const VehicleType &);
+       VehicleType3D(const Catalogue3D &, const VehicleType &);
        ~VehicleType3D();
 
        const Msp::GL::Object *get_body_object() const { return body_object; }
@@ -33,6 +36,10 @@ public:
        const Msp::GL::Object *get_bogie_axle_object(unsigned, unsigned) const;
 private:
        Msp::GL::Object *get_object(const std::string &);
+       Msp::GL::Technique *create_technique(const std::map<std::string, std::string> &);
+       Msp::GL::Mesh *create_open_wagon(const std::map<std::string, std::string> &);
+       Msp::GL::Mesh *create_covered_wagon(const std::map<std::string, std::string> &);
+       Msp::GL::Mesh *create_flat_wagon(const std::map<std::string, std::string> &);
 };
 
 } // namespace Marklin