diff options
-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); |