aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorRobert Adams2013-01-23 16:14:15 -0800
committerRobert Adams2013-01-23 16:20:44 -0800
commit1c3d84fe03811aad3896031a6391bd37e140f80c (patch)
tree6f9051e4e38fb9bf739724aa5ade21fc976a1880 /OpenSim/Region/Physics
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-1c3d84fe03811aad3896031a6391bd37e140f80c.zip
opensim-SC_OLD-1c3d84fe03811aad3896031a6391bd37e140f80c.tar.gz
opensim-SC_OLD-1c3d84fe03811aad3896031a6391bd37e140f80c.tar.bz2
opensim-SC_OLD-1c3d84fe03811aad3896031a6391bd37e140f80c.tar.xz
BulletSim: pass up and report the real collision penetration.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs1
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSScene.cs5
2 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs
index 2828cab..f25b447 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs
@@ -130,6 +130,7 @@ public struct CollisionDesc
130 public uint bID; 130 public uint bID;
131 public Vector3 point; 131 public Vector3 point;
132 public Vector3 normal; 132 public Vector3 normal;
133 public float penetration;
133} 134}
134[StructLayout(LayoutKind.Sequential)] 135[StructLayout(LayoutKind.Sequential)]
135public struct EntityProperties 136public struct EntityProperties
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index 34fd2a0..35dba9b 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -557,8 +557,9 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
557 uint cB = m_collisionArray[ii].bID; 557 uint cB = m_collisionArray[ii].bID;
558 Vector3 point = m_collisionArray[ii].point; 558 Vector3 point = m_collisionArray[ii].point;
559 Vector3 normal = m_collisionArray[ii].normal; 559 Vector3 normal = m_collisionArray[ii].normal;
560 SendCollision(cA, cB, point, normal, 0.01f); 560 float penetration = m_collisionArray[ii].penetration;
561 SendCollision(cB, cA, point, -normal, 0.01f); 561 SendCollision(cA, cB, point, normal, penetration);
562 SendCollision(cB, cA, point, -normal, penetration);
562 } 563 }
563 } 564 }
564 565