]> git.tdb.fi Git - r2c2.git/blobdiff - source/3d/track.h
Foundations of using physics simulation for trains
[r2c2.git] / source / 3d / track.h
index 94865cfdf4afcf96837d84a552cebd2471cf26af..93e3a0d37ab440d514d93a990fb465ac153fcc40 100644 (file)
@@ -20,6 +20,7 @@ namespace Marklin {
 
 class Endpoint3D;
 class Layout3D;
+class Path3D;
 class TrackType3D;
 
 class Track3D: public Object3D, public Msp::GL::Renderable
@@ -29,6 +30,7 @@ private:
        Track &track;
        const TrackType3D &type;
        std::vector<Endpoint3D *> endpoints;
+       Path3D *path;
 
 public:
        Track3D(Layout3D &, Track &);
@@ -38,9 +40,11 @@ public:
        Track &get_track() const { return track; }
        const TrackType3D &get_type() const { return type; }
        void get_bounds(float, Point &, Point &) const;
+       Path3D &get_path() { return *path; }
 
        virtual Point get_node() const;
 
+       void apply_matrix() const;
        virtual void render(const Msp::GL::Tag &) const;
 };