[LYN-3419] Removed remaining references to checking if the new viewport interaction model is enabled.

This commit is contained in:
Chris Galvan
2021-04-29 16:45:39 -05:00
parent 54e06b0f63
commit 217ba1e816
18 changed files with 142 additions and 965 deletions
+95 -349
View File
@@ -472,61 +472,40 @@ void CRenderViewport::OnLButtonDown(Qt::KeyboardModifiers modifiers, const QPoin
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
bool manipulatorInteraction = false;
EditorInteractionSystemViewportSelectionRequestBus::EventResult(
manipulatorInteraction, AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseManipulatorInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
if (!manipulatorInteraction)
{
bool manipulatorInteraction = false;
EditorInteractionSystemViewportSelectionRequestBus::EventResult(
manipulatorInteraction, AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseManipulatorInteraction,
if (RenderViewportUtil::AllowOrbit(modifiers))
{
m_bInOrbitMode = true;
m_orbitTarget =
GetViewTM().GetTranslation() + GetViewTM().TransformVector(FORWARD_DIRECTION) * m_orbitDistance;
// mouse buttons are treated as keys as well
if (m_pressedKeyState == KeyPressedState::AllUp)
{
m_pressedKeyState = KeyPressedState::PressedThisFrame;
}
m_mousePos = scaledPoint;
m_prevMousePos = scaledPoint;
HideCursor();
CaptureMouse();
// no further handling of left mouse button down
return;
}
EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
if (!manipulatorInteraction)
{
if (RenderViewportUtil::AllowOrbit(modifiers))
{
m_bInOrbitMode = true;
m_orbitTarget =
GetViewTM().GetTranslation() + GetViewTM().TransformVector(FORWARD_DIRECTION) * m_orbitDistance;
// mouse buttons are treated as keys as well
if (m_pressedKeyState == KeyPressedState::AllUp)
{
m_pressedKeyState = KeyPressedState::PressedThisFrame;
}
m_mousePos = scaledPoint;
m_prevMousePos = scaledPoint;
HideCursor();
CaptureMouse();
// no further handling of left mouse button down
return;
}
EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
}
}
else
{
// first try interaction with manipulator
if (m_manipulatorManager == nullptr || !m_manipulatorManager->ConsumeViewportMousePress(mouseInteraction))
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
}
else
{
QtViewport::OnLButtonDown(modifiers, scaledPoint);
}
}
}
}
@@ -557,39 +536,18 @@ void CRenderViewport::OnLButtonUp(Qt::KeyboardModifiers modifiers, const QPoint&
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
if (m_bInOrbitMode)
{
if (m_bInOrbitMode)
{
m_bInOrbitMode = false;
m_bInOrbitMode = false;
ReleaseMouse();
ShowCursor();
}
ReleaseMouse();
ShowCursor();
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
else
{
if (m_manipulatorManager == nullptr
|| !m_manipulatorManager->ConsumeViewportMouseRelease(mouseInteraction))
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
else
{
QtViewport::OnLButtonUp(modifiers, scaledPoint);
}
}
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
//////////////////////////////////////////////////////////////////////////
@@ -609,27 +567,10 @@ void CRenderViewport::OnLButtonDblClk(Qt::KeyboardModifiers modifiers, const QPo
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::DoubleClick));
}
else
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::DoubleClick));
}
else
{
QtViewport::OnLButtonDblClk(modifiers, scaledPoint);
}
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::DoubleClick));
}
//////////////////////////////////////////////////////////////////////////
@@ -651,48 +592,18 @@ void CRenderViewport::OnRButtonDown(Qt::KeyboardModifiers modifiers, const QPoin
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
if (RenderViewportUtil::AllowDolly(modifiers))
{
m_bInZoomMode = true;
}
else
{
m_bInRotateMode = true;
}
if (RenderViewportUtil::AllowDolly(modifiers))
{
m_bInZoomMode = true;
}
else
{
if (m_manipulatorManager == nullptr
|| !m_manipulatorManager->ConsumeViewportMousePress(mouseInteraction))
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
}
else
{
QtViewport::OnRButtonDown(modifiers, scaledPoint);
}
}
if (Qt::AltModifier & QApplication::queryKeyboardModifiers())
{
m_bInZoomMode = true;
}
else
{
m_bInRotateMode = true;
}
m_bInRotateMode = true;
}
// mouse buttons are treated as keys as well
@@ -727,31 +638,10 @@ void CRenderViewport::OnRButtonUp(Qt::KeyboardModifiers modifiers, const QPoint&
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
else
{
if (m_manipulatorManager == nullptr
|| !m_manipulatorManager->ConsumeViewportMouseRelease(mouseInteraction))
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
else
{
QtViewport::OnRButtonUp(modifiers, scaledPoint);
}
}
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
m_bInRotateMode = false;
m_bInZoomMode = false;
@@ -781,73 +671,27 @@ void CRenderViewport::OnMButtonDown(Qt::KeyboardModifiers modifiers, const QPoin
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
if (RenderViewportUtil::AllowPan(modifiers))
{
if (RenderViewportUtil::AllowPan(modifiers))
m_bInMoveMode = true;
// mouse buttons are treated as keys as well
if (m_pressedKeyState == KeyPressedState::AllUp)
{
m_bInMoveMode = true;
// mouse buttons are treated as keys as well
if (m_pressedKeyState == KeyPressedState::AllUp)
{
m_pressedKeyState = KeyPressedState::PressedThisFrame;
}
m_mousePos = scaledPoint;
m_prevMousePos = scaledPoint;
HideCursor();
CaptureMouse();
m_pressedKeyState = KeyPressedState::PressedThisFrame;
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
m_mousePos = scaledPoint;
m_prevMousePos = scaledPoint;
HideCursor();
CaptureMouse();
}
else
{
if (!(modifiers & Qt::ControlModifier) && !(modifiers & Qt::ShiftModifier))
{
if (modifiers & Qt::AltModifier)
{
m_bInOrbitMode = true;
m_orbitTarget = GetViewTM().GetTranslation() + GetViewTM().TransformVector(FORWARD_DIRECTION) * m_orbitDistance;
}
else
{
m_bInMoveMode = true;
}
// mouse buttons are treated as keys as well
if (m_pressedKeyState == KeyPressedState::AllUp)
{
m_pressedKeyState = KeyPressedState::PressedThisFrame;
}
m_mousePos = scaledPoint;
m_prevMousePos = scaledPoint;
HideCursor();
CaptureMouse();
}
if (m_manipulatorManager == nullptr
|| !m_manipulatorManager->ConsumeViewportMousePress(mouseInteraction))
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
}
else
{
QtViewport::OnMButtonDown(modifiers, scaledPoint);
}
}
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Down));
}
//////////////////////////////////////////////////////////////////////////
@@ -875,18 +719,9 @@ void CRenderViewport::OnMButtonUp(Qt::KeyboardModifiers modifiers, const QPoint&
}
};
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
if (m_bInMoveMode)
{
m_bInMoveMode = false;
tryRestoreMouse();
}
}
else
if (m_bInMoveMode)
{
m_bInMoveMode = false;
m_bInOrbitMode = false;
tryRestoreMouse();
}
@@ -895,31 +730,10 @@ void CRenderViewport::OnMButtonUp(Qt::KeyboardModifiers modifiers, const QPoint&
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
else
{
if (m_manipulatorManager == nullptr
|| !m_manipulatorManager->ConsumeViewportMouseRelease(mouseInteraction))
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
else
{
QtViewport::OnMButtonUp(modifiers, scaledPoint);
}
}
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Up));
}
void CRenderViewport::OnMouseMove(Qt::KeyboardModifiers modifiers, Qt::MouseButtons buttons, const QPoint& point)
@@ -934,43 +748,15 @@ void CRenderViewport::OnMouseMove(Qt::KeyboardModifiers modifiers, Qt::MouseButt
const auto scaledPoint = WidgetToViewport(point);
AzToolsFramework::ManipulatorManager::ConsumeMouseMoveResult mouseMoveResult =
AzToolsFramework::ManipulatorManager::ConsumeMouseMoveResult::None;
const auto mouseInteraction = BuildMouseInteractionInternal(
BuildMouseButtons(buttons),
BuildKeyboardModifiers(modifiers),
BuildMousePick(scaledPoint));
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Move));
}
else
{
if (m_manipulatorManager)
{
mouseMoveResult = m_manipulatorManager->ConsumeViewportMouseMove(mouseInteraction);
}
if (mouseMoveResult != AzToolsFramework::ManipulatorManager::ConsumeMouseMoveResult::Interacting)
{
if (AzToolsFramework::ComponentModeFramework::InComponentMode())
{
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleMouseViewportInteraction,
MouseInteractionEvent(mouseInteraction, MouseEvent::Move));
}
else
{
QtViewport::OnMouseMove(modifiers, buttons, scaledPoint);
}
}
}
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::Event(
AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, MouseEvent::Move));
}
void CRenderViewport::InjectFakeMouseMove(int deltaX, int deltaY, Qt::MouseButtons buttons)
@@ -1083,22 +869,11 @@ void CRenderViewport::ProcessMouse()
Vec3 xdir = m.GetColumn0().GetNormalized();
Vec3 zdir = m.GetColumn2().GetNormalized();
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
const auto modifiers = QGuiApplication::queryKeyboardModifiers();
if (RenderViewportUtil::InvertPan(modifiers))
{
const auto modifiers = QGuiApplication::queryKeyboardModifiers();
if (RenderViewportUtil::InvertPan(modifiers))
{
xdir = -xdir;
zdir = -zdir;
}
}
else
{
if (GetCameraInvertPan())
{
xdir = -xdir;
zdir = -zdir;
}
xdir = -xdir;
zdir = -zdir;
}
Vec3 pos = m.GetTranslation();
@@ -1177,20 +952,10 @@ bool CRenderViewport::event(QEvent* event)
auto keyEvent = static_cast<QKeyEvent*>(event);
bool manipulatorInteracting = false;
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
AzToolsFramework::ManipulatorManagerRequestBus::EventResult(
manipulatorInteracting,
AzToolsFramework::g_mainManipulatorManagerId,
&AzToolsFramework::ManipulatorManagerRequestBus::Events::Interacting);
}
else
{
if (m_manipulatorManager != nullptr)
{
manipulatorInteracting = m_manipulatorManager->Interacting();
}
}
AzToolsFramework::ManipulatorManagerRequestBus::EventResult(
manipulatorInteracting,
AzToolsFramework::g_mainManipulatorManagerId,
&AzToolsFramework::ManipulatorManagerRequestBus::Events::Interacting);
// If a manipulator is active, stop all shortcuts from working, except for the escape key, which cancels in some cases
if ((keyEvent->key() != Qt::Key_Escape) && manipulatorInteracting)
@@ -1754,12 +1519,6 @@ void CRenderViewport::OnRender()
RenderAll();
// Draw Axis arrow in lower left corner.
if (levelIsDisplayable && !GetIEditor()->IsNewViewportInteractionModelEnabled())
{
DrawAxis();
}
// Draw 2D helpers.
TransformationMatrices backupSceneMatrices;
m_renderer->Set2DMode(m_rcClient.right(), m_rcClient.bottom(), backupSceneMatrices);
@@ -1788,11 +1547,6 @@ void CRenderViewport::OnRender()
AzToolsFramework::GetEntityContextId(), &AzFramework::ViewportDebugDisplayEvents::DisplayViewport2d,
AzFramework::ViewportInfo{ GetViewportId() }, *debugDisplay);
if (!GetIEditor()->IsNewViewportInteractionModelEnabled())
{
RenderSelectionRectangle();
}
m_renderer->Unset2DMode(backupSceneMatrices);
PostWidgetRendering();
@@ -1882,11 +1636,6 @@ void CRenderViewport::InitDisplayContext()
displayContext.flags |= DISPLAY_TRACKTICKS;
}
if (m_bAdvancedSelectMode && !GetIEditor()->IsNewViewportInteractionModelEnabled())
{
displayContext.flags |= DISPLAY_SELECTION_HELPERS;
}
if (GetIEditor()->GetReferenceCoordSys() == COORDS_WORLD)
{
displayContext.flags |= DISPLAY_WORLDSPACEAXIS;
@@ -2759,16 +2508,13 @@ void CRenderViewport::OnMouseWheel(Qt::KeyboardModifiers modifiers, short zDelta
BuildMousePick(scaledPoint));
bool handled = false;
if (GetIEditor()->IsNewViewportInteractionModelEnabled())
{
MouseInteractionResult result = MouseInteractionResult::None;
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::EventResult(
result, AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, zDelta));
MouseInteractionResult result = MouseInteractionResult::None;
AzToolsFramework::EditorInteractionSystemViewportSelectionRequestBus::EventResult(
result, AzToolsFramework::GetEntityContextId(),
&EditorInteractionSystemViewportSelectionRequestBus::Events::InternalHandleAllMouseInteractions,
MouseInteractionEvent(mouseInteraction, zDelta));
handled = result != MouseInteractionResult::None;
}
handled = result != MouseInteractionResult::None;
if (!handled)
{