summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/q3dcamera_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine/q3dcamera_p.h')
-rw-r--r--src/datavisualization/engine/q3dcamera_p.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/datavisualization/engine/q3dcamera_p.h b/src/datavisualization/engine/q3dcamera_p.h
index b55010c8..1112c87e 100644
--- a/src/datavisualization/engine/q3dcamera_p.h
+++ b/src/datavisualization/engine/q3dcamera_p.h
@@ -36,8 +36,9 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION
class Q3DCamera;
-class Q3DCameraPrivate
+class Q3DCameraPrivate : public QObject
{
+ Q_OBJECT
public:
Q3DCameraPrivate(Q3DCamera *q);
~Q3DCameraPrivate();
@@ -47,12 +48,38 @@ public:
void setXRotation(float rotation);
void setYRotation(float rotation);
void setMinXRotation(float rotation);
+ float minXRotation() const;
void setMinYRotation(float rotation);
+ float minYRotation() const;
void setMaxXRotation(float rotation);
+ float maxXRotation() const;
void setMaxYRotation(float rotation);
+ float maxYRotation() const;
void updateViewMatrix(float zoomAdjustment);
+ QMatrix4x4 viewMatrix() const;
+ void setViewMatrix(const QMatrix4x4 &viewMatrix);
+
+ bool isViewMatrixAutoUpdateEnabled() const;
+ void setViewMatrixAutoUpdateEnabled(bool isEnabled);
+
+ void setBaseOrientation(const QVector3D &defaultPosition,
+ const QVector3D &defaultTarget,
+ const QVector3D &defaultUp);
+
+ QVector3D calculatePositionRelativeToCamera(const QVector3D &relativePosition,
+ float fixedRotation,
+ float distanceModifier) const;
+
+signals:
+ void minXRotationChanged(float rotation);
+ void minYRotationChanged(float rotation);
+ void maxXRotationChanged(float rotation);
+ void maxYRotationChanged(float rotation);
+ void viewMatrixChanged(QMatrix4x4 viewMatrix);
+ void viewMatrixAutoUpdateChanged(bool enabled);
+
public:
Q3DCamera *q_ptr;