diff options
Diffstat (limited to 'src/datavisualization/engine/q3dcamera_p.h')
-rw-r--r-- | src/datavisualization/engine/q3dcamera_p.h | 29 |
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; |