feat: scale caging
This commit is contained in:
parent
64fa46d496
commit
fd1037d76a
|
@ -112,8 +112,10 @@ void MainGLWidget::handleHandleDrag(QMouseEvent* evt) {
|
||||||
|
|
||||||
if (selectedTool == SelectedTool::MOVE)
|
if (selectedTool == SelectedTool::MOVE)
|
||||||
editorToolHandles->adornee->lock()->cframe = editorToolHandles->adornee->lock()->cframe + draggingHandle->normal * changeBy;
|
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;
|
editorToolHandles->adornee->lock()->size += glm::abs(draggingHandle->normal) * changeBy;
|
||||||
|
}
|
||||||
|
|
||||||
syncPartPhysics(std::dynamic_pointer_cast<Part>(editorToolHandles->adornee->lock()));
|
syncPartPhysics(std::dynamic_pointer_cast<Part>(editorToolHandles->adornee->lock()));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue