X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fengineer.cpp;h=b0296a192d6cbb175b9fd8c3c03e078c14425201;hb=8b7d4054b05002d82338775ac9b4ee764a8560e4;hp=48fd8d1757ab4087299c105d5e3f7bffee22f2d2;hpb=581267f875f4ad32abd44dab6cd813bc871f55c5;p=r2c2.git diff --git a/source/engineer/engineer.cpp b/source/engineer/engineer.cpp index 48fd8d1..b0296a1 100644 --- a/source/engineer/engineer.cpp +++ b/source/engineer/engineer.cpp @@ -52,8 +52,8 @@ Engineer::Engineer(int argc, char **argv): window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Engineer::exit), 0)); root = new GLtk::Root(ui_res, window); - mouse.signal_button_press.connect(sigc::mem_fun(this, &Engineer::button_press)); - mouse.signal_axis_motion.connect(sigc::mem_fun(this, &Engineer::axis_motion)); + mouse.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Engineer::button_press), false)); + mouse.signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Engineer::axis_motion), false)); root->set_visible(true); main_panel = new MainPanel(*this); @@ -230,11 +230,10 @@ void Engineer::tick() camera.apply(); GL::MatrixStack::Push push_mat(GL::MatrixStack::modelview()); - float rot = picking_track->get_endpoint_direction(picking_entry); - Vector pos = picking_track->get_endpoint_position(picking_entry); + Snap sn = picking_track->get_snap_node(picking_entry); - GL::MatrixStack::modelview() *= GL::Matrix::translation(pos.x, pos.y, pos.z+0.03); - GL::MatrixStack::modelview() *= GL::Matrix::rotation(rot+M_PI, 0, 0, 1); + GL::MatrixStack::modelview() *= GL::Matrix::translation(sn.position.x, sn.position.y, sn.position.z+0.03); + GL::MatrixStack::modelview() *= GL::Matrix::rotation(sn.rotation+M_PI, 0, 0, 1); arrow_mesh.draw(); }