35#ifndef CAMERACONTROLLER_H
36#define CAMERACONTROLLER_H
96 void setSceneSize(
float size) { m_sceneSize = (size > 0.01f) ? size : 0.3f; }
105 QQuaternion
rotation()
const {
return m_cameraRotation; }
109 float zoom()
const {
return m_zoom; }
122 CameraResult computeSingleView(
float aspectRatio)
const;
142 static void applyMouseRotation(
const QPoint &delta,
143 QQuaternion &rotation,
153 static void applyMousePan(
const QPoint &delta,
158 CameraResult computeForRotation(
const QQuaternion &effectiveRotation,
160 const QVector2D &pan,
162 float aspectRatio)
const;
164 QQuaternion m_cameraRotation;
165 QVector3D m_sceneCenter = QVector3D(0, 0, 0);
166 float m_sceneSize = 0.3f;
disp3D_rhi library export/import macros.
#define DISP3DRHISHARED_EXPORT
ViewState declarations — per-view data structures and conversion helpers.
Viewport subdivision holding its own camera, projection, and scissor rectangle.
Computed camera matrices (projection, view, model) and vectors for a single viewport.
void setSceneSize(float size)
QVector3D sceneCenter() const
QQuaternion rotation() const
void setRotation(const QQuaternion &q)
void setSceneCenter(const QVector3D ¢er)
CameraController()=default