From fd1037d76ac1fd2b93765bb400262997883e2b64 Mon Sep 17 00:00:00 2001 From: maelstrom Date: Tue, 18 Feb 2025 22:56:06 +0100 Subject: [PATCH] feat: scale caging --- editor/mainglwidget.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/editor/mainglwidget.cpp b/editor/mainglwidget.cpp index 888bfd3..85ccd4e 100644 --- a/editor/mainglwidget.cpp +++ b/editor/mainglwidget.cpp @@ -112,8 +112,10 @@ void MainGLWidget::handleHandleDrag(QMouseEvent* evt) { if (selectedTool == SelectedTool::MOVE) editorToolHandles->adornee->lock()->cframe = editorToolHandles->adornee->lock()->cframe + draggingHandle->normal * changeBy; - else if (selectedTool == SelectedTool::SCALE) + else if (selectedTool == SelectedTool::SCALE) { + if (!(evt->modifiers() & Qt::ControlModifier)) editorToolHandles->adornee->lock()->cframe = editorToolHandles->adornee->lock()->cframe + draggingHandle->normal * changeBy * 0.5f; editorToolHandles->adornee->lock()->size += glm::abs(draggingHandle->normal) * changeBy; + } syncPartPhysics(std::dynamic_pointer_cast(editorToolHandles->adornee->lock())); }