emit events for hand-avatar collisions

This commit is contained in:
Andrew Meadows 2014-04-09 14:32:57 -07:00
parent 034f518d40
commit 07b343ec03
3 changed files with 8 additions and 3 deletions

View file

@ -152,6 +152,9 @@ public:
public slots:
void updateCollisionFlags();
signals:
void collisionWithAvatar(const QUuid&, const QUuid&, const CollisionInfo&);
protected:
SkeletonModel _skeletonModel;
float _bodyYawDelta;

View file

@ -159,6 +159,11 @@ void Hand::collideAgainstAvatar(Avatar* avatar, bool isMyHand) {
// TODO: submit collision info to MyAvatar which should lean accordingly
averageContactPoint /= (float)handCollisions.size();
avatar->applyCollision(averageContactPoint, totalPenetration);
CollisionInfo collision;
collision._penetration = totalPenetration;
collision._contactPoint = averageContactPoint;
emit avatar->collisionWithAvatar(avatar->getSessionUUID(), _owningAvatar->getSessionUUID(), collision);
}
}
}

View file

@ -104,9 +104,6 @@ public slots:
glm::vec3 getThrust() { return _thrust; };
void setThrust(glm::vec3 newThrust) { _thrust = newThrust; }
signals:
void collisionWithAvatar(const QUuid&, const QUuid&, const CollisionInfo&);
private:
bool _mousePressed;
float _bodyPitchDelta; // degrees