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.cs42
1 files changed, 27 insertions, 15 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 810dfd1..69b3ded 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -373,6 +373,13 @@ namespace OpenSim.Region.Framework.Scenes
373 #region Constructors 373 #region Constructors
374 374
375 /// <summary> 375 /// <summary>
376 /// Constructor
377 /// </summary>
378 public SceneObjectGroup()
379 {
380 }
381
382 /// <summary>
376 /// This constructor creates a SceneObjectGroup using a pre-existing SceneObjectPart. 383 /// This constructor creates a SceneObjectGroup using a pre-existing SceneObjectPart.
377 /// The original SceneObjectPart will be used rather than a copy, preserving 384 /// The original SceneObjectPart will be used rather than a copy, preserving
378 /// its existing localID and UUID. 385 /// its existing localID and UUID.
@@ -2953,8 +2960,9 @@ namespace OpenSim.Region.Framework.Scenes
2953 /// 2960 ///
2954 /// </summary> 2961 /// </summary>
2955 /// <param name="rot"></param> 2962 /// <param name="rot"></param>
2956 public void UpdateGroupRotation(Quaternion rot) 2963 public void UpdateGroupRotationR(Quaternion rot)
2957 { 2964 {
2965
2958 m_rootPart.UpdateRotation(rot); 2966 m_rootPart.UpdateRotation(rot);
2959 if (m_rootPart.PhysActor != null) 2967 if (m_rootPart.PhysActor != null)
2960 { 2968 {
@@ -2971,7 +2979,7 @@ namespace OpenSim.Region.Framework.Scenes
2971 /// </summary> 2979 /// </summary>
2972 /// <param name="pos"></param> 2980 /// <param name="pos"></param>
2973 /// <param name="rot"></param> 2981 /// <param name="rot"></param>
2974 public void UpdateGroupRotation(Vector3 pos, Quaternion rot) 2982 public void UpdateGroupRotationPR(Vector3 pos, Quaternion rot)
2975 { 2983 {
2976 m_rootPart.UpdateRotation(rot); 2984 m_rootPart.UpdateRotation(rot);
2977 if (m_rootPart.PhysActor != null) 2985 if (m_rootPart.PhysActor != null)
@@ -3079,22 +3087,26 @@ namespace OpenSim.Region.Framework.Scenes
3079 int yaxis = 4; 3087 int yaxis = 4;
3080 int zaxis = 8; 3088 int zaxis = 8;
3081 3089
3082 setX = ((axis & xaxis) != 0) ? true : false; 3090 if (m_rootPart != null)
3083 setY = ((axis & yaxis) != 0) ? true : false; 3091 {
3084 setZ = ((axis & zaxis) != 0) ? true : false; 3092 setX = ((axis & xaxis) != 0) ? true : false;
3093 setY = ((axis & yaxis) != 0) ? true : false;
3094 setZ = ((axis & zaxis) != 0) ? true : false;
3085 3095
3086 float setval = (rotate10 > 0) ? 1f : 0f; 3096 float setval = (rotate10 > 0) ? 1f : 0f;
3087 3097
3088 if (setX) 3098 if (setX)
3089 m_rootPart.RotationAxis.X = setval; 3099 m_rootPart.RotationAxis.X = setval;
3090 if (setY) 3100 if (setY)
3091 m_rootPart.RotationAxis.Y = setval; 3101 m_rootPart.RotationAxis.Y = setval;
3092 if (setZ) 3102 if (setZ)
3093 m_rootPart.RotationAxis.Z = setval; 3103 m_rootPart.RotationAxis.Z = setval;
3104
3105 if (setX || setY || setZ)
3106 {
3107 m_rootPart.SetPhysicsAxisRotation();
3108 }
3094 3109
3095 if (setX || setY || setZ)
3096 {
3097 m_rootPart.SetPhysicsAxisRotation();
3098 } 3110 }
3099 } 3111 }
3100 3112