diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 7490ac8..dd8541c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -316,9 +316,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
316 | get { return RootPart.VolumeDetectActive; } | 316 | get { return RootPart.VolumeDetectActive; } |
317 | } | 317 | } |
318 | 318 | ||
319 | private Vector3 lastPhysGroupPos; | ||
320 | private Quaternion lastPhysGroupRot; | ||
321 | |||
322 | private bool m_isBackedUp; | 319 | private bool m_isBackedUp; |
323 | 320 | ||
324 | public bool IsBackedUp | 321 | public bool IsBackedUp |
@@ -2554,6 +2551,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2554 | 2551 | ||
2555 | #endregion | 2552 | #endregion |
2556 | 2553 | ||
2554 | |||
2557 | public override void Update() | 2555 | public override void Update() |
2558 | { | 2556 | { |
2559 | // Check that the group was not deleted before the scheduled update | 2557 | // Check that the group was not deleted before the scheduled update |
@@ -2572,19 +2570,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2572 | // check to see if the physical position or rotation warrant an update. | 2570 | // check to see if the physical position or rotation warrant an update. |
2573 | if (m_rootPart.UpdateFlag == UpdateRequired.NONE) | 2571 | if (m_rootPart.UpdateFlag == UpdateRequired.NONE) |
2574 | { | 2572 | { |
2575 | bool UsePhysics = ((RootPart.Flags & PrimFlags.Physics) != 0); | 2573 | // rootpart SendScheduledUpdates will check if a update is needed |
2576 | 2574 | m_rootPart.UpdateFlag = UpdateRequired.TERSE; | |
2577 | if (UsePhysics && !AbsolutePosition.ApproxEquals(lastPhysGroupPos, 0.02f)) | ||
2578 | { | ||
2579 | m_rootPart.UpdateFlag = UpdateRequired.TERSE; | ||
2580 | lastPhysGroupPos = AbsolutePosition; | ||
2581 | } | ||
2582 | |||
2583 | if (UsePhysics && !GroupRotation.ApproxEquals(lastPhysGroupRot, 0.1f)) | ||
2584 | { | ||
2585 | m_rootPart.UpdateFlag = UpdateRequired.TERSE; | ||
2586 | lastPhysGroupRot = GroupRotation; | ||
2587 | } | ||
2588 | } | 2575 | } |
2589 | 2576 | ||
2590 | SceneObjectPart[] parts = m_parts.GetArray(); | 2577 | SceneObjectPart[] parts = m_parts.GetArray(); |