aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
diff options
context:
space:
mode:
authorRobert Adams2012-12-16 21:18:32 -0800
committerRobert Adams2012-12-16 21:19:13 -0800
commit2b8efa24dd816fda23fe3aed5822af1d50febf5d (patch)
tree287352bc66cf34ce25ee86a59099af43d2d23cb4 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
parentBulletSim: add even more to the TODO list. (diff)
downloadopensim-SC-2b8efa24dd816fda23fe3aed5822af1d50febf5d.zip
opensim-SC-2b8efa24dd816fda23fe3aed5822af1d50febf5d.tar.gz
opensim-SC-2b8efa24dd816fda23fe3aed5822af1d50febf5d.tar.bz2
opensim-SC-2b8efa24dd816fda23fe3aed5822af1d50febf5d.tar.xz
BulletSim: add parameter to UpdateProperties call into the linkset so changes from the physics engine can be differentiated from changes made by the user. This eliminates a linkset rebuild loop. Also add logic to not rebuild or freak out when the object/linkset crosses a terrain boundry.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSScene.cs')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSScene.cs10
1 files changed, 7 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index ac99777..7b44574 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -517,8 +517,9 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
517 out updatedEntityCount, out updatedEntitiesPtr, out collidersCount, out collidersPtr); 517 out updatedEntityCount, out updatedEntitiesPtr, out collidersCount, out collidersPtr);
518 518
519 if (PhysicsLogging.Enabled) simTime = Util.EnvironmentTickCountSubtract(beforeTime); 519 if (PhysicsLogging.Enabled) simTime = Util.EnvironmentTickCountSubtract(beforeTime);
520 DetailLog("{0},Simulate,call, frame={1}, nTaints={2}, simTime={3}, substeps={4}, updates={5}, colliders={6}", 520 DetailLog("{0},Simulate,call, frame={1}, nTaints={2}, simTime={3}, substeps={4}, updates={5}, colliders={6}, objWColl={7}",
521 DetailLogZero, m_simulationStep, numTaints, simTime, numSubSteps, updatedEntityCount, collidersCount); 521 DetailLogZero, m_simulationStep, numTaints, simTime, numSubSteps,
522 updatedEntityCount, collidersCount, ObjectsWithCollisions.Count);
522 if (VehiclePhysicalLoggingEnabled) DumpVehicles(); // DEBUG 523 if (VehiclePhysicalLoggingEnabled) DumpVehicles(); // DEBUG
523 } 524 }
524 catch (Exception e) 525 catch (Exception e)
@@ -573,6 +574,9 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
573 574
574 // Objects that are done colliding are removed from the ObjectsWithCollisions list. 575 // Objects that are done colliding are removed from the ObjectsWithCollisions list.
575 // Not done above because it is inside an iteration of ObjectWithCollisions. 576 // Not done above because it is inside an iteration of ObjectWithCollisions.
577 // This complex collision processing is required to create an empty collision
578 // event call after all collisions have happened on an object. This enables
579 // the simulator to generate the 'collision end' event.
576 if (ObjectsWithNoMoreCollisions.Count > 0) 580 if (ObjectsWithNoMoreCollisions.Count > 0)
577 { 581 {
578 foreach (BSPhysObject po in ObjectsWithNoMoreCollisions) 582 foreach (BSPhysObject po in ObjectsWithNoMoreCollisions)
@@ -597,7 +601,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters
597 601
598 ProcessPostStepTaints(); 602 ProcessPostStepTaints();
599 603
600 // This causes the unmanaged code to output ALL the values found in ALL the objects in the world. 604 // The following causes the unmanaged code to output ALL the values found in ALL the objects in the world.
601 // Only enable this in a limited test world with few objects. 605 // Only enable this in a limited test world with few objects.
602 // BulletSimAPI.DumpAllInfo2(World.ptr); // DEBUG DEBUG DEBUG 606 // BulletSimAPI.DumpAllInfo2(World.ptr); // DEBUG DEBUG DEBUG
603 607