25#ifndef CAMERACONTROLLER_H
26#define CAMERACONTROLLER_H
86 void setSceneSize(
float size) { m_sceneSize = (size > 0.01f) ? size : 0.3f; }
94 void setRotation(
const QQuaternion &q) { m_cameraRotation = q; }
95 QQuaternion
rotation()
const {
return m_cameraRotation; }
99 float zoom()
const {
return m_zoom; }
112 CameraResult computeSingleView(
float aspectRatio)
const;
132 static void applyMouseRotation(
const QPoint &delta,
133 QQuaternion &rotation,
143 static void applyMousePan(
const QPoint &delta,
148 CameraResult computeForRotation(
const QQuaternion &effectiveRotation,
150 const QVector2D &pan,
152 float aspectRatio)
const;
154 QQuaternion m_cameraRotation;
155 QVector3D m_sceneCenter = QVector3D(0, 0, 0);
156 float m_sceneSize = 0.3f;
Per-viewport state (camera preset, zoom, pan, visibility filter) and serialisation helpers.
Library export/import macros and namespace marker for the disp3D library.
#define DISP3DSHARED_EXPORT
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