]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/vehicle.h
Set correct Z coordinate to vehicle position
[r2c2.git] / source / libmarklin / vehicle.h
index c58df764917c0ea6c4cefb20006f756d3a2f19db..efd4534899f24ed80a3e922385016b335bda062b 100644 (file)
@@ -48,6 +48,9 @@ private:
        TrackPosition track_pos;
        Point position;
        float direction;
+       std::vector<float> bogie_dirs;
+       unsigned front_sensor;
+       unsigned back_sensor;
 
 public:
        Vehicle(Layout &, const VehicleType &);
@@ -69,12 +72,14 @@ public:
        float get_offset() const { return track_pos.offs; }
        const Point &get_position() const { return position; }
        float get_direction() const { return direction; }
+       float get_bogie_direction(unsigned) const;
 private:
        void update_position();
        void update_position_from(const Vehicle &);
        void propagate_position();
        void propagate_forward();
        void propagate_backward();
+       void check_sensor(float, unsigned &);
 
        void adjust_for_distance(TrackPosition &, TrackPosition &, float, float = 0.5) const;
        TrackPoint get_point(const Point &, const Point &, float = 0.5) const;