MAINT-5268 (Rotating an object that's used as grid reference goes crazy)
parent
9cddfc5a0e
commit
bc8fe00b99
|
|
@ -591,7 +591,7 @@ void LLManipRotate::drag( S32 x, S32 y )
|
|||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LLQuaternion new_rot = selectNode->mSavedRotation * mRotation;
|
||||
std::vector<LLVector3>& child_positions = object->mUnselectedChildrenPositions ;
|
||||
std::vector<LLQuaternion> child_rotations;
|
||||
|
|
@ -1294,7 +1294,7 @@ LLVector3 LLManipRotate::getConstraintAxis()
|
|||
else
|
||||
{
|
||||
S32 axis_dir = mManipPart - LL_ROT_X;
|
||||
if ((axis_dir >= 0) && (axis_dir < 3))
|
||||
if ((axis_dir >= LL_NO_PART) && (axis_dir < LL_Z_ARROW))
|
||||
{
|
||||
axis.mV[axis_dir] = 1.f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1235,7 +1235,13 @@ void LLSelectMgr::getGrid(LLVector3& origin, LLQuaternion &rotation, LLVector3 &
|
|||
}
|
||||
else if (mGridMode == GRID_MODE_REF_OBJECT && first_grid_object && first_grid_object->mDrawable.notNull())
|
||||
{
|
||||
mGridRotation = first_grid_object->getRenderRotation();
|
||||
LLSelectNode *node = mSelectedObjects->findNode(first_grid_object);
|
||||
if (node) {
|
||||
mGridRotation = node->mSavedRotation;
|
||||
}
|
||||
else {
|
||||
mGridRotation = first_grid_object->getRenderRotation();
|
||||
}
|
||||
|
||||
LLVector4a min_extents(F32_MAX);
|
||||
LLVector4a max_extents(-F32_MAX);
|
||||
|
|
|
|||
Loading…
Reference in New Issue