Snap in gizmo scale 3D when holding Shift pressed

This commit is contained in:
Enrico Turri 2018-11-14 12:57:12 +01:00
parent 62aa34b444
commit 4149b9ad28
4 changed files with 72 additions and 58 deletions

View file

@ -2550,14 +2550,14 @@ bool GLCanvas3D::Gizmos::grabber_contains_mouse() const
return (curr != nullptr) ? (curr->get_hover_id() != -1) : false;
}
void GLCanvas3D::Gizmos::update(const Linef3& mouse_ray, const Point* mouse_pos)
void GLCanvas3D::Gizmos::update(const Linef3& mouse_ray, bool shift_down, const Point* mouse_pos)
{
if (!m_enabled)
return;
GLGizmoBase* curr = _get_current();
if (curr != nullptr)
curr->update(mouse_ray, mouse_pos);
curr->update(GLGizmoBase::UpdateData(mouse_ray, mouse_pos, shift_down));
}
#if ENABLE_GIZMOS_RESET
@ -4313,7 +4313,7 @@ void GLCanvas3D::on_mouse(wxMouseEvent& evt)
m_canvas->CaptureMouse();
m_mouse.dragging = true;
m_gizmos.update(mouse_ray(pos), &pos);
m_gizmos.update(mouse_ray(pos), evt.ShiftDown(), &pos);
switch (m_gizmos.get_current_type())
{