diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-04-29 14:50:04 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2014-04-30 13:35:41 +0300 |
commit | 44b410f080c4820cea682c4d1278152d2767595c (patch) | |
tree | cebc33aae831beee71f52bddb6f4d4f9a768c69b /src/datavisualization/engine/bars3drenderer_p.h | |
parent | 35a52776f687c43a4894fafbec9af3893f1d7f65 (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.h | 6 |
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; |