3 This file is part of the MSP Märklin suite
4 Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #ifndef MARKLIN3D_TRACK_H_
9 #define MARKLIN3D_TRACK_H_
12 #include <msp/gl/color.h>
13 #include <msp/gl/vertexarray.h>
14 #include <msp/gl/vertexarraybuilder.h>
15 #include "libmarklin/track.h"
16 #include "libmarklin/trackpart.h"
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> > path_seq;
33 Track3D(Track &, unsigned);
35 Track &get_track() const { return track; }
36 void set_color(const Msp::GL::Color &);
37 void set_quality(unsigned);
38 void get_bounds(float, Point &, Point &) const;
40 void render_endpoints() const;
41 void render_path(int) const;
43 void prepare_render(bool) const;
45 void build_part(const TrackPart &, Msp::GL::VertexArrayBuilder &, unsigned &);
48 } // namespace Marklin