feat: Implement middle-mouse rotation around grid intersection with visual pivot

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-17 13:04:33 -07:00
parent 68eeeb11ec
commit 88199a9d51
3 changed files with 90 additions and 0 deletions

View File

@@ -42,6 +42,11 @@ public:
void animateToPlaneView(int plane);
void animateRestoreState();
void startRotation(const QVector3D& pivot);
void stopRotation();
bool isRotating() const { return m_isRotating; }
const QVector3D& rotationPivot() const { return m_rotationPivot; }
float savedXRot() const { return m_savedXRot; }
float savedYRot() const { return m_savedYRot; }
float savedZoom() const { return m_savedZoom; }
@@ -60,6 +65,9 @@ private:
float m_panX;
float m_panY;
QVector3D m_rotationPivot;
bool m_isRotating = false;
float m_savedXRot = 0;
float m_savedYRot = 0;
float m_savedZoom = -5.0f;