aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules
diff options
context:
space:
mode:
authorUbitUmarov2015-10-22 17:34:28 +0100
committerUbitUmarov2015-10-22 17:34:28 +0100
commit7cb6ecb9f54415fd723d7b7c85a65eb131aab077 (patch)
tree2e20d030a8c20faed8bfbe7e3196a7598eba4607 /OpenSim/Region/PhysicsModules
parent rename terrain for opensim and respective configuration flag that a future c... (diff)
downloadopensim-SC_OLD-7cb6ecb9f54415fd723d7b7c85a65eb131aab077.zip
opensim-SC_OLD-7cb6ecb9f54415fd723d7b7c85a65eb131aab077.tar.gz
opensim-SC_OLD-7cb6ecb9f54415fd723d7b7c85a65eb131aab077.tar.bz2
opensim-SC_OLD-7cb6ecb9f54415fd723d7b7c85a65eb131aab077.tar.xz
Make physics engines finish internal representation of loaded prims before starting simulation so it does start for all at same time. Currently only in use by ubOde
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/PhysicsModules/SharedBase/PhysicsScene.cs2
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs7
2 files changed, 5 insertions, 4 deletions
diff --git a/OpenSim/Region/PhysicsModules/SharedBase/PhysicsScene.cs b/OpenSim/Region/PhysicsModules/SharedBase/PhysicsScene.cs
index 1c0ad20..8623891 100644
--- a/OpenSim/Region/PhysicsModules/SharedBase/PhysicsScene.cs
+++ b/OpenSim/Region/PhysicsModules/SharedBase/PhysicsScene.cs
@@ -290,7 +290,7 @@ namespace OpenSim.Region.PhysicsModules.SharedBase
290 public abstract void AddPhysicsActorTaint(PhysicsActor prim); 290 public abstract void AddPhysicsActorTaint(PhysicsActor prim);
291 291
292 292
293 public virtual void PrepareSimulation() { } 293 public virtual void ProcessPreSimulation() { }
294 294
295 /// <summary> 295 /// <summary>
296 /// Perform a simulation of the current physics scene over the given timestep. 296 /// Perform a simulation of the current physics scene over the given timestep.
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
index 103304d..2da2603 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEScene.cs
@@ -1526,7 +1526,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1526 } 1526 }
1527 1527
1528 // does all pending changes generated during region load process 1528 // does all pending changes generated during region load process
1529 public override void PrepareSimulation() 1529 public override void ProcessPreSimulation()
1530 { 1530 {
1531 lock (OdeLock) 1531 lock (OdeLock)
1532 { 1532 {
@@ -1541,7 +1541,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1541 int donechanges = 0; 1541 int donechanges = 0;
1542 if (ChangesQueue.Count > 0) 1542 if (ChangesQueue.Count > 0)
1543 { 1543 {
1544 m_log.InfoFormat("[ODE] start processing pending actor operations"); 1544 m_log.InfoFormat("[ubOde] start processing pending actor operations");
1545 int tstart = Util.EnvironmentTickCount(); 1545 int tstart = Util.EnvironmentTickCount();
1546 1546
1547 while (ChangesQueue.Dequeue(out item)) 1547 while (ChangesQueue.Dequeue(out item))
@@ -1564,8 +1564,9 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1564 donechanges++; 1564 donechanges++;
1565 } 1565 }
1566 int time = Util.EnvironmentTickCountSubtract(tstart); 1566 int time = Util.EnvironmentTickCountSubtract(tstart);
1567 m_log.InfoFormat("[ODE] finished {0} operations in {1}ms", donechanges, time); 1567 m_log.InfoFormat("[ubOde] finished {0} operations in {1}ms", donechanges, time);
1568 } 1568 }
1569 m_log.InfoFormat("[ubOde] {0} prim actors loaded",_prims.Count);
1569 } 1570 }
1570 } 1571 }
1571 1572