summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r--src/datavisualization/engine/bars3drenderer.cpp8
-rw-r--r--src/datavisualization/engine/scatter3drenderer.cpp9
-rw-r--r--src/datavisualization/engine/seriesrendercache.cpp6
3 files changed, 13 insertions, 10 deletions
diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp
index 7b610cd9..264d25d0 100644
--- a/src/datavisualization/engine/bars3drenderer.cpp
+++ b/src/datavisualization/engine/bars3drenderer.cpp
@@ -44,7 +44,6 @@ const GLfloat labelMargin = 0.05f;
const GLfloat gridLineWidth = 0.005f;
const bool sliceGridLabels = true;
-const QQuaternion identityQuaternion;
Bars3DRenderer::Bars3DRenderer(Bars3DController *controller)
: Abstract3DRenderer(controller),
@@ -262,13 +261,6 @@ void Bars3DRenderer::updateData()
void Bars3DRenderer::updateSeries(const QList<QAbstract3DSeries *> &seriesList, bool updateVisibility)
{
Abstract3DRenderer::updateSeries(seriesList, updateVisibility);
-
- // Fix the series rotations - ignore any rotations that are not along Y-axis
- for (int series = 0; series < m_visibleSeriesList.size(); series++) {
- QVector3D vector = m_visibleSeriesList.at(series).meshRotation().vector();
- if (vector.x() || vector.z())
- m_visibleSeriesList[series].setMeshRotation(identityQuaternion);
- }
}
void Bars3DRenderer::updateScene(Q3DScene *scene)
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp
index 92c5a619..0c835c77 100644
--- a/src/datavisualization/engine/scatter3drenderer.cpp
+++ b/src/datavisualization/engine/scatter3drenderer.cpp
@@ -210,7 +210,14 @@ void Scatter3DRenderer::updateData()
&& (dotPos.z() >= minZ && dotPos.z() <= maxZ)) {
renderItem.setPosition(dotPos);
renderItem.setVisible(true);
- renderItem.setRotation(dataArray.at(i).rotation());
+ float angle = dataArray.at(i).rotationAngle();
+ if (angle) {
+ renderItem.setRotation(QQuaternion::fromAxisAndAngle(
+ dataArray.at(i).rotationAxis(),
+ dataArray.at(i).rotationAngle()));
+ } else {
+ renderItem.setRotation(identityQuaternion);
+ }
calculateTranslation(renderItem);
} else {
renderItem.setVisible(false);
diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp
index 5d20e761..9ce0fe99 100644
--- a/src/datavisualization/engine/seriesrendercache.cpp
+++ b/src/datavisualization/engine/seriesrendercache.cpp
@@ -128,7 +128,11 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer *
}
if (seriesChanged || changeTracker.meshRotationChanged) {
- m_meshRotation = series->meshRotation();
+ float angle = series->meshRotationAngle();
+ if (angle)
+ m_meshRotation = QQuaternion::fromAxisAndAngle(series->meshRotationAxis(), series->meshRotationAngle());
+ else
+ m_meshRotation = identityQuaternion;
changeTracker.meshRotationChanged = false;
}