avoid InvalidBoundsRadius() calls caused by small changes

LSLKeyTest
UbitUmarov 2016-07-07 00:16:25 +01:00
parent d7ab1cdd15
commit 4119e60c0c
1 changed files with 4 additions and 3 deletions

View File

@ -867,7 +867,8 @@ namespace OpenSim.Region.Framework.Scenes
if (ParentGroup != null && !ParentGroup.IsDeleted) if (ParentGroup != null && !ParentGroup.IsDeleted)
{ {
ParentGroup.InvalidBoundsRadius(); if((oldpos - m_offsetPosition).LengthSquared() > 1.0f)
ParentGroup.InvalidBoundsRadius();
PhysicsActor actor = PhysActor; PhysicsActor actor = PhysActor;
if (ParentID != 0 && actor != null) if (ParentID != 0 && actor != null)
@ -1165,9 +1166,9 @@ namespace OpenSim.Region.Framework.Scenes
{ {
if (m_shape != null) if (m_shape != null)
{ {
Vector3 oldscale = m_shape.Scale;
m_shape.Scale = value; m_shape.Scale = value;
if (ParentGroup != null) if (ParentGroup != null && ((value - oldscale).LengthSquared() >1.0f))
ParentGroup.InvalidBoundsRadius(); ParentGroup.InvalidBoundsRadius();
PhysicsActor actor = PhysActor; PhysicsActor actor = PhysActor;
if (actor != null) if (actor != null)