diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 42 |
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 | ||