diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-04-15 10:36:07 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-04-15 10:41:18 +0300 |
commit | e73afe39d81fd6fba070aa475d9c7490a6a7d8d1 (patch) | |
tree | 2a4706734b44926ea4c8c0e5258cce4f4a2dcc96 /src | |
parent | bb2beee9768b09a05138a9e8021716ebb72bfbc2 (diff) |
Fixed label printing in ZoomColumn mode
Change-Id: I5e6341c7365051958798fac16fa899f44b25efeb
Change-Id: I5e6341c7365051958798fac16fa899f44b25efeb
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/datavis3d/engine/q3dbars.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp index a1379346..d7a7c16b 100644 --- a/src/datavis3d/engine/q3dbars.cpp +++ b/src/datavis3d/engine/q3dbars.cpp @@ -956,29 +956,22 @@ void Q3DBars::drawScene() // TODO: Move to a separate class, so that it can be used by other vis types as well (will need a lot more parameters..) void Q3DBars::drawLabel(const QDataItem &item, const QMatrix4x4 &viewmatrix - , const QMatrix4x4 &projectionmatrix, bool useDepth, qreal rotation) // TODO: Add enum? for label position + , const QMatrix4x4 &projectionmatrix, bool useDepth, qreal rotation) // TODO: Add enum? for label position (below, middle, top etc.) { - // TODO: Fix drawing of labels when in ZoomColumn -mode - // Draw label QMatrix4x4 modelMatrix; QMatrix4x4 MVPMatrix; qreal yPosition = -1.5f; if (useDepth) // replace with enum? or adjustable height yPosition = item.d_ptr->translation().y() - + (item.d_ptr->value() / d_ptr->m_heightNormalizer);// / 2.0f; + + (item.d_ptr->value() / d_ptr->m_heightNormalizer); qreal zPosition = zComp; + qreal xPosition = item.d_ptr->translation().x(); if (useDepth) zPosition = item.d_ptr->translation().z(); - if (ZoomColumn == d_ptr->m_selectionMode) { - modelMatrix.translate(-(item.d_ptr->translation().z()) - zComp - , yPosition - , zPosition); - } else { - modelMatrix.translate(item.d_ptr->translation().x() - , yPosition - , zPosition); - } + else if (ZoomColumn == d_ptr->m_selectionMode) + xPosition = -(item.d_ptr->translation().z()) + zComp; // flip first to left + modelMatrix.translate(xPosition, yPosition, zPosition); // Rotate modelMatrix.rotate(rotation, 0.0f, 0.0f, 1.0f); |