X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fvehicle.cpp;h=a8c3b48dc2f925e9b00812799f4f4afd0c77c95d;hb=f730acd5fa2b4f0d0185770ff7950ab814aec47c;hp=1c4a5b0f441ec9d5e6b40f711cc54afd176cbf08;hpb=54392d65e2053d1eacb4cfcc435f1013993f2973;p=r2c2.git diff --git a/source/libr2c2/vehicle.cpp b/source/libr2c2/vehicle.cpp index 1c4a5b0..a8c3b48 100644 --- a/source/libr2c2/vehicle.cpp +++ b/source/libr2c2/vehicle.cpp @@ -16,6 +16,7 @@ namespace R2C2 { Vehicle::Vehicle(Layout &l, const VehicleType &t): Object(l), type(t), + train(0), next(0), prev(0), front_sensor(0), @@ -25,7 +26,7 @@ Vehicle::Vehicle(Layout &l, const VehicleType &t): bogies.assign(type.get_bogies().begin(), type.get_bogies().end()); rods.assign(type.get_rods().begin(), type.get_rods().end()); - layout.add_vehicle(*this); + layout.add(*this); } Vehicle::~Vehicle() @@ -34,7 +35,7 @@ Vehicle::~Vehicle() detach_back(); if(prev) detach_front(); - layout.remove_vehicle(*this); + layout.remove(*this); } Vehicle *Vehicle::clone(Layout *to_layout) const @@ -45,6 +46,11 @@ Vehicle *Vehicle::clone(Layout *to_layout) const return veh; } +void Vehicle::set_train(Train *t) +{ + train = t; +} + void Vehicle::attach_back(Vehicle &veh) { if(next || veh.prev) @@ -200,6 +206,7 @@ void Vehicle::update_position() position = tp.pos; position.z += layout.get_catalogue().get_rail_elevation(); rotation = tp.dir; + signal_moved.emit(); } void Vehicle::update_position_from(const Vehicle &veh)