]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/track.h
Split mesh generation from Track3D to TrackType3D
[r2c2.git] / source / 3d / track.h
index adc046b9fc13c9b53f069d16ff4f10b75225c4b4..fe24b9a9e1a9e0fd3740d90c531841a44785d3d5 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of the MSP Märklin suite
-Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa
 Distributed under the GPL
 */
 
@@ -17,32 +17,28 @@ Distributed under the GPL
 
 namespace Marklin {
 
+class Layout3D;
+class TrackType3D;
+
 class Track3D
 {
 private:
+       Layout3D &layout;
        Track &track;
+       const TrackType3D &type;
        Msp::GL::Color color;
-       std::vector<Point> border;
-       Msp::GL::VertexArray varray;
-       std::vector<unsigned> base_seq;
-       std::vector<unsigned> rail_seq;
-       std::vector<std::vector<unsigned> > path_seq;
-       unsigned quality;
 
 public:
-       Track3D(Track &, unsigned);
+       Track3D(Layout3D &, Track &);
 
        Track &get_track() const { return track; }
        void set_color(const Msp::GL::Color &);
-       void set_quality(unsigned);
        void get_bounds(float, Point &, Point &) const;
        void render() const;
        void render_endpoints() const;
        void render_path(int) const;
 private:
        void prepare_render(bool) const;
-       void build_object();
-       void build_part(const TrackPart &, Msp::GL::VertexArrayBuilder &, unsigned &);
 };
 
 } // namespace Marklin