1 #ifndef MARKLIN3D_TRACK_H_
2 #define MARKLIN3D_TRACK_H_
5 #include <msp/gl/vertexarray.h>
6 #include "libmarklin/track.h"
14 Track3D(Track &, unsigned);
15 void set_color(const Color &c) { color=c; }
16 void set_quality(unsigned);
17 void get_bounds(float, Point &, Point &) const;
18 Track &get_track() const { return track; }
20 void render_endpoints();
21 void render_route(int);
25 std::vector<Point> border;
26 Msp::GL::VertexArray varray;
27 std::vector<unsigned> base_seq;
28 std::vector<unsigned> rail_seq;
29 std::vector<std::vector<unsigned> > route_seq;
32 void prepare_render();
34 void build_part(const Track::Part &, Msp::GL::VertexArrayBuilder &, unsigned &);
36 typedef std::list<Track3D *> Track3DSeq;
38 } // namespace Marklin