+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
#ifndef MARKLIN3D_LAYOUT_H_
#define MARKLIN3D_LAYOUT_H_
class Layout3D
{
+private:
+ Layout &layout;
+ std::list<Track3D *> tracks;
+ unsigned quality;
+
public:
Layout3D(Layout &);
~Layout3D();
void set_quality(unsigned);
- const Track3DSeq &get_tracks() const { return tracks; }
- void render(bool =false);
- Track3D *get_track(const Track *);
- Track3D *pick_track(float, float, float);
+ const std::list<Track3D *> &get_tracks() const { return tracks; }
+ void render(bool =false) const;
+ Track3D &get_track(const Track &) const;
+ Track3D *pick_track(float, float, float) const;
private:
- Layout &layout;
- Track3DSeq tracks;
- unsigned quality;
-
void track_added(Track &);
void track_removed(Track &);
};