aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs16
1 files changed, 14 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index bc2ca4c..f81cfe2 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -4024,13 +4024,25 @@ namespace OpenSim.Region.Framework.Scenes
4024 if (nparts <= 1) 4024 if (nparts <= 1)
4025 return gc; 4025 return gc;
4026 4026
4027 Quaternion parentRot = RootPart.RotationOffset;
4028 Vector3 pPos;
4029
4027 // average all parts positions 4030 // average all parts positions
4028 for (int i = 0; i < nparts; i++) 4031 for (int i = 0; i < nparts; i++)
4029 gc += parts[i].GetWorldPosition(); 4032 {
4033 // do it directly
4034 // gc += parts[i].GetWorldPosition();
4035 if (parts[i] != RootPart)
4036 {
4037 pPos = parts[i].OffsetPosition;
4038 gc += pPos;
4039 }
4040
4041 }
4030 gc /= nparts; 4042 gc /= nparts;
4031 4043
4032 // relative to root: 4044 // relative to root:
4033 gc -= AbsolutePosition; 4045// gc -= AbsolutePosition;
4034 return gc; 4046 return gc;
4035 } 4047 }
4036 4048