fix(editor): attempt to fix dragging not snapping correctly

This commit is contained in:
maelstrom 2025-04-07 20:57:58 +02:00
parent 2be964acda
commit f88e4e2416

View file

@ -155,8 +155,9 @@ void MainGLWidget::handleObjectDrag(QMouseEvent* evt) {
localFrame = snapCFrame(localFrame);
// Snap to studs
Data::Vector3 draggingPartSize = draggingObject->lock()->size;
Data::Vector3 inverseSurfaceNormal = Data::Vector3::ONE - surfaceNormal.Abs();
glm::vec3 inverseNormalPartSize = (Data::Vector3)(partSize + 1.f) * inverseSurfaceNormal / 2.f;
glm::vec3 inverseNormalPartSize = (Data::Vector3)(partSize + glm::vec3(localFrame.Rotation() * draggingPartSize)) * inverseSurfaceNormal / 2.f;
if (snappingFactor() > 0)
localFrame = localFrame.Rotation() + glm::round(glm::vec3(localFrame.Position() * inverseSurfaceNormal - inverseNormalPartSize) / snappingFactor()) * snappingFactor() + inverseNormalPartSize
+ localFrame.Position() * surfaceNormal.Abs();