mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 07:37:20 +02:00
Threadsafe access to EntityTree in OverlayPanel
This commit is contained in:
parent
bc538a0f7d
commit
7b74f7407a
1 changed files with 8 additions and 6 deletions
|
@ -170,9 +170,10 @@ void OverlayPanel::applyTransformTo(Transform& transform, bool force) {
|
||||||
transform.setTranslation(DependencyManager::get<AvatarManager>()->getMyAvatar()
|
transform.setTranslation(DependencyManager::get<AvatarManager>()->getMyAvatar()
|
||||||
->getPosition());
|
->getPosition());
|
||||||
} else if (!_anchorPositionBindEntity.isNull()) {
|
} else if (!_anchorPositionBindEntity.isNull()) {
|
||||||
transform.setTranslation(DependencyManager::get<EntityScriptingInterface>()
|
EntityTreePointer entityTree = DependencyManager::get<EntityScriptingInterface>()->getEntityTree();
|
||||||
->getEntityTree()->findEntityByID(_anchorPositionBindEntity)
|
entityTree->withReadLock([&] {
|
||||||
->getPosition());
|
transform.setTranslation(entityTree->findEntityByID(_anchorPositionBindEntity)->getPosition());
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
transform.setTranslation(getAnchorPosition());
|
transform.setTranslation(getAnchorPosition());
|
||||||
}
|
}
|
||||||
|
@ -181,9 +182,10 @@ void OverlayPanel::applyTransformTo(Transform& transform, bool force) {
|
||||||
transform.setRotation(DependencyManager::get<AvatarManager>()->getMyAvatar()
|
transform.setRotation(DependencyManager::get<AvatarManager>()->getMyAvatar()
|
||||||
->getOrientation());
|
->getOrientation());
|
||||||
} else if (!_anchorRotationBindEntity.isNull()) {
|
} else if (!_anchorRotationBindEntity.isNull()) {
|
||||||
transform.setRotation(DependencyManager::get<EntityScriptingInterface>()
|
EntityTreePointer entityTree = DependencyManager::get<EntityScriptingInterface>()->getEntityTree();
|
||||||
->getEntityTree()->findEntityByID(_anchorRotationBindEntity)
|
entityTree->withReadLock([&] {
|
||||||
->getRotation());
|
transform.setRotation(entityTree->findEntityByID(_anchorRotationBindEntity)->getRotation());
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
transform.setRotation(getAnchorRotation());
|
transform.setRotation(getAnchorRotation());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue