aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 6e7b568..4d193ba 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -4880,6 +4880,20 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
4880 pa.Friction = Friction; 4880 pa.Friction = Friction;
4881 pa.Restitution = Restitution; 4881 pa.Restitution = Restitution;
4882 4882
4883 if(LocalId == ParentGroup.RootPart.LocalId)
4884 {
4885 // ugly code: physics should also get a byte and not a Vector3 TODO
4886 Vector3 lrRotationAxis = Vector3.One;
4887 if((RotationAxisLocks & (byte)SceneObjectGroup.axisSelect.STATUS_ROTATE_X) != 0 )
4888 lrRotationAxis.X = 0f;
4889 if((RotationAxisLocks & (byte)SceneObjectGroup.axisSelect.STATUS_ROTATE_Y) != 0 )
4890 lrRotationAxis.Y = 0f;
4891 if((RotationAxisLocks & (byte)SceneObjectGroup.axisSelect.STATUS_ROTATE_Z) != 0 )
4892 lrRotationAxis.Z = 0f;
4893
4894 pa.LockAngularMotion(lrRotationAxis);
4895 }
4896
4883 if (VolumeDetectActive) // change if not the default only 4897 if (VolumeDetectActive) // change if not the default only
4884 pa.SetVolumeDetect(1); 4898 pa.SetVolumeDetect(1);
4885 4899