]> git.tdb.fi Git - r2c2.git/blob - source/3d/layout.h
99706047815f6f454bfb0dc72b70b3fbbacd7856
[r2c2.git] / source / 3d / layout.h
1 #ifndef MARKLIN3D_LAYOUT_H_
2 #define MARKLIN3D_LAYOUT_H_
3
4 #include "libmarklin/layout.h"
5 #include "track.h"
6
7 namespace Marklin {
8
9 class Layout3D
10 {
11 public:
12         Layout3D(Layout &);
13         ~Layout3D();
14
15         void set_quality(unsigned);
16         const Track3DSeq &get_tracks() const { return tracks; }
17         void  render(bool =false);
18         Track3D *get_track(const Track *);
19         Track3D *pick_track(float, float, float);
20 private:
21         Layout     &layout;
22         Track3DSeq tracks;
23         unsigned   quality;
24
25         void track_added(Track &);
26         void track_removed(Track &);
27 };
28
29 } // namespace Marklin
30
31 #endif
32