restore exposure of setAvatarEntityData() to JS

This commit is contained in:
Andrew Meadows 2017-02-10 10:55:54 -08:00
parent 563bf65e89
commit c551a41e0a
2 changed files with 10 additions and 9 deletions

View file

@ -2243,15 +2243,17 @@ void AvatarData::setAvatarEntityData(const AvatarEntityMap& avatarEntityData) {
return;
}
_avatarEntitiesLock.withWriteLock([&] {
// keep track of entities that were attached to this avatar but no longer are
AvatarEntityIDs previousAvatarEntityIDs = QSet<QUuid>::fromList(_avatarEntityData.keys());
if (_avatarEntityData != avatarEntityData) {
// keep track of entities that were attached to this avatar but no longer are
AvatarEntityIDs previousAvatarEntityIDs = QSet<QUuid>::fromList(_avatarEntityData.keys());
_avatarEntityData = avatarEntityData;
setAvatarEntityDataChanged(true);
_avatarEntityData = avatarEntityData;
setAvatarEntityDataChanged(true);
foreach (auto entityID, previousAvatarEntityIDs) {
if (!_avatarEntityData.contains(entityID)) {
_avatarEntityDetached.insert(entityID);
foreach (auto entityID, previousAvatarEntityIDs) {
if (!_avatarEntityData.contains(entityID)) {
_avatarEntityDetached.insert(entityID);
}
}
}
});

View file

@ -538,6 +538,7 @@ public:
glm::vec3 getGlobalBoundingBoxCorner() { return _globalPosition + _globalBoundingBoxOffset - _globalBoundingBoxDimensions; }
Q_INVOKABLE AvatarEntityMap getAvatarEntityData() const;
Q_INVOKABLE void setAvatarEntityData(const AvatarEntityMap& avatarEntityData);
void setAvatarEntityDataChanged(bool value) { _avatarEntityDataChanged = value; }
AvatarEntityIDs getAndClearRecentlyDetachedIDs();
@ -575,8 +576,6 @@ public slots:
void resetLastSent() { _lastToByteArray = 0; }
protected:
Q_INVOKABLE void setAvatarEntityData(const AvatarEntityMap& avatarEntityData);
void lazyInitHeadData();
float getDistanceBasedMinRotationDOT(glm::vec3 viewerPosition);