]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/engineer.cpp
Perform check_slope automatically with certain operations
[r2c2.git] / source / engineer / engineer.cpp
index 48fd8d1757ab4087299c105d5e3f7bffee22f2d2..b0296a192d6cbb175b9fd8c3c03e078c14425201 100644 (file)
@@ -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();
        }