MAINT-2047 FIXED Avatar follows the object only once if change object's location in Edit mode
parent
3f072ceca0
commit
e057efb599
|
|
@ -1712,7 +1712,7 @@ void LLPanelObject::sendPosition(BOOL btn_down)
|
|||
if (mObject->isRootEdit())
|
||||
{
|
||||
// only offset by parent's translation
|
||||
mObject->resetChildrenPosition(LLVector3(-delta), TRUE) ;
|
||||
mObject->resetChildrenPosition(LLVector3(-delta), TRUE, TRUE) ;
|
||||
}
|
||||
|
||||
if(!btn_down)
|
||||
|
|
|
|||
|
|
@ -6216,7 +6216,7 @@ void LLViewerObject::resetChildrenRotationAndPosition(const std::vector<LLQuater
|
|||
}
|
||||
|
||||
//counter-translation
|
||||
void LLViewerObject::resetChildrenPosition(const LLVector3& offset, BOOL simplified)
|
||||
void LLViewerObject::resetChildrenPosition(const LLVector3& offset, BOOL simplified, BOOL skip_avatar_child)
|
||||
{
|
||||
if(mChildList.empty())
|
||||
{
|
||||
|
|
@ -6246,6 +6246,7 @@ void LLViewerObject::resetChildrenPosition(const LLVector3& offset, BOOL simplif
|
|||
iter != mChildList.end(); iter++)
|
||||
{
|
||||
LLViewerObject* childp = *iter;
|
||||
|
||||
if (!childp->isSelected() && childp->mDrawable.notNull())
|
||||
{
|
||||
if (childp->getPCode() != LL_PCODE_LEGACY_AVATAR)
|
||||
|
|
@ -6255,14 +6256,16 @@ void LLViewerObject::resetChildrenPosition(const LLVector3& offset, BOOL simplif
|
|||
}
|
||||
else //avatar
|
||||
{
|
||||
LLVector3 reset_pos = ((LLVOAvatar*)childp)->mDrawable->mXform.getPosition() + child_offset ;
|
||||
if(!skip_avatar_child)
|
||||
{
|
||||
LLVector3 reset_pos = ((LLVOAvatar*)childp)->mDrawable->mXform.getPosition() + child_offset ;
|
||||
|
||||
((LLVOAvatar*)childp)->mDrawable->mXform.setPosition(reset_pos);
|
||||
((LLVOAvatar*)childp)->mDrawable->getVObj()->setPosition(reset_pos);
|
||||
|
||||
LLManip::rebuild(childp);
|
||||
}
|
||||
}
|
||||
((LLVOAvatar*)childp)->mDrawable->mXform.setPosition(reset_pos);
|
||||
((LLVOAvatar*)childp)->mDrawable->getVObj()->setPosition(reset_pos);
|
||||
LLManip::rebuild(childp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ;
|
||||
|
|
|
|||
|
|
@ -575,7 +575,7 @@ public:
|
|||
|
||||
public:
|
||||
//counter-translation
|
||||
void resetChildrenPosition(const LLVector3& offset, BOOL simplified = FALSE) ;
|
||||
void resetChildrenPosition(const LLVector3& offset, BOOL simplified = FALSE, BOOL skip_avatar_child = FALSE) ;
|
||||
//counter-rotation
|
||||
void resetChildrenRotationAndPosition(const std::vector<LLQuaternion>& rotations,
|
||||
const std::vector<LLVector3>& positions) ;
|
||||
|
|
|
|||
Loading…
Reference in New Issue