From 1c3d84fe03811aad3896031a6391bd37e140f80c Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Wed, 23 Jan 2013 16:14:15 -0800 Subject: BulletSim: pass up and report the real collision penetration. --- .../Region/Physics/BulletSPlugin/BSApiTemplate.cs | 1 + OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 5 +++-- bin/lib32/BulletSim.dll | Bin 551424 -> 551424 bytes bin/lib32/libBulletSim.so | Bin 1720142 -> 1720231 bytes bin/lib64/BulletSim.dll | Bin 700416 -> 700416 bytes bin/lib64/libBulletSim.so | Bin 1858627 -> 1858716 bytes 6 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 public uint bID; public Vector3 point; public Vector3 normal; + public float penetration; } [StructLayout(LayoutKind.Sequential)] 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 uint cB = m_collisionArray[ii].bID; Vector3 point = m_collisionArray[ii].point; Vector3 normal = m_collisionArray[ii].normal; - SendCollision(cA, cB, point, normal, 0.01f); - SendCollision(cB, cA, point, -normal, 0.01f); + float penetration = m_collisionArray[ii].penetration; + SendCollision(cA, cB, point, normal, penetration); + SendCollision(cB, cA, point, -normal, penetration); } } diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll index 014eca4..b46837f 100755 Binary files a/bin/lib32/BulletSim.dll and b/bin/lib32/BulletSim.dll differ diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so index 5e4d8cc..a2e6f3c 100755 Binary files a/bin/lib32/libBulletSim.so and b/bin/lib32/libBulletSim.so differ diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll index d00549e..0a1faf3 100755 Binary files a/bin/lib64/BulletSim.dll and b/bin/lib64/BulletSim.dll differ diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so index b94e264..36674f0 100755 Binary files a/bin/lib64/libBulletSim.so and b/bin/lib64/libBulletSim.so differ -- cgit v1.1