/* $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
*/
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