From a30c0c304e55ffe30545ab0838e4dbe11a99b8da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 15 Apr 2014 10:32:03 +0300 Subject: Add custom item support, part 1 Task-number: QTRD-2866 + Added API for adding and removing custom items + Added custom data and custom render items + Added shaders for textured objects + Added custom item rendering draft to scatter + Fixed some shaders - to be continued in part 2 Change-Id: I9735fd02fc9e86ae486cca4c06f6d7f2a4b0b7da Reviewed-by: Mika Salmela --- src/datavisualization/data/customrenderitem_p.h | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/datavisualization/data/customrenderitem_p.h (limited to 'src/datavisualization/data/customrenderitem_p.h') diff --git a/src/datavisualization/data/customrenderitem_p.h b/src/datavisualization/data/customrenderitem_p.h new file mode 100644 index 00000000..9b6dd167 --- /dev/null +++ b/src/datavisualization/data/customrenderitem_p.h @@ -0,0 +1,60 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +// +// W A R N I N G +// ------------- +// +// This file is not part of the QtDataVisualization API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. + +#ifndef CUSTOMRENDERITEM_P_H +#define CUSTOMRENDERITEM_P_H + +#include "abstractrenderitem_p.h" +#include "objecthelper_p.h" + +QT_BEGIN_NAMESPACE_DATAVISUALIZATION + +class CustomRenderItem : public AbstractRenderItem +{ +public: + CustomRenderItem(); + CustomRenderItem(const CustomRenderItem &other); + virtual ~CustomRenderItem(); + + inline void setTexture(GLuint texture) { m_texture = texture; } + inline GLuint texture() { return m_texture; } + void setMesh(const QString &meshFile); + inline ObjectHelper *mesh() { return m_object; } + inline void setScaling(const QVector3D &scaling) { m_scaling = scaling; } + inline QVector3D scaling() { return m_scaling; } + +private: + GLuint m_texture; + QVector3D m_scaling; + ObjectHelper *m_object; + }; +typedef QVector CustomRenderItemArray; + +QT_END_NAMESPACE_DATAVISUALIZATION + +#endif -- cgit v1.2.3