3 This file is part of the MSP Märklin suite
4 Copyright © 2006-2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #ifndef MARKLIN3D_TRACK_H_
9 #define MARKLIN3D_TRACK_H_
12 #include <msp/gl/renderable.h>
13 #include <msp/gl/vertexarray.h>
14 #include <msp/gl/vertexarraybuilder.h>
15 #include "libmarklin/track.h"
16 #include "libmarklin/trackpart.h"
25 class Track3D: public Object3D, public Msp::GL::Renderable
30 const TrackType3D &type;
31 std::vector<Endpoint3D *> endpoints;
34 Track3D(Layout3D &, Track &);
37 Layout3D &get_layout() const { return layout; }
38 Track &get_track() const { return track; }
39 const TrackType3D &get_type() const { return type; }
40 void get_bounds(float, Point &, Point &) const;
42 virtual Point get_node() const;
44 virtual void render(const Msp::GL::Tag &) const;
47 } // namespace Marklin