From 6880277f23b47117f7788f08f855ed99b5120f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 12 May 2014 10:06:27 +0300 Subject: CustomDataItem made into a public class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTRD-3055 Change-Id: I1e449df7c1bcb48fc639dbae579e2e1499c9ef2b Reviewed-by: Tomi Korpipää --- src/datavisualization/data/qcustom3ditem.h | 84 ++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/datavisualization/data/qcustom3ditem.h (limited to 'src/datavisualization/data/qcustom3ditem.h') diff --git a/src/datavisualization/data/qcustom3ditem.h b/src/datavisualization/data/qcustom3ditem.h new file mode 100644 index 00000000..394c51d7 --- /dev/null +++ b/src/datavisualization/data/qcustom3ditem.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** 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 +** +****************************************************************************/ + +#ifndef QCUSTOM3DITEM_H +#define QCUSTOM3DITEM_H + +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE_DATAVISUALIZATION + +class QCustom3DItemPrivate; + +class QT_DATAVISUALIZATION_EXPORT QCustom3DItem : public QObject +{ + Q_OBJECT + Q_PROPERTY(QString meshFile READ meshFile WRITE setMeshFile NOTIFY meshFileChanged) + Q_PROPERTY(QString textureFile READ textureFile WRITE setTextureFile NOTIFY textureFileChanged) + Q_PROPERTY(QVector3D position READ position WRITE setPosition NOTIFY positionChanged) + Q_PROPERTY(QVector3D scaling READ scaling WRITE setScaling NOTIFY scalingChanged) + Q_PROPERTY(QQuaternion rotation READ rotation WRITE setRotation NOTIFY rotationChanged) + +public: + explicit QCustom3DItem(QObject *parent = 0); + explicit QCustom3DItem(const QString &meshFile, const QVector3D &position, + const QVector3D &scaling, const QQuaternion &rotation, + const QImage &texture, QObject *parent = 0); + virtual ~QCustom3DItem(); + + void setMeshFile(const QString &meshFile); + QString meshFile(); + + void setTextureFile(const QString &textureFile); + QString textureFile(); + + void setPosition(const QVector3D &position); + QVector3D position(); + + void setScaling(const QVector3D &scaling); + QVector3D scaling(); + + void setRotation(const QQuaternion &rotation); + QQuaternion rotation(); + + Q_INVOKABLE void setRotationAxisAndAngle(const QVector3D &axis, float angle); + + void setTextureImage(const QImage &textureImage); + +signals: + void meshFileChanged(const QString &meshFile); + void textureFileChanged(const QString &textureFile); + void positionChanged(const QVector3D &position); + void scalingChanged(const QVector3D &scaling); + void rotationChanged(const QQuaternion &rotation); + +protected: + QScopedPointer d_ptr; + +private: + Q_DISABLE_COPY(QCustom3DItem) + + friend class Abstract3DRenderer; +}; + +QT_END_NAMESPACE_DATAVISUALIZATION + +#endif -- cgit v1.2.3 From 8015a58ea819b41e0a896ea9e7d57d7f3a9f1c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 14 May 2014 13:40:35 +0300 Subject: Added visible flag and possibility to release ownership of custom item Task-number: QTRD-3080 Change-Id: I198930c48fe9bce6a158406aff5fbf31272b9afe Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/qcustom3ditem.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/datavisualization/data/qcustom3ditem.h') diff --git a/src/datavisualization/data/qcustom3ditem.h b/src/datavisualization/data/qcustom3ditem.h index 394c51d7..c9d0cd63 100644 --- a/src/datavisualization/data/qcustom3ditem.h +++ b/src/datavisualization/data/qcustom3ditem.h @@ -36,6 +36,7 @@ class QT_DATAVISUALIZATION_EXPORT QCustom3DItem : public QObject Q_PROPERTY(QVector3D position READ position WRITE setPosition NOTIFY positionChanged) Q_PROPERTY(QVector3D scaling READ scaling WRITE setScaling NOTIFY scalingChanged) Q_PROPERTY(QQuaternion rotation READ rotation WRITE setRotation NOTIFY rotationChanged) + Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged) public: explicit QCustom3DItem(QObject *parent = 0); @@ -59,6 +60,9 @@ public: void setRotation(const QQuaternion &rotation); QQuaternion rotation(); + void setVisible(bool visible); + bool isVisible(); + Q_INVOKABLE void setRotationAxisAndAngle(const QVector3D &axis, float angle); void setTextureImage(const QImage &textureImage); @@ -69,6 +73,7 @@ signals: void positionChanged(const QVector3D &position); void scalingChanged(const QVector3D &scaling); void rotationChanged(const QQuaternion &rotation); + void visibleChanged(bool visible); protected: QScopedPointer d_ptr; -- cgit v1.2.3 From 6368dd9a1d9e51016dcef9c93137526c07adcbeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Thu, 15 May 2014 12:01:47 +0300 Subject: Dirty bits to custom item Task-number: QTRD-3082 Change-Id: I1503b067edcc677904ca16c1501109187809f98b Change-Id: I1503b067edcc677904ca16c1501109187809f98b Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/qcustom3ditem.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/datavisualization/data/qcustom3ditem.h') diff --git a/src/datavisualization/data/qcustom3ditem.h b/src/datavisualization/data/qcustom3ditem.h index c9d0cd63..77e33404 100644 --- a/src/datavisualization/data/qcustom3ditem.h +++ b/src/datavisualization/data/qcustom3ditem.h @@ -82,6 +82,7 @@ private: Q_DISABLE_COPY(QCustom3DItem) friend class Abstract3DRenderer; + friend class Abstract3DController; }; QT_END_NAMESPACE_DATAVISUALIZATION -- cgit v1.2.3 From 806fd8ab43dd59da89d04651b22c5c0440032b94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Mon, 19 May 2014 10:16:11 +0300 Subject: Added property for disabling shadows on custom items Task-number: QTRD-3093 Change-Id: Ia24a1bc657af1bb1a528581e1f65fb50277e6874 Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/qcustom3ditem.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/datavisualization/data/qcustom3ditem.h') diff --git a/src/datavisualization/data/qcustom3ditem.h b/src/datavisualization/data/qcustom3ditem.h index 77e33404..72aad604 100644 --- a/src/datavisualization/data/qcustom3ditem.h +++ b/src/datavisualization/data/qcustom3ditem.h @@ -37,6 +37,7 @@ class QT_DATAVISUALIZATION_EXPORT QCustom3DItem : public QObject Q_PROPERTY(QVector3D scaling READ scaling WRITE setScaling NOTIFY scalingChanged) Q_PROPERTY(QQuaternion rotation READ rotation WRITE setRotation NOTIFY rotationChanged) Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged) + Q_PROPERTY(bool shadowCasting READ isShadowCasting WRITE setShadowCasting NOTIFY shadowCastingChanged) public: explicit QCustom3DItem(QObject *parent = 0); @@ -46,22 +47,25 @@ public: virtual ~QCustom3DItem(); void setMeshFile(const QString &meshFile); - QString meshFile(); + QString meshFile() const; void setTextureFile(const QString &textureFile); - QString textureFile(); + QString textureFile() const; void setPosition(const QVector3D &position); - QVector3D position(); + QVector3D position() const; void setScaling(const QVector3D &scaling); - QVector3D scaling(); + QVector3D scaling() const; void setRotation(const QQuaternion &rotation); QQuaternion rotation(); void setVisible(bool visible); - bool isVisible(); + bool isVisible() const; + + void setShadowCasting(bool enabled); + bool isShadowCasting() const; Q_INVOKABLE void setRotationAxisAndAngle(const QVector3D &axis, float angle); @@ -74,6 +78,7 @@ signals: void scalingChanged(const QVector3D &scaling); void rotationChanged(const QQuaternion &rotation); void visibleChanged(bool visible); + void shadowCastingChanged(bool shadowCasting); protected: QScopedPointer d_ptr; -- cgit v1.2.3 From 1fe989d12f8fe5c13675158044bb76551fb5eb0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 20 May 2014 12:58:30 +0300 Subject: Added support for custom items with absolute coordinates Task-number: QTRD-3122 Change-Id: Iefd4c4adad45721ed3519bdcecbbfa1e97039f08 Reviewed-by: Mika Salmela --- src/datavisualization/data/qcustom3ditem.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/datavisualization/data/qcustom3ditem.h') diff --git a/src/datavisualization/data/qcustom3ditem.h b/src/datavisualization/data/qcustom3ditem.h index 72aad604..53ec0bcf 100644 --- a/src/datavisualization/data/qcustom3ditem.h +++ b/src/datavisualization/data/qcustom3ditem.h @@ -34,6 +34,7 @@ class QT_DATAVISUALIZATION_EXPORT QCustom3DItem : public QObject Q_PROPERTY(QString meshFile READ meshFile WRITE setMeshFile NOTIFY meshFileChanged) Q_PROPERTY(QString textureFile READ textureFile WRITE setTextureFile NOTIFY textureFileChanged) Q_PROPERTY(QVector3D position READ position WRITE setPosition NOTIFY positionChanged) + Q_PROPERTY(bool positionAbsolute READ isPositionAbsolute WRITE setPositionAbsolute NOTIFY positionAbsoluteChanged) Q_PROPERTY(QVector3D scaling READ scaling WRITE setScaling NOTIFY scalingChanged) Q_PROPERTY(QQuaternion rotation READ rotation WRITE setRotation NOTIFY rotationChanged) Q_PROPERTY(bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged) @@ -55,6 +56,9 @@ public: void setPosition(const QVector3D &position); QVector3D position() const; + void setPositionAbsolute(bool positionAbsolute); + bool isPositionAbsolute() const; + void setScaling(const QVector3D &scaling); QVector3D scaling() const; @@ -75,6 +79,7 @@ signals: void meshFileChanged(const QString &meshFile); void textureFileChanged(const QString &textureFile); void positionChanged(const QVector3D &position); + void positionAbsoluteChanged(bool positionAbsolute); void scalingChanged(const QVector3D &scaling); void rotationChanged(const QQuaternion &rotation); void visibleChanged(bool visible); -- cgit v1.2.3 From f1d7a4679711734b74538be649567d0826278920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Wed, 28 May 2014 13:49:15 +0300 Subject: Added CustomLabelItem Task-number: QTRD-3135 Change-Id: Ie13c7ab5cbfca2eef88ed4ca17eaf46f2aeb4788 Reviewed-by: Miikka Heikkinen --- src/datavisualization/data/qcustom3ditem.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/datavisualization/data/qcustom3ditem.h') diff --git a/src/datavisualization/data/qcustom3ditem.h b/src/datavisualization/data/qcustom3ditem.h index 53ec0bcf..2f7f37cf 100644 --- a/src/datavisualization/data/qcustom3ditem.h +++ b/src/datavisualization/data/qcustom3ditem.h @@ -86,6 +86,8 @@ signals: void shadowCastingChanged(bool shadowCasting); protected: + QCustom3DItem(QCustom3DItemPrivate *d, QObject *parent = 0); + QScopedPointer d_ptr; private: -- cgit v1.2.3