]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/train.h
Add vehicles
[r2c2.git] / source / libmarklin / train.h
index b579d7f37deba40ba47d607baabf0e42817e7de7..f9dba5dfbabb68339fd71ddc3fd4a0fd353ff816 100644 (file)
@@ -17,6 +17,7 @@ namespace Marklin {
 
 class LocoType;
 class Route;
+class Vehicle;
 
 class Train: public sigc::trackable
 {
@@ -67,6 +68,7 @@ private:
        const LocoType &loco_type;
        unsigned address;
        std::string name;
+       std::vector<Vehicle *> vehicles;
        std::list<BlockRef> cur_blocks;
        std::list<BlockRef> rsv_blocks;
        Block *pending_block;
@@ -86,11 +88,6 @@ private:
        bool pure_speed;
        std::vector<RealSpeed> real_speed;
 
-       Track *cur_track;
-       unsigned cur_track_ep;
-       float offset;
-       Point pos;
-
 public:
        Train(Layout &, const LocoType &, unsigned);
        ~Train();
@@ -100,6 +97,9 @@ public:
        void set_name(const std::string &);
        const std::string &get_name() const { return name; }
 
+       Vehicle &get_vehicle(unsigned);
+       const Vehicle &get_vehicle(unsigned) const;
+
        void set_speed(unsigned);
        void set_reverse(bool);
        void set_function(unsigned, bool);
@@ -118,7 +118,6 @@ public:
        int get_entry_to_block(Block &) const;
 
        const std::string &get_status() const { return status; }
-       const Point &get_position() const { return pos; }
 
        void tick(const Msp::Time::TimeStamp &, const Msp::Time::TimeDelta &);