STORM-2078 Editing an objects rotation with the rotation rings often causes the object to jump to position <0,0,0> on the region and rotation changes to <0,0,0>
parent
b021c90e7b
commit
fc0d618c2f
|
|
@ -885,6 +885,8 @@ Mm Alder
|
|||
VWR-4794
|
||||
VWR-13578
|
||||
Mo Hax
|
||||
Moon Metty
|
||||
STORM-2078
|
||||
Mourna Biziou
|
||||
Mr Greggan
|
||||
VWR-445
|
||||
|
|
@ -1358,6 +1360,7 @@ Whirly Fizzle
|
|||
VWR-29543
|
||||
MAINT-873
|
||||
STORM-1930
|
||||
STORM-2078
|
||||
Whoops Babii
|
||||
VWR-631
|
||||
VWR-1640
|
||||
|
|
|
|||
|
|
@ -1241,9 +1241,9 @@ LLQuaternion LLManipRotate::dragUnconstrained( S32 x, S32 y )
|
|||
|
||||
LLVector3 axis = mMouseDown % mMouseCur;
|
||||
axis.normVec();
|
||||
F32 angle = acos(mMouseDown * mMouseCur);
|
||||
F32 angle = atan2(sqrtf(axis * axis), mMouseDown * mMouseCur);
|
||||
LLQuaternion sphere_rot( angle, axis );
|
||||
|
||||
|
||||
if (is_approx_zero(1.f - mMouseDown * mMouseCur))
|
||||
{
|
||||
return LLQuaternion::DEFAULT;
|
||||
|
|
@ -1638,9 +1638,9 @@ LLQuaternion LLManipRotate::dragConstrained( S32 x, S32 y )
|
|||
mInSnapRegime = FALSE;
|
||||
}
|
||||
|
||||
angle = acos(mMouseCur * mMouseDown);
|
||||
|
||||
F32 dir = (mMouseDown % mMouseCur) * constraint_axis; // cross product
|
||||
LLVector3 cross_product = mMouseDown % mMouseCur;
|
||||
angle = atan2(sqrtf(cross_product * cross_product), mMouseCur * mMouseDown);
|
||||
F32 dir = cross_product * constraint_axis; // cross product
|
||||
if( dir < 0.f )
|
||||
{
|
||||
angle *= -1.f;
|
||||
|
|
|
|||
Loading…
Reference in New Issue