diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 8fa7880..aab6a49 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2992,10 +2992,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
2992 | { | 2992 | { |
2993 | if (!m_rootPart.BlockGrab) | 2993 | if (!m_rootPart.BlockGrab) |
2994 | { | 2994 | { |
2995 | Vector3 llmoveforce = pos - AbsolutePosition; | 2995 | /* Vector3 llmoveforce = pos - AbsolutePosition; |
2996 | Vector3 grabforce = llmoveforce; | 2996 | Vector3 grabforce = llmoveforce; |
2997 | grabforce = (grabforce / 10) * pa.Mass; | 2997 | grabforce = (grabforce / 10) * pa.Mass; |
2998 | pa.AddForce(grabforce, true); | 2998 | */ |
2999 | // empirically convert distance diference to a impulse | ||
3000 | Vector3 grabforce = pos - AbsolutePosition; | ||
3001 | grabforce = grabforce * (pa.Mass/ 10.0f); | ||
3002 | pa.AddForce(grabforce, false); | ||
2999 | m_scene.PhysicsScene.AddPhysicsActorTaint(pa); | 3003 | m_scene.PhysicsScene.AddPhysicsActorTaint(pa); |
3000 | } | 3004 | } |
3001 | } | 3005 | } |