fix variable naming and edge case

This commit is contained in:
Dante Ruiz 2018-02-05 15:31:37 -08:00
parent 0c5c4679fb
commit e87067f93d
2 changed files with 7 additions and 5 deletions

View file

@ -1448,6 +1448,10 @@ void MyAvatar::clearJointsData() {
} }
void MyAvatar::setSkeletonModelURL(const QUrl& skeletonModelURL) { void MyAvatar::setSkeletonModelURL(const QUrl& skeletonModelURL) {
if (skeletonModelURL != _skeletonModelURL) {
_shouldInitHeadBones = true;
}
Avatar::setSkeletonModelURL(skeletonModelURL); Avatar::setSkeletonModelURL(skeletonModelURL);
_skeletonModel->setVisibleInScene(true, qApp->getMain3DScene(), render::ItemKey::TAG_BITS_NONE); _skeletonModel->setVisibleInScene(true, qApp->getMain3DScene(), render::ItemKey::TAG_BITS_NONE);
_headBoneSet.clear(); _headBoneSet.clear();
@ -1893,14 +1897,12 @@ void MyAvatar::postUpdate(float deltaTime, const render::ScenePointer& scene) {
Avatar::postUpdate(deltaTime, scene); Avatar::postUpdate(deltaTime, scene);
if (_skeletonModel->isLoaded() && !_skeletonModel->getRig().getAnimNode() && _initHeadBones) { if (_skeletonModel->isLoaded() && !_skeletonModel->getRig().getAnimNode() && _shouldInitHeadBones) {
initHeadBones(); initHeadBones();
_skeletonModel->setCauterizeBoneSet(_headBoneSet); _skeletonModel->setCauterizeBoneSet(_headBoneSet);
_fstAnimGraphOverrideUrl = _skeletonModel->getGeometry()->getAnimGraphOverrideUrl(); _fstAnimGraphOverrideUrl = _skeletonModel->getGeometry()->getAnimGraphOverrideUrl();
initAnimGraph(); initAnimGraph();
_initHeadBones = false; _shouldInitHeadBones = false;
} else if (!_skeletonModel->isLoaded()) {
_initHeadBones = true;
} }
if (_enableDebugDrawDefaultPose || _enableDebugDrawAnimPose) { if (_enableDebugDrawDefaultPose || _enableDebugDrawAnimPose) {

View file

@ -817,7 +817,7 @@ private:
bool _enableDebugDrawIKConstraints { false }; bool _enableDebugDrawIKConstraints { false };
bool _enableDebugDrawIKChains { false }; bool _enableDebugDrawIKChains { false };
bool _enableDebugDrawDetailedCollision { false }; bool _enableDebugDrawDetailedCollision { false };
bool _initHeadBones { false }; bool _shouldInitHeadBones { true };
mutable bool _cauterizationNeedsUpdate; // do we need to scan children and update their "cauterized" state? mutable bool _cauterizationNeedsUpdate; // do we need to scan children and update their "cauterized" state?