diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2015-08-08 23:38:01 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2015-08-10 01:24:02 +0000 |
commit | 1c65685f25b522777097deeffbe7fbde1ae811c8 (patch) | |
tree | fb16dfba0d07159a4e8ea4f2dc948fc44279b5d4 | |
parent | b50db0484f3ec14cb532cb0289ee1e5d47c22759 (diff) |
Add some properties to QSphereCollider
Change-Id: I0f715671b6b04b608128a900a40e0429f6e840aa
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r-- | src/collision/qspherecollider.cpp | 32 | ||||
-rw-r--r-- | src/collision/qspherecollider.h | 14 |
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 ¢er) +{ + 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 ¢er); + void setRadius(float radius); + +Q_SIGNALS: + void centerChanged(QVector3D center); + void radiusChanged(float radius); + protected: QSphereCollider(QSphereColliderPrivate &dd, QNode *parent = 0); |