diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-01 13:17:27 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-01 13:22:25 +0300 |
commit | 545fc0e327dd4fdc8df6c615d4800a147174fc79 (patch) | |
tree | 37078a3de44b6899dfca93ebab7c7c391880e6df /src | |
parent | 148047c90133d19a194fb450a6c619a56c8e6833 (diff) |
Added camera control to surface api
Change-Id: I2492c520f4f8142be36e4008fead29dbc02a93c7
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/datavisualization/engine/q3dsurface.cpp | 25 | ||||
-rw-r--r-- | src/datavisualization/engine/q3dsurface.h | 9 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/datavisualization/engine/q3dsurface.cpp b/src/datavisualization/engine/q3dsurface.cpp index 467fbc1c..8522eb81 100644 --- a/src/datavisualization/engine/q3dsurface.cpp +++ b/src/datavisualization/engine/q3dsurface.cpp @@ -239,6 +239,31 @@ QDataVis::ShadowQuality Q3DSurface::shadowQuality() const } /*! + * \property Q3DSurface::cameraPreset + * + * The \a preset position of the camera. The position can be one of \c QDataVis::CameraPreset. + */ +void Q3DSurface::setCameraPreset(QDataVis::CameraPreset preset) +{ + d_ptr->m_shared->setCameraPreset(preset); +} + +QDataVis::CameraPreset Q3DSurface::cameraPreset() const +{ + return d_ptr->m_shared->cameraPreset(); +} + +/*! + * Move camera to a wanted position based on \a horizontal and \a vertical angles. Angles are limited + * to -180...180 in horizontal direction and 0...90 in vertical. \a distance is adjustable + * between 10 and 500, being \c 100 by default. + */ +void Q3DSurface::setCameraPosition(qreal horizontal, qreal vertical, int distance) +{ + d_ptr->m_shared->setCameraPosition(GLfloat(horizontal), GLfloat(vertical), GLint(distance)); +} + +/*! * \property Q3DSurface::smoothSurfaceEnabled * * Sets surface smoothing to \a enabled. It is preset to \c false by default. diff --git a/src/datavisualization/engine/q3dsurface.h b/src/datavisualization/engine/q3dsurface.h index 957234b7..97b0dde0 100644 --- a/src/datavisualization/engine/q3dsurface.h +++ b/src/datavisualization/engine/q3dsurface.h @@ -37,13 +37,17 @@ class QT_DATAVISUALIZATION_EXPORT Q3DSurface : public Q3DWindow Q_PROPERTY(QtDataVisualization::QDataVis::LabelTransparency labelTransparency READ labelTransparency WRITE setLabelTransparency) Q_PROPERTY(QtDataVisualization::QDataVis::ColorTheme theme READ theme WRITE setTheme) Q_PROPERTY(QtDataVisualization::QDataVis::ShadowQuality shadowQuality READ shadowQuality WRITE setShadowQuality) + Q_PROPERTY(QtDataVisualization::QDataVis::CameraPreset cameraPreset READ cameraPreset WRITE setCameraPreset) Q_PROPERTY(bool gridVisible READ isGridVisible WRITE setGridVisible) Q_PROPERTY(bool backgroundVisible READ isBackgroundVisible WRITE setBackgroundVisible) Q_PROPERTY(bool smoothSurfaceEnabled READ isSmoothSurfaceEnabled WRITE setSmoothSurfaceEnabled) Q_PROPERTY(bool surfaceGridEnabled READ isSurfaceGridEnabled WRITE setSurfaceGridEnabled) Q_PROPERTY(QLinearGradient gradient READ gradient WRITE setGradient) Q_PROPERTY(QFont font READ font WRITE setFont) + Q_ENUMS(QtDataVisualization::QDataVis::SelectionMode) + Q_ENUMS(QtDataVisualization::QDataVis::ShadowQuality) Q_ENUMS(QtDataVisualization::QDataVis::LabelTransparency) + Q_ENUMS(QtDataVisualization::QDataVis::CameraPreset) public: explicit Q3DSurface(); @@ -61,6 +65,11 @@ public: void setShadowQuality(QDataVis::ShadowQuality quality); QDataVis::ShadowQuality shadowQuality() const; + void setCameraPreset(QDataVis::CameraPreset preset); + QDataVis::CameraPreset cameraPreset() const; + + void setCameraPosition(qreal horizontal, qreal vertical, int distance = 100); + void setSmoothSurfaceEnabled(bool enabled); bool isSmoothSurfaceEnabled() const; |