aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/PhysicsModules/Ode/OdeScene.cs')
-rw-r--r--OpenSim/Region/PhysicsModules/Ode/OdeScene.cs21
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs b/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs
index 7ba2083..e23cca6 100644
--- a/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs
+++ b/OpenSim/Region/PhysicsModules/Ode/OdeScene.cs
@@ -1442,9 +1442,28 @@ namespace OpenSim.Region.PhysicsModule.ODE
1442 obj2LocalID = 0; 1442 obj2LocalID = 0;
1443 //ctype = 0; 1443 //ctype = 0;
1444 //cStartStop = 0; 1444 //cStartStop = 0;
1445 if (!p2.SubscribedEvents() && !p1.SubscribedEvents()) 1445// if (!p2.SubscribedEvents() && !p1.SubscribedEvents())
1446// return;
1447 bool p1events = p1.SubscribedEvents();
1448 bool p2events = p2.SubscribedEvents();
1449
1450 if (p1.IsVolumeDtc)
1451 p2events = false;
1452 if (p2.IsVolumeDtc)
1453 p1events = false;
1454
1455 if (!p2events && !p1events)
1446 return; 1456 return;
1447 1457
1458 Vector3 vel = Vector3.Zero;
1459 if (p2 != null && p2.IsPhysical)
1460 vel = p2.Velocity;
1461
1462 if (p1 != null && p1.IsPhysical)
1463 vel -= p1.Velocity;
1464
1465 contact.RelativeSpeed = Vector3.Dot(vel, contact.SurfaceNormal);
1466
1448 switch ((ActorTypes)p2.PhysicsActorType) 1467 switch ((ActorTypes)p2.PhysicsActorType)
1449 { 1468 {
1450 case ActorTypes.Agent: 1469 case ActorTypes.Agent: