aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules
diff options
context:
space:
mode:
authorUbitUmarov2017-04-15 02:48:58 +0100
committerUbitUmarov2017-04-15 02:48:58 +0100
commit156ef0bbe37ae97c2ec75ddbb2662edc2156dbda (patch)
treeae3223cff6e86fefd34790c03b683449677100a4 /OpenSim/Region/PhysicsModules
parentstill issues with volume detectors and sleeping bodies (diff)
downloadopensim-SC_OLD-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.zip
opensim-SC_OLD-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.tar.gz
opensim-SC_OLD-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.tar.bz2
opensim-SC_OLD-156ef0bbe37ae97c2ec75ddbb2662edc2156dbda.tar.xz
still issues with volume detectors and sleeping bodies
Diffstat (limited to 'OpenSim/Region/PhysicsModules')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs8
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs2
2 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
index f8ee6c0..0d8eeec 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
@@ -1205,13 +1205,17 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1205 } 1205 }
1206 } 1206 }
1207 1207
1208 internal void clearSleeperCollisions()
1209 {
1210 if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 )
1211 CollisionVDTCEventsThisFrame.Clear();
1212 }
1213
1208 public void SendCollisions(int timestep) 1214 public void SendCollisions(int timestep)
1209 { 1215 {
1210 if (m_cureventsubscription < 50000) 1216 if (m_cureventsubscription < 50000)
1211 m_cureventsubscription += timestep; 1217 m_cureventsubscription += timestep;
1212 1218
1213 if(CollisionVDTCEventsThisFrame != null && CollisionVDTCEventsThisFrame.Count >0 && (Body == IntPtr.Zero || d.BodyIsEnabled(Body)))
1214 CollisionVDTCEventsThisFrame.Clear();
1215 1219
1216 if (m_cureventsubscription < m_eventsubscription) 1220 if (m_cureventsubscription < m_eventsubscription)
1217 return; 1221 return;
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
index 883038f..a4c3f92 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
@@ -1172,6 +1172,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1172 { 1172 {
1173 aprim.CollisionScore = 0; 1173 aprim.CollisionScore = 0;
1174 aprim.IsColliding = false; 1174 aprim.IsColliding = false;
1175 if(!aprim.m_outbounds && d.BodyIsEnabled(aprim.Body))
1176 aprim.clearSleeperCollisions();
1175 } 1177 }
1176 } 1178 }
1177 lock (_activegroups) 1179 lock (_activegroups)