X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fvehicle.h;h=efd4534899f24ed80a3e922385016b335bda062b;hb=97443d96ff3ce51388d2edd1e0dca8f2cd231346;hp=c58df764917c0ea6c4cefb20006f756d3a2f19db;hpb=6968273080fa2a1cbcfc506610d5f249299611e9;p=r2c2.git diff --git a/source/libmarklin/vehicle.h b/source/libmarklin/vehicle.h index c58df76..efd4534 100644 --- a/source/libmarklin/vehicle.h +++ b/source/libmarklin/vehicle.h @@ -48,6 +48,9 @@ private: TrackPosition track_pos; Point position; float direction; + std::vector 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;