From 072b7614c6b1a1f32a4baebb8260866d72ee9299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 22 Jan 2014 07:38:02 +0200 Subject: Made jira tasks of TODOs, part 1 - commented-out code will be removed (and made tasks of, if necessary) in part 2 Task-number: QTRD-2398 Change-Id: Ib94a4a873ecd25f4040c74c42902e204f3f41943 Reviewed-by: Miikka Heikkinen --- src/datavisualization/engine/bars3drenderer.cpp | 15 +------------ src/datavisualization/engine/drawer.cpp | 2 -- src/datavisualization/engine/q3dscene.cpp | 2 -- .../engine/scatter3dcontroller.cpp | 4 ---- src/datavisualization/engine/scatter3drenderer.cpp | 11 ---------- src/datavisualization/engine/seriesrendercache.cpp | 1 - .../engine/surface3dcontroller.cpp | 4 ---- src/datavisualization/engine/surface3drenderer.cpp | 25 ---------------------- 8 files changed, 1 insertion(+), 63 deletions(-) (limited to 'src/datavisualization/engine') diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 17f61818..7470f0cf 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION const GLfloat labelMargin = 0.05f; const GLfloat gridLineWidth = 0.005f; -const bool sliceGridLabels = true; // TODO: Make this user controllable (QTRD-2546) +const bool sliceGridLabels = true; Bars3DRenderer::Bars3DRenderer(Bars3DController *controller) : Abstract3DRenderer(controller), @@ -242,7 +242,6 @@ void Bars3DRenderer::updateData() void Bars3DRenderer::updateScene(Q3DScene *scene) { - // TODO: See QTRD-2374 if (m_hasNegativeValues) scene->activeCamera()->setMinYRotation(-90.0); else @@ -308,7 +307,6 @@ void Bars3DRenderer::drawSlicedScene() GLfloat barPosYAdjustment = -0.8f; // Translate to -1.0 + 0.2 for row/column labels GLfloat scaleFactor = 0.0f; - // TODO: When doing this correctly (QTRD-2125), use label dimensions instead of magic number GLfloat barLabelYPos = barPosYAdjustment - 0.4f - labelMargin; // 0.4 for labels GLfloat zeroPosAdjustment = 0.0f; if (!m_noZeroInRange) @@ -393,7 +391,6 @@ void Bars3DRenderer::drawSlicedScene() } } - // TODO: Make user controllable (QTRD-2546) if (sliceGridLabels) { // Bind label shader m_labelShader->bind(); @@ -593,7 +590,6 @@ void Bars3DRenderer::drawSlicedScene() m_dummyBarRenderItem.setTranslation(QVector3D(item->translation().x(), barLabelYPos, item->translation().z())); - // TODO: Make user controllable (QTRD-2546) // Draw labels m_drawer->drawLabel(m_dummyBarRenderItem, *m_sliceCache->labelItems().at(labelNo), viewMatrix, projectionMatrix, positionComp, sliceLabelRotation, @@ -605,7 +601,6 @@ void Bars3DRenderer::drawSlicedScene() for (int col = 0; col < sliceItemCount; col++) { BarRenderItem *item = m_sliceSelection.at(col); - // TODO: Make user controllable (QTRD-2546) if (!sliceGridLabels) { // Draw values if (item->height() != 0.0f || (!m_noZeroInRange && item->value() == 0.0f)) { @@ -631,8 +626,6 @@ void Bars3DRenderer::drawSlicedScene() } } else { // Only draw value for selected item when grid labels are on - // TODO: Maybe use selection label instead of value? Should it be user controllable - // as well? (QTRD-2546) if (itemMode && m_visualSelectedBarPos.x() == item->position().x() && m_visualSelectedBarPos.y() == item->position().y() && item->seriesIndex() == m_visualSelectedBarSeriesIndex) { @@ -659,7 +652,6 @@ void Bars3DRenderer::drawSlicedScene() } } - // TODO: Make user controllable (QTRD-2546) // Draw labels for axes if (rowMode) { if (m_sliceTitleItem) { @@ -812,10 +804,6 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) zeroVector, 0.0f, 3.5f / m_autoScaleAdjustment); depthViewMatrix.lookAt(depthLightPos, zeroVector, upVector); - // TODO: Why does depthViewMatrix.column(3).y() goes to zero when we're directly above? - // That causes the scene to be not drawn from above -> must be fixed - // qDebug() << lightPos << depthViewMatrix << depthViewMatrix.column(3); - // Set the depth projection matrix depthProjectionMatrix.perspective(10.0f, viewPortRatio, 3.0f, 100.0f); depthProjectionViewMatrix = depthProjectionMatrix * depthViewMatrix; @@ -912,7 +900,6 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) } #endif - // TODO: Selection must be enabled currently to support clicked signal. (QTRD-2517) // Skip selection mode drawing if we're slicing or have no selection mode if (!m_cachedIsSlicingActivated && m_cachedSelectionMode > QAbstract3DGraph::SelectionNone && m_selectionState == SelectOnScene && seriesCount > 0) { diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index dde0def2..2fb8d81f 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -210,12 +210,10 @@ void Drawer::drawLabel(const AbstractRenderItem &item, const LabelItem &labelIte break; } case LabelMid: { - // Use this for positioning with absolute item y position value yPosition = item.translation().y(); break; } case LabelHigh: { - // TODO: Fix this. Can't seem to get it right (if ok with positive-only bars, doesn't look good on +- and vice versa) yPosition = item.translation().y() + itemHeight / 2.0f; break; } diff --git a/src/datavisualization/engine/q3dscene.cpp b/src/datavisualization/engine/q3dscene.cpp index de19e84c..d2cf9c58 100644 --- a/src/datavisualization/engine/q3dscene.cpp +++ b/src/datavisualization/engine/q3dscene.cpp @@ -205,7 +205,6 @@ void Q3DScene::setPrimarySubViewport(const QRect &primarySubViewport) */ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) { - // TODO: Needs fixing. Doesn't respect whether slice or main view is on top or if slicing is even activated currently. int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_primarySubViewport.x(); @@ -224,7 +223,6 @@ bool Q3DScene::isPointInPrimarySubView(const QPoint &point) */ bool Q3DScene::isPointInSecondarySubView(const QPoint &point) { - // TODO: Needs fixing. Doesn't respect whether slice or main view is on top or if slicing is even activated currently. int x = point.x(); int y = point.y(); int areaMinX = d_ptr->m_secondarySubViewport.x(); diff --git a/src/datavisualization/engine/scatter3dcontroller.cpp b/src/datavisualization/engine/scatter3dcontroller.cpp index 6aa10a11..8a57af26 100644 --- a/src/datavisualization/engine/scatter3dcontroller.cpp +++ b/src/datavisualization/engine/scatter3dcontroller.cpp @@ -132,7 +132,6 @@ void Scatter3DController::handleItemsAdded(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series->isVisible()) { adjustValueAxisRange(); @@ -145,7 +144,6 @@ void Scatter3DController::handleItemsChanged(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series->isVisible()) { adjustValueAxisRange(); @@ -158,7 +156,6 @@ void Scatter3DController::handleItemsRemoved(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series == m_selectedItemSeries) { // If items removed from selected series before the selection, adjust the selection @@ -190,7 +187,6 @@ void Scatter3DController::handleItemsInserted(int startIndex, int count) { Q_UNUSED(startIndex) Q_UNUSED(count) - // TODO should dirty only affected values? QScatter3DSeries *series = static_cast(sender())->series(); if (series == m_selectedItemSeries) { // If items inserted to selected series before the selection, adjust the selection diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index 047b0aad..073644db 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -224,7 +224,6 @@ void Scatter3DRenderer::updateData() void Scatter3DRenderer::updateScene(Q3DScene *scene) { - // TODO: See QTRD-2374 scene->activeCamera()->setMinYRotation(-90.0f); if (m_hasHeightAdjustmentChanged) { @@ -357,18 +356,12 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) QVector3D depthLightPos = activeCamera->calculatePositionRelativeToCamera( zeroVector, 0.0f, 2.5f / m_autoScaleAdjustment); depthViewMatrix.lookAt(depthLightPos, zeroVector, upVector); - // TODO: Why does depthViewMatrix.column(3).y() goes to zero when we're directly above? - // That causes the scene to be not drawn from above -> must be fixed - // qDebug() << lightPos << depthViewMatrix << depthViewMatrix.column(3); // Set the depth projection matrix #ifndef USE_WIDER_SHADOWS // Use this for perspective shadows depthProjectionMatrix.perspective(15.0f, viewPortRatio, 3.0f, 100.0f); #else // Use these for orthographic shadows - //depthProjectionMatrix.ortho(-aspectRatio * 2.0f, aspectRatio * 2.0f, - // -m_heightNormalizer * 2.0f, m_heightNormalizer * 2.0f, - // 0.0f, 100.0f); GLfloat testAspectRatio = viewPortRatio; depthProjectionMatrix.ortho(-testAspectRatio * 2.0f, testAspectRatio * 2.0f, -m_heightNormalizer * 2.0f, m_heightNormalizer * 2.0f, @@ -489,7 +482,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) ObjectHelper *dotObj = m_visibleSeriesList.at(series).object(); bool drawingPoints = (m_visibleSeriesList.at(series).mesh() == QAbstract3DSeries::MeshPoint); - // TODO: Accessing series directly during rendering float itemSize = static_cast(m_visibleSeriesList.at(series).series())->itemSize() / itemScaler; @@ -643,7 +635,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) bool colorStyleIsUniform = (colorStyle == Q3DTheme::ColorStyleUniform); bool useColor = colorStyleIsUniform || drawingPoints; - // TODO: Accessing series directly during rendering float itemSize = static_cast(currentSeries.series())->itemSize() / itemScaler; @@ -1267,8 +1258,6 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) } // Draw axis labels - // TODO: Calculations done temporarily here. Should be done when calculating lines to avoid - // extra for -loops? // Bind label shader m_labelShader->bind(); diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp index 2f055d46..f1165cb7 100644 --- a/src/datavisualization/engine/seriesrendercache.cpp +++ b/src/datavisualization/engine/seriesrendercache.cpp @@ -117,7 +117,6 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer * renderer->fixMeshFileName(meshFileName, m_mesh); } - // TODO: Optimize by having some kind of object cache in renderer instead of having separate ObjectHelper for each series? delete m_object; if (meshFileName.isEmpty()) { m_object = 0; diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index f0dac44b..979d615a 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -122,8 +122,6 @@ void Surface3DController::handlePendingClick() QPoint position = m_renderer->clickedPosition(); QSurface3DSeries *series = static_cast(m_renderer->clickedSeries()); - // TODO: Adjust position according to inserts/removes in the series - setSelectedPoint(position, series); m_renderer->resetClickedStatus(); @@ -245,8 +243,6 @@ void Surface3DController::setSelectedPoint(const QPoint &position, QSurface3DSer scene()->setSlicingActive(false); } else { // If the selected point is outside data window, or there is no selected point, disable slicing - // TODO: (QTRD-2351) This logic doesn't match the renderer logic for non straight surfaces, - // but that logic needs to change anyway, so this is good for now. float axisMinX = m_axisX->min(); float axisMaxX = m_axisX->max(); float axisMinZ = m_axisZ->min(); diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 135e08e5..2cf56103 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -42,9 +42,6 @@ QT_BEGIN_NAMESPACE_DATAVISUALIZATION //#define SHOW_DEPTH_TEXTURE_SCENE -// TODO Uniform scaling is broken on surface -//#define USE_UNIFORM_SCALING // Scale x and z uniformly, or based on autoscaled values - const GLfloat aspectRatio = 2.0f; // Forced ratio of x and z to y. Dynamic will make it look odd. const GLfloat backgroundMargin = 1.1f; // Margin for background (1.1f = make it 10% larger to avoid items being drawn inside background) const GLfloat labelMargin = 0.05f; @@ -227,7 +224,6 @@ void Surface3DRenderer::updateData() m_dataArray.clear(); } - // TODO: Handle partial surface grids on the graph edges if (sampleSpace.width() >= 2 && sampleSpace.height() >= 2) { if (dimensionChanged) { m_dataArray.reserve(sampleSpace.height()); @@ -281,8 +277,6 @@ void Surface3DRenderer::updateSeries(const QList &seriesLis { Abstract3DRenderer::updateSeries(seriesList, updateVisibility); - // TODO: move to render cache when multiseries support implemented QTRD-2657 - // TODO: until then just update them always. if (m_visibleSeriesList.size()) { QSurface3DSeries *series = static_cast(m_visibleSeriesList.at(0).series()); updateFlatStatus(series->isFlatShadingEnabled()); @@ -348,8 +342,6 @@ void Surface3DRenderer::updateRows(const QVector &rows) void Surface3DRenderer::updateItem(const QVector &points) { - // TODO: Properly support non-straight rows and columns (QTRD-2643) - // Surface only supports single series for now, so we are only interested in the first series const QSurfaceDataArray *array = 0; if (m_visibleSeriesList.size()) { @@ -611,7 +603,6 @@ void Surface3DRenderer::drawSlicedScene() QMatrix4x4 modelMatrix; QMatrix4x4 itModelMatrix; - // TODO: Do properly when multiseries support implemented QTRD-2657 const SeriesRenderCache &series = m_visibleSeriesList.at(0); modelMatrix.translate(offset, 0.0f, 0.0f); @@ -912,9 +903,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) zeroVector, 0.0f, 3.5f / m_autoScaleAdjustment); depthViewMatrix.lookAt(depthLightPos, zeroVector, upVector); - // TODO: Why does depthViewMatrix.column(3).y() goes to zero when we're directly above? - // That causes the scene to be not drawn from above -> must be fixed - // qDebug() << lightPos << depthViewMatrix << depthViewMatrix.column(3); // Set the depth projection matrix #ifndef USE_WIDER_SHADOWS // Use this for perspective shadows @@ -1096,7 +1084,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) m_cachedTheme->ambientLightStrength()); m_surfaceShader->setUniformValue(m_surfaceShader->lightColor(), lightColor); - // TODO: Do properly when multiseries support implemented QTRD-2657 GLuint gradientTexture; if (m_visibleSeriesList.at(0).colorStyle() == Q3DTheme::ColorStyleUniform) gradientTexture = m_uniformGradientTexture; @@ -1725,7 +1712,6 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) || visiblePoint == Surface3DController::invalidSelectionPosition()) { m_selectionActive = false; } else { - // TODO: Need separate selection ball for slice and main surface view QTRD-2515 if (m_cachedIsSlicingActivated) updateSliceDataModel(visiblePoint); if (m_cachedSelectionMode.testFlag(QAbstract3DGraph::SelectionItem)) @@ -1831,17 +1817,10 @@ void Surface3DRenderer::calculateSceneScalingFactors() m_areaSize.setHeight(m_axisCacheZ.max() - m_axisCacheZ.min()); m_areaSize.setWidth(m_axisCacheX.max() - m_axisCacheX.min()); m_scaleFactor = qMax(m_areaSize.width(), m_areaSize.height()); -#ifndef USE_UNIFORM_SCALING // Use this if we want to use autoscaling for x and z m_scaleX = aspectRatio * m_areaSize.width() / m_scaleFactor; m_scaleZ = aspectRatio * m_areaSize.height() / m_scaleFactor; m_scaleXWithBackground = m_scaleX * backgroundMargin; m_scaleZWithBackground = m_scaleZ * backgroundMargin; -#else // ..and this if we want uniform scaling based on largest dimension - m_scaleX = aspectRatio / m_scaleFactor; - m_scaleZ = aspectRatio / m_scaleFactor; - m_scaleXWithBackground = aspectRatio * backgroundMargin; - m_scaleZWithBackground = aspectRatio * backgroundMargin; -#endif } bool Surface3DRenderer::updateFlatStatus(bool enable) @@ -1956,7 +1935,6 @@ void Surface3DRenderer::surfacePointSelected(const QPoint &point) m_selectionPointer->setPosition(pos); m_selectionPointer->setLabel(createSelectionLabel(value, column, row)); - // TODO: Get pointer object from correct series once multiseries support implemented m_selectionPointer->setPointerObject(m_visibleSeriesList.at(0).object()); m_selectionPointer->setHighlightColor(m_visibleSeriesList.at(0).singleHighlightColor()); m_selectionPointer->updateScene(m_cachedScene); @@ -1972,7 +1950,6 @@ QPoint Surface3DRenderer::selectionIdToSurfacePoint(uint id) QString Surface3DRenderer::createSelectionLabel(float value, int column, int row) { - // TODO: Get from correct series once multiple series supported QString labelText = m_visibleSeriesList[0].itemLabelFormat(); static const QString xTitleTag(QStringLiteral("@xTitle")); static const QString yTitleTag(QStringLiteral("@yTitle")); @@ -2010,7 +1987,6 @@ QString Surface3DRenderer::createSelectionLabel(float value, int column, int row labelText.replace(zLabelTag, valueLabelText); } - // TODO: Get from correct series once multiple series supported labelText.replace(seriesNameTag, m_visibleSeriesList[0].name()); m_selectionLabelDirty = false; @@ -2203,7 +2179,6 @@ void Surface3DRenderer::updateDepthBuffer() void Surface3DRenderer::generateUniformGradient(const QVector3D newColor) { if (m_visibleSeriesList.size()) { - // TODO: move uniform gradient to render cache when multiseries support implemented QTRD-2657 QColor newQColor = Utils::colorFromVector(newColor); m_uniformGradientTextureColor = newColor; QLinearGradient newGradient; -- cgit v1.2.3