X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fvehicle.h;h=94ae2b1683e648cc8f07cb9edfc1ff56d107ecdf;hb=107a7f787d406f1f664c4986557f9a896e0845ea;hp=e7427b1e92ef6bb61b95ae48b9241664997b7413;hpb=e214fd389b9819eac0379cfb78e0f446e267b839;p=r2c2.git diff --git a/source/libr2c2/vehicle.h b/source/libr2c2/vehicle.h index e7427b1..94ae2b1 100644 --- a/source/libr2c2/vehicle.h +++ b/source/libr2c2/vehicle.h @@ -9,6 +9,7 @@ namespace R2C2 { class Layout; +class Train; class attachment_error: public std::logic_error { @@ -69,6 +70,7 @@ private: }; const VehicleType &type; + Train *train; Vehicle *next; Vehicle *prev; TrackPosition track_pos; @@ -85,6 +87,8 @@ public: virtual Vehicle *clone(Layout * = 0) const; virtual const VehicleType &get_type() const { return type; } + void set_train(Train *); + Train *get_train() const { return train; } void attach_back(Vehicle &); void attach_front(Vehicle &); void detach_back(); @@ -95,6 +99,7 @@ public: // TODO implement these - should call place() with suitable parameters virtual void set_position(const Vector &) { } virtual void set_rotation(const Angle &) { } + virtual void set_tilt(const Angle &) { } void place(const TrackIter &, float, PlaceMode = CENTER); void unplace(); void advance(float);