aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
diff options
context:
space:
mode:
authorUbitUmarov2012-07-12 20:05:00 +0100
committerUbitUmarov2012-07-12 20:05:00 +0100
commit4c2523b1c2dd518cc21baf7674775fa2e11e1ca9 (patch)
tree48f58979253066b6a4f201afc7775283d871f1e3 /OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
parentRevert "Add instrumentation to log finalizer being called. Suppressed for bac... (diff)
downloadopensim-SC-4c2523b1c2dd518cc21baf7674775fa2e11e1ca9.zip
opensim-SC-4c2523b1c2dd518cc21baf7674775fa2e11e1ca9.tar.gz
opensim-SC-4c2523b1c2dd518cc21baf7674775fa2e11e1ca9.tar.bz2
opensim-SC-4c2523b1c2dd518cc21baf7674775fa2e11e1ca9.tar.xz
Use faster any contact point collision detection for Volumedetect, plus
some clean up
Diffstat (limited to 'OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs')
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs14
1 files changed, 12 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
index 7848b35..088d2ba 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
@@ -713,8 +713,18 @@ namespace OpenSim.Region.Physics.OdePlugin
713 713
714 if (b1 != IntPtr.Zero && b2 != IntPtr.Zero && d.AreConnectedExcluding(b1, b2, d.JointType.Contact)) 714 if (b1 != IntPtr.Zero && b2 != IntPtr.Zero && d.AreConnectedExcluding(b1, b2, d.JointType.Contact))
715 return; 715 return;
716 716 if(d.GeomGetCategoryBits(g1) == (uint)CollisionCategories.VolumeDtc ||
717 count = d.CollidePtr(g1, g2, (contactsPerCollision & 0xffff), ContactgeomsArray, d.ContactGeom.unmanagedSizeOf); 717 d.GeomGetCategoryBits(g1) == (uint)CollisionCategories.VolumeDtc)
718 {
719 int cflags;
720 unchecked
721 {
722 cflags = (int)(1 | d.CONTACTS_UNIMPORTANT);
723 }
724 count = d.CollidePtr(g1, g2, cflags, ContactgeomsArray, d.ContactGeom.unmanagedSizeOf);
725 }
726 else
727 count = d.CollidePtr(g1, g2, (contactsPerCollision & 0xffff), ContactgeomsArray, d.ContactGeom.unmanagedSizeOf);
718 } 728 }
719 catch (SEHException) 729 catch (SEHException)
720 { 730 {