]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/track.h
Use event-based matrix updates for objects
[r2c2.git] / source / libr2c2 / track.h
index 168ac37eb669bffe2f15a8457152feb068c1fe77..916ea1966183c8ce5a87ec97a0c2297570a29c4a 100644 (file)
@@ -25,10 +25,13 @@ public:
                void position(float, float, float);
                void rotation(float);
                void sensor_id(unsigned);
+               void slope(float);
+               void tilt(float);
                void turnout_id(unsigned);
        };
 
        sigc::signal<void, unsigned, Track *> signal_link_changed;
+       sigc::signal<void, unsigned> signal_path_changing;
        sigc::signal<void, unsigned> signal_path_changed;
 
 private:
@@ -55,11 +58,11 @@ public:
        Block &get_block() const;
        virtual void set_position(const Vector &);
        virtual void set_rotation(const Angle &);
-       void set_slope(float);
+       virtual void set_tilt(const Angle &);
        void set_flex(bool);
-       float get_slope() const { return slope; }
        bool get_flex() const { return flex; }
 private:
+       void propagate_slope();
        void check_slope();
 
 public: