diff options
Diffstat (limited to 'src/datavisualization/engine/seriesrendercache_p.h')
-rw-r--r-- | src/datavisualization/engine/seriesrendercache_p.h | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/datavisualization/engine/seriesrendercache_p.h b/src/datavisualization/engine/seriesrendercache_p.h index 77e050b0..96b61b87 100644 --- a/src/datavisualization/engine/seriesrendercache_p.h +++ b/src/datavisualization/engine/seriesrendercache_p.h @@ -41,48 +41,59 @@ class TextureHelper; class SeriesRenderCache { public: - SeriesRenderCache(); + SeriesRenderCache(QAbstract3DSeries *series, Abstract3DRenderer *renderer); virtual ~SeriesRenderCache(); - void populate(QAbstract3DSeries *series, Abstract3DRenderer *renderer); + virtual void populate(bool newSeries); virtual void cleanup(TextureHelper *texHelper); // NOTE: Series pointer can only be used to access the series when syncing with controller. // It is not guaranteed to be valid while rendering and should only be used as an identifier. inline QAbstract3DSeries *series() const { return m_series; } - inline const QString &itemLabelFormat() const { return m_itemLabelFormat; } inline const QAbstract3DSeries::Mesh &mesh() const { return m_mesh; } inline const QQuaternion &meshRotation() const { return m_meshRotation; } inline void setMeshRotation(const QQuaternion &rotation) { m_meshRotation = rotation; } inline ObjectHelper *object() const { return m_object; } inline const Q3DTheme::ColorStyle &colorStyle() const { return m_colorStyle; } - inline const QVector3D &baseColor() const { return m_baseColor; } + inline const QVector4D &baseColor() const { return m_baseColor; } inline const GLuint &baseUniformTexture() const { return m_baseUniformTexture; } inline const GLuint &baseGradientTexture() const { return m_baseGradientTexture; } - inline const QVector3D &singleHighlightColor() const { return m_singleHighlightColor; } + inline const QImage &gradientImage() const { return m_gradientImage; } + inline const QVector4D &singleHighlightColor() const { return m_singleHighlightColor; } inline const GLuint &singleHighlightGradientTexture() const { return m_singleHighlightGradientTexture; } - inline const QVector3D &multiHighlightColor() const { return m_multiHighlightColor; } + inline const QVector4D &multiHighlightColor() const { return m_multiHighlightColor; } inline const GLuint &multiHighlightGradientTexture() const { return m_multiHighlightGradientTexture; } inline const QString &name() const { return m_name; } + inline const QString &itemLabel() const { return m_itemLabel; } + inline void setValid(bool valid) { m_valid = valid; } + inline bool isValid() const { return m_valid; } + inline bool isVisible() const { return m_visible; } + inline void setDataDirty(bool state) { m_objectDirty = state; } + inline bool dataDirty() const { return m_objectDirty; } protected: QAbstract3DSeries *m_series; - QString m_itemLabelFormat; - ObjectHelper *m_object; + ObjectHelper *m_object; // Shared reference QAbstract3DSeries::Mesh m_mesh; QQuaternion m_meshRotation; Q3DTheme::ColorStyle m_colorStyle; - QVector3D m_baseColor; + QVector4D m_baseColor; GLuint m_baseUniformTexture; GLuint m_baseGradientTexture; - QVector3D m_singleHighlightColor; + QImage m_gradientImage; + QVector4D m_singleHighlightColor; GLuint m_singleHighlightGradientTexture; - QVector3D m_multiHighlightColor; + QVector4D m_multiHighlightColor; GLuint m_multiHighlightGradientTexture; QString m_name; + QString m_itemLabel; + bool m_valid; + bool m_visible; + Abstract3DRenderer *m_renderer; + bool m_objectDirty; }; QT_END_NAMESPACE_DATAVISUALIZATION |