X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainview.cpp;h=aec102705e93960a5f150114009fdc787b9c378e;hb=d990c03a06a494ce3596862ce61e2a5684dea7e1;hp=107800926ffbcbe2829f501e7c465916615eaf32;hpb=5fa009f4af8d0a2e4f52929e1ee29f5c93986ab6;p=r2c2.git diff --git a/source/engineer/trainview.cpp b/source/engineer/trainview.cpp index 1078009..aec1027 100644 --- a/source/engineer/trainview.cpp +++ b/source/engineer/trainview.cpp @@ -13,7 +13,7 @@ using namespace Msp; using namespace R2C2; TrainView::TrainView(Engineer &e, const Train &t): - engineer(e), + DynamicDialog(e), train(t), mode(SIDE), forward(true), @@ -38,13 +38,6 @@ TrainView::TrainView(Engineer &e, const Train &t): view.get_camera().set_depth_clip(0.01, 10); dynamic_cast(get_item(widgets, "img_view"))->set_image(&tex); - - engineer.add_train_view(*this); -} - -TrainView::~TrainView() -{ - engineer.remove_train_view(*this); } void TrainView::set_mode(Mode m) @@ -63,7 +56,7 @@ void TrainView::set_forward(bool f) forward = f; } -void TrainView::prepare() +void TrainView::update() { const Vehicle &veh = train.get_vehicle(0); const Vector &pos = veh.get_position(); @@ -79,10 +72,10 @@ void TrainView::prepare() { case ROOF: camera.set_position(pos-l*fwd_vec+Vector(0, 0, 0.07)); - camera.set_look_direction(fwd_vec-Vector(0, 0, -0.2)); + camera.set_look_direction(fwd_vec-Vector(0, 0, 0.2)); break; case SIDE: - camera.set_position(pos-0.8f*fwd_vec+0.05f*side_vec+Vector(0, 0, 0.03)); + camera.set_position(pos-0.08f*fwd_vec+0.05f*side_vec+Vector(0, 0, 0.03)); camera.set_look_direction(fwd_vec-side_vec*0.2f); break; case HEAD: