X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Ftrainview.cpp;h=c76e123bce7450e12d4a065f08ed47f2bb93a2aa;hb=c0e076401ee76fd9a5a96ff919a8e7b4d058c51b;hp=107800926ffbcbe2829f501e7c465916615eaf32;hpb=5fa009f4af8d0a2e4f52929e1ee29f5c93986ab6;p=r2c2.git diff --git a/source/engineer/trainview.cpp b/source/engineer/trainview.cpp index 1078009..c76e123 100644 --- a/source/engineer/trainview.cpp +++ b/source/engineer/trainview.cpp @@ -12,8 +12,8 @@ using namespace Msp; using namespace R2C2; -TrainView::TrainView(Engineer &e, const Train &t): - engineer(e), +TrainView::TrainView(Engineer &engineer, const Train &t): + DynamicDialog(engineer.get_user_interface()), 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: