diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-08-26 11:26:06 +0300 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2014-08-26 11:57:58 +0300 |
commit | fcac33d0ee25115808ca43810cf6a3438e2da227 (patch) | |
tree | 476ccc9bef5aa83204144a43f86c13cadb81b62d /src/datavisualization/engine/abstract3dcontroller.cpp | |
parent | 5a51d06ec8f0210f51e65abfde9f868ab7bfa8ef (diff) |
Reflection API added
Task-number: QTRD-3287
Change-Id: I6c06b8fe025e0f1f87be00be906cab0e1f18a19f
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3dcontroller.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/datavisualization/engine/abstract3dcontroller.cpp b/src/datavisualization/engine/abstract3dcontroller.cpp index 52ab853d..feb028cc 100644 --- a/src/datavisualization/engine/abstract3dcontroller.cpp +++ b/src/datavisualization/engine/abstract3dcontroller.cpp @@ -40,6 +40,8 @@ Abstract3DController::Abstract3DController(QRect initialViewport, Q3DScene *scen m_aspectRatio(2.0), m_horizontalAspectRatio(0.0), m_optimizationHints(QAbstract3DGraph::OptimizationDefault), + m_reflectionEnabled(false), + m_reflectivity(0.5), m_scene(scene), m_activeInputHandler(0), m_axisX(0), @@ -215,6 +217,17 @@ void Abstract3DController::synchDataToRenderer() m_changeTracker.optimizationHintChanged = false; } + if (m_changeTracker.reflectionChanged) { + m_renderer->m_reflectionEnabled = m_reflectionEnabled; + m_changeTracker.reflectionChanged = false; + } + + if (m_changeTracker.reflectivityChanged) { + // Invert value to match functionality to the property description + m_renderer->m_reflectivity = -(m_reflectivity - 1.0); + m_changeTracker.reflectivityChanged = false; + } + if (m_changeTracker.axisXFormatterChanged) { m_changeTracker.axisXFormatterChanged = false; if (m_axisX->type() & QAbstract3DAxis::AxisTypeValue) { @@ -1558,6 +1571,36 @@ qreal Abstract3DController::horizontalAspectRatio() const return m_horizontalAspectRatio; } +void Abstract3DController::setReflection(bool enable) +{ + if (m_reflectionEnabled != enable) { + m_reflectionEnabled = enable; + m_changeTracker.reflectionChanged = true; + emit reflectionChanged(m_reflectionEnabled); + emitNeedRender(); + } +} + +bool Abstract3DController::reflection() const +{ + return m_reflectionEnabled; +} + +void Abstract3DController::setReflectivity(qreal reflectivity) +{ + if (m_reflectivity != reflectivity) { + m_reflectivity = reflectivity; + m_changeTracker.reflectivityChanged = true; + emit reflectivityChanged(m_reflectivity); + emitNeedRender(); + } +} + +qreal Abstract3DController::reflectivity() const +{ + return m_reflectivity; +} + void Abstract3DController::setPolar(bool enable) { if (enable != m_isPolar) { |