]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/manipulator.cpp
Fix elevation mode in Manipulator
[r2c2.git] / source / designer / manipulator.cpp
index d1e458baed645445fd11f1853b2fb377e0632bc6..83a093a712d77fb98949c1852fadcd6da15b7f1a 100644 (file)
@@ -48,6 +48,8 @@ void Manipulator::start_elevate()
                cancel();
 
        mode = ELEVATE;
+
+       elev_origin = pointer.y;
 }
 
 bool Manipulator::start_extend()
@@ -361,7 +363,7 @@ void Manipulator::button_press(unsigned btn)
        }
 }
 
-void Manipulator::axis_motion(unsigned axis, float value, float change)
+void Manipulator::axis_motion(unsigned axis, float value, float)
 {
        if(axis==0)
                pointer.x = value;
@@ -428,7 +430,7 @@ void Manipulator::axis_motion(unsigned axis, float value, float change)
        }
        else if(mode==ELEVATE && axis==1)
        {
-               float dz = -change;
+               float dz = pointer.y-elev_origin;
 
                signal_status.emit(format("Elevation: %+.0fmm (%.0fmm)", dz*1000, (center.z+dz)*1000));