summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2015-08-08 23:38:01 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-08-10 01:24:02 +0000
commit1c65685f25b522777097deeffbe7fbde1ae811c8 (patch)
treefb16dfba0d07159a4e8ea4f2dc948fc44279b5d4
parentb50db0484f3ec14cb532cb0289ee1e5d47c22759 (diff)
Add some properties to QSphereCollider
Change-Id: I0f715671b6b04b608128a900a40e0429f6e840aa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/collision/qspherecollider.cpp32
-rw-r--r--src/collision/qspherecollider.h14
2 files changed, 46 insertions, 0 deletions
diff --git a/src/collision/qspherecollider.cpp b/src/collision/qspherecollider.cpp
index 840bd6ee0..ef3b4a085 100644
--- a/src/collision/qspherecollider.cpp
+++ b/src/collision/qspherecollider.cpp
@@ -86,6 +86,38 @@ QSphereCollider::~QSphereCollider()
QNode::cleanup();
}
+QVector3D QSphereCollider::center() const
+{
+ Q_D(const QSphereCollider);
+ return d->m_center;
+}
+
+float QSphereCollider::radius() const
+{
+ Q_D(const QSphereCollider);
+ return d->m_radius;
+}
+
+void QSphereCollider::setCenter(const QVector3D &center)
+{
+ Q_D(QSphereCollider);
+ if (d->m_center == center)
+ return;
+
+ d->m_center = center;
+ emit centerChanged(center);
+}
+
+void QSphereCollider::setRadius(float radius)
+{
+ Q_D(QSphereCollider);
+ if (d->m_radius == radius)
+ return;
+
+ d->m_radius = radius;
+ emit radiusChanged(radius);
+}
+
}
QT_END_NAMESPACE
diff --git a/src/collision/qspherecollider.h b/src/collision/qspherecollider.h
index af147fc13..43a4bfbd7 100644
--- a/src/collision/qspherecollider.h
+++ b/src/collision/qspherecollider.h
@@ -39,6 +39,7 @@
#include <Qt3DCore/qcomponent.h>
#include <Qt3DCollision/qt3dcollision_global.h>
+#include <QtGui/qvector3d.h>
QT_BEGIN_NAMESPACE
@@ -49,11 +50,24 @@ class QSphereColliderPrivate;
class QT3DCOLLISIONSHARED_EXPORT QSphereCollider : public QComponent
{
Q_OBJECT
+ Q_PROPERTY(QVector3D center READ center WRITE setCenter NOTIFY centerChanged)
+ Q_PROPERTY(float radius READ radius WRITE setRadius NOTIFY radiusChanged)
public:
explicit QSphereCollider(QNode *parent = 0);
~QSphereCollider();
+ QVector3D center() const;
+ float radius() const;
+
+public Q_SLOTS:
+ void setCenter(const QVector3D &center);
+ void setRadius(float radius);
+
+Q_SIGNALS:
+ void centerChanged(QVector3D center);
+ void radiusChanged(float radius);
+
protected:
QSphereCollider(QSphereColliderPrivate &dd, QNode *parent = 0);