Move Gizmo -> added movements using arrow keys:
Left arrow = decrease X by 1mm Right arrow = increase X by 1mm Up arrow = increase Y by 1mm Down arrow = decrease Y by 1mm
This commit is contained in:
parent
73f69f3387
commit
9d55121695
1 changed files with 25 additions and 7 deletions
|
@ -497,7 +497,7 @@ bool GLGizmosManager::on_mouse(wxMouseEvent& evt)
|
||||||
processed = true;
|
processed = true;
|
||||||
}
|
}
|
||||||
else if (evt.Dragging() && (m_parent.get_move_volume_id() != -1) && (m_current == SlaSupports || m_current == Hollow))
|
else if (evt.Dragging() && (m_parent.get_move_volume_id() != -1) && (m_current == SlaSupports || m_current == Hollow))
|
||||||
// don't allow dragging objects with the Sla gizmo on
|
// don't allow dragging objects with the Sla gizmo on
|
||||||
processed = true;
|
processed = true;
|
||||||
else if (evt.Dragging() && (m_current == SlaSupports || m_current == Hollow) && gizmo_event(SLAGizmoEventType::Dragging, mouse_pos, evt.ShiftDown(), evt.AltDown(), evt.ControlDown()))
|
else if (evt.Dragging() && (m_current == SlaSupports || m_current == Hollow) && gizmo_event(SLAGizmoEventType::Dragging, mouse_pos, evt.ShiftDown(), evt.AltDown(), evt.ControlDown()))
|
||||||
{
|
{
|
||||||
|
@ -554,12 +554,9 @@ bool GLGizmosManager::on_mouse(wxMouseEvent& evt)
|
||||||
else if (evt.LeftUp() && is_dragging())
|
else if (evt.LeftUp() && is_dragging())
|
||||||
{
|
{
|
||||||
switch (m_current) {
|
switch (m_current) {
|
||||||
case Move : m_parent.do_move(L("Gizmo-Move"));
|
case Move : m_parent.do_move(L("Gizmo-Move")); break;
|
||||||
break;
|
case Scale : m_parent.do_scale(L("Gizmo-Scale")); break;
|
||||||
case Scale : m_parent.do_scale(L("Gizmo-Scale"));
|
case Rotate : m_parent.do_rotate(L("Gizmo-Rotate")); break;
|
||||||
break;
|
|
||||||
case Rotate : m_parent.do_rotate(L("Gizmo-Rotate"));
|
|
||||||
break;
|
|
||||||
default : break;
|
default : break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -776,6 +773,27 @@ bool GLGizmosManager::on_key(wxKeyEvent& evt)
|
||||||
processed = true;
|
processed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (m_current == Move)
|
||||||
|
{
|
||||||
|
auto do_move = [this, &processed](const Vec3d& displacement) {
|
||||||
|
Selection& selection = m_parent.get_selection();
|
||||||
|
selection.start_dragging();
|
||||||
|
selection.translate(displacement);
|
||||||
|
wxGetApp().obj_manipul()->set_dirty();
|
||||||
|
m_parent.do_move(L("Gizmo-Move"));
|
||||||
|
m_parent.set_as_dirty();
|
||||||
|
processed = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
switch (keyCode)
|
||||||
|
{
|
||||||
|
case WXK_NUMPAD_LEFT: case WXK_LEFT: { do_move(-Vec3d::UnitX()); break; }
|
||||||
|
case WXK_NUMPAD_RIGHT: case WXK_RIGHT: { do_move(Vec3d::UnitX()); break; }
|
||||||
|
case WXK_NUMPAD_UP: case WXK_UP: { do_move(Vec3d::UnitY()); break; }
|
||||||
|
case WXK_NUMPAD_DOWN: case WXK_DOWN: { do_move(-Vec3d::UnitY()); break; }
|
||||||
|
default: { break; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// if (processed)
|
// if (processed)
|
||||||
// m_parent.set_cursor(GLCanvas3D::Standard);
|
// m_parent.set_cursor(GLCanvas3D::Standard);
|
||||||
|
|
Loading…
Add table
Reference in a new issue