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),
view.get_camera().set_depth_clip(0.01, 10);
dynamic_cast<GLtk::Image *>(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)
forward = f;
}
-void TrainView::prepare()
+void TrainView::update()
{
const Vehicle &veh = train.get_vehicle(0);
const Vector &pos = veh.get_position();
{
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: