diff options
author | Robert Adams | 2013-01-23 16:14:15 -0800 |
---|---|---|
committer | Robert Adams | 2013-01-23 16:20:44 -0800 |
commit | 1c3d84fe03811aad3896031a6391bd37e140f80c (patch) | |
tree | 6f9051e4e38fb9bf739724aa5ade21fc976a1880 /OpenSim/Region | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-1c3d84fe03811aad3896031a6391bd37e140f80c.zip opensim-SC-1c3d84fe03811aad3896031a6391bd37e140f80c.tar.gz opensim-SC-1c3d84fe03811aad3896031a6391bd37e140f80c.tar.bz2 opensim-SC-1c3d84fe03811aad3896031a6391bd37e140f80c.tar.xz |
BulletSim: pass up and report the real collision penetration.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSApiTemplate.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 5 |
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)] |
135 | public struct EntityProperties | 136 | public 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 | ||