3 This file is part of the MSP Märklin suite
4 Copyright © 2010 Mikkosoft Productions, Mikko Rasa
5 Distributed under the GPL
8 #ifndef LIBMARKLIN_VEHICLE_H_
9 #define LIBMARKLIN_VEHICLE_H_
39 TrackPosition(Track *, unsigned, float);
41 TrackPoint get_point() const;
45 const VehicleType &type;
48 TrackPosition track_pos;
53 Vehicle(Layout &, const VehicleType &);
56 const VehicleType &get_type() const { return type; }
58 void place(Track *, unsigned, float, PlaceMode = CENTER);
60 Track *get_track() const { return track_pos.track; }
61 unsigned get_entry() const { return track_pos.ep; }
62 float get_offset() const { return track_pos.offs; }
63 const Point &get_position() const { return position; }
64 float get_direction() const { return direction; }
66 void update_position();
67 TrackPoint get_position(float, float, const TrackPosition &);
70 } // namespace Marklin