aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
diff options
context:
space:
mode:
authorUbitUmarov2012-04-29 08:24:41 +0100
committerUbitUmarov2012-04-29 08:24:41 +0100
commitbe176b1e4948059e041d06be2caea1eb10b5ee68 (patch)
tree7bc5ce209d67fa67bb95f813f9ff96f53a0bd30c /OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
parent llGetGeometricCenter... (diff)
downloadopensim-SC_OLD-be176b1e4948059e041d06be2caea1eb10b5ee68.zip
opensim-SC_OLD-be176b1e4948059e041d06be2caea1eb10b5ee68.tar.gz
opensim-SC_OLD-be176b1e4948059e041d06be2caea1eb10b5ee68.tar.bz2
opensim-SC_OLD-be176b1e4948059e041d06be2caea1eb10b5ee68.tar.xz
ubitode fix inertia for same cases. Added a nasty lock on llGetCenterOfMass and simulate
Diffstat (limited to 'OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs')
-rw-r--r--OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs10
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
index fa3d33e..84195d3 100644
--- a/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
+++ b/OpenSim/Region/Physics/UbitOdePlugin/OdeScene.cs
@@ -301,7 +301,7 @@ namespace OpenSim.Region.Physics.OdePlugin
301 // split static geometry collision into a grid as before 301 // split static geometry collision into a grid as before
302 private IntPtr[,] staticPrimspace; 302 private IntPtr[,] staticPrimspace;
303 303
304 private Object OdeLock; 304 public Object OdeLock;
305 private static Object SimulationLock; 305 private static Object SimulationLock;
306 306
307 public IMesher mesher; 307 public IMesher mesher;
@@ -746,8 +746,7 @@ namespace OpenSim.Region.Physics.OdePlugin
746 ); 746 );
747 // do volume detection case 747 // do volume detection case
748 if ( 748 if (
749 (p1 is OdePrim) && (((OdePrim)p1).m_isVolumeDetect) || 749 (p1.IsVolumeDtc || p2.IsVolumeDtc))
750 (p2 is OdePrim) && (((OdePrim)p2).m_isVolumeDetect))
751 { 750 {
752 collision_accounting_events(p1, p2, maxDepthContact); 751 collision_accounting_events(p1, p2, maxDepthContact);
753 return; 752 return;
@@ -1024,9 +1023,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1024 bool p1events = p1.SubscribedEvents(); 1023 bool p1events = p1.SubscribedEvents();
1025 bool p2events = p2.SubscribedEvents(); 1024 bool p2events = p2.SubscribedEvents();
1026 1025
1027 if (p1 is OdePrim && p1.IsVolumeDtc) 1026 if (p1.IsVolumeDtc)
1028 p2events = false; 1027 p2events = false;
1029 if (p2 is OdePrim && p2.IsVolumeDtc) 1028 if (p2.IsVolumeDtc)
1030 p1events = false; 1029 p1events = false;
1031 1030
1032 if (!(p2events || p1events)) 1031 if (!(p2events || p1events))
@@ -1725,6 +1724,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1725// checkThread(); 1724// checkThread();
1726 1725
1727 lock (SimulationLock) 1726 lock (SimulationLock)
1727 lock(OdeLock)
1728 { 1728 {
1729 // adjust number of iterations per step 1729 // adjust number of iterations per step
1730 try 1730 try