aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs35
1 files changed, 13 insertions, 22 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 8d04c9f..affd4de 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1066,7 +1066,7 @@ namespace OpenSim.Region.Framework.Scenes
1066 m_angularVelocity = value; 1066 m_angularVelocity = value;
1067 1067
1068 PhysicsActor actor = PhysActor; 1068 PhysicsActor actor = PhysActor;
1069 if ((actor != null) && actor.IsPhysical && ParentGroup.RootPart == this && VehicleType == (int)Vehicle.TYPE_NONE) 1069 if ((actor != null) && actor.IsPhysical && ParentGroup.RootPart == this)
1070 { 1070 {
1071 actor.RotationalVelocity = m_angularVelocity; 1071 actor.RotationalVelocity = m_angularVelocity;
1072 } 1072 }
@@ -1092,6 +1092,12 @@ namespace OpenSim.Region.Framework.Scenes
1092 m_acceleration = Vector3.Zero; 1092 m_acceleration = Vector3.Zero;
1093 else 1093 else
1094 m_acceleration = value; 1094 m_acceleration = value;
1095
1096 PhysicsActor actor = PhysActor;
1097 if ((actor != null) && actor.IsPhysical && ParentGroup.RootPart == this)
1098 {
1099 actor.Acceleration = m_acceleration;
1100 }
1095 } 1101 }
1096 } 1102 }
1097 1103
@@ -2016,7 +2022,7 @@ namespace OpenSim.Region.Framework.Scenes
2016 // SetVelocity for LSL llSetVelocity.. may need revision if having other uses in future 2022 // SetVelocity for LSL llSetVelocity.. may need revision if having other uses in future
2017 public void SetVelocity(Vector3 pVel, bool localGlobalTF) 2023 public void SetVelocity(Vector3 pVel, bool localGlobalTF)
2018 { 2024 {
2019 if (ParentGroup == null || ParentGroup.IsDeleted) 2025 if (ParentGroup == null || ParentGroup.IsDeleted || ParentGroup.inTransit)
2020 return; 2026 return;
2021 2027
2022 if (ParentGroup.IsAttachment) 2028 if (ParentGroup.IsAttachment)
@@ -2043,7 +2049,7 @@ namespace OpenSim.Region.Framework.Scenes
2043 // SetAngularVelocity for LSL llSetAngularVelocity.. may need revision if having other uses in future 2049 // SetAngularVelocity for LSL llSetAngularVelocity.. may need revision if having other uses in future
2044 public void SetAngularVelocity(Vector3 pAngVel, bool localGlobalTF) 2050 public void SetAngularVelocity(Vector3 pAngVel, bool localGlobalTF)
2045 { 2051 {
2046 if (ParentGroup == null || ParentGroup.IsDeleted) 2052 if (ParentGroup == null || ParentGroup.IsDeleted || ParentGroup.inTransit)
2047 return; 2053 return;
2048 2054
2049 if (ParentGroup.IsAttachment) 2055 if (ParentGroup.IsAttachment)
@@ -2077,6 +2083,9 @@ namespace OpenSim.Region.Framework.Scenes
2077 /// <param name="localGlobalTF">true for the local frame, false for the global frame</param> 2083 /// <param name="localGlobalTF">true for the local frame, false for the global frame</param>
2078 public void ApplyAngularImpulse(Vector3 impulsei, bool localGlobalTF) 2084 public void ApplyAngularImpulse(Vector3 impulsei, bool localGlobalTF)
2079 { 2085 {
2086 if (ParentGroup == null || ParentGroup.IsDeleted || ParentGroup.inTransit)
2087 return;
2088
2080 Vector3 impulse = impulsei; 2089 Vector3 impulse = impulsei;
2081 2090
2082 if (localGlobalTF) 2091 if (localGlobalTF)
@@ -3376,25 +3385,7 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
3376 /// <param name="remoteClient"></param> 3385 /// <param name="remoteClient"></param>
3377 public void SendFullUpdateToClient(IClientAPI remoteClient) 3386 public void SendFullUpdateToClient(IClientAPI remoteClient)
3378 { 3387 {
3379 SendFullUpdateToClient(remoteClient, OffsetPosition); 3388 if (ParentGroup == null || ParentGroup.IsDeleted)
3380 }
3381
3382 /// <summary>
3383 /// Sends a full update to the client
3384 /// </summary>
3385 /// <param name="remoteClient"></param>
3386 /// <param name="lPos"></param>
3387 public void SendFullUpdateToClient(IClientAPI remoteClient, Vector3 lPos)
3388 {
3389 if (ParentGroup == null)
3390 return;
3391
3392 // Suppress full updates during attachment editing
3393 // sl Does send them
3394 // if (ParentGroup.IsSelected && ParentGroup.IsAttachment)
3395 // return;
3396
3397 if (ParentGroup.IsDeleted)
3398 return; 3389 return;
3399 3390
3400 if (ParentGroup.IsAttachment 3391 if (ParentGroup.IsAttachment