1 #ifndef MARKLIN3D_TRACK_H_
2 #define MARKLIN3D_TRACK_H_
5 #include <msp/gl/color.h>
6 #include <msp/gl/vertexarray.h>
7 #include <msp/gl/vertexarraybuilder.h>
8 #include "libmarklin/track.h"
9 #include "libmarklin/trackpart.h"
18 std::vector<Point> border;
19 Msp::GL::VertexArray varray;
20 std::vector<unsigned> base_seq;
21 std::vector<unsigned> rail_seq;
22 std::vector<std::vector<unsigned> > route_seq;
26 Track3D(Track &, unsigned);
28 void set_color(const Msp::GL::Color &c) { color=c; }
29 void set_quality(unsigned);
30 void get_bounds(float, Point &, Point &) const;
31 Track &get_track() const { return track; }
33 void render_endpoints() const;
34 void render_route(int) const;
36 void prepare_render() const;
38 void build_part(const TrackPart &, Msp::GL::VertexArrayBuilder &, unsigned &);
41 } // namespace Marklin