summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/bars3drenderer_p.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-04-29 14:50:04 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-04-30 13:35:41 +0300
commit44b410f080c4820cea682c4d1278152d2767595c (patch)
treecebc33aae831beee71f52bddb6f4d4f9a768c69b /src/datavisualization/engine/bars3drenderer_p.h
parent35a52776f687c43a4894fafbec9af3893f1d7f65 (diff)
Bar data item and row changing optimizations
No longer reset the entire render item array if single item or row changes, significantly speeding up these operations. Task-number: QTRD-2190 Change-Id: I44b8abd384003e252e4bfc34af5d73ac1dee34bf Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com> Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine/bars3drenderer_p.h')
-rw-r--r--src/datavisualization/engine/bars3drenderer_p.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/datavisualization/engine/bars3drenderer_p.h b/src/datavisualization/engine/bars3drenderer_p.h
index ca0e690e..ddea546e 100644
--- a/src/datavisualization/engine/bars3drenderer_p.h
+++ b/src/datavisualization/engine/bars3drenderer_p.h
@@ -108,6 +108,7 @@ private:
bool m_keepSeriesUniform;
bool m_haveUniformColorSeries;
bool m_haveGradientSeries;
+ float m_zeroPosition;
public:
explicit Bars3DRenderer(Bars3DController *controller);
@@ -116,6 +117,8 @@ public:
void updateData();
void updateSeries(const QList<QAbstract3DSeries *> &seriesList);
SeriesRenderCache *createNewCache(QAbstract3DSeries *series);
+ void updateRows(const QVector<Bars3DController::ChangeRow> &rows);
+ void updateItems(const QVector<Bars3DController::ChangeItem> &points);
void updateScene(Q3DScene *scene);
void render(GLuint defaultFboHandle = 0);
@@ -169,6 +172,9 @@ private:
QPoint selectionColorToArrayPosition(const QVector4D &selectionColor);
QBar3DSeries *selectionColorToSeries(const QVector4D &selectionColor);
+ inline void updateRenderRow(const QBarDataRow *dataRow, BarRenderItemRow &renderRow);
+ inline void updateRenderItem(const QBarDataItem &dataItem, BarRenderItem &renderItem);
+
Q_DISABLE_COPY(Bars3DRenderer)
friend class BarRenderItem;