diff options
author | Robert Adams | 2012-12-16 21:18:32 -0800 |
---|---|---|
committer | Robert Adams | 2012-12-16 21:19:13 -0800 |
commit | 2b8efa24dd816fda23fe3aed5822af1d50febf5d (patch) | |
tree | 287352bc66cf34ce25ee86a59099af43d2d23cb4 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |
parent | BulletSim: add even more to the TODO list. (diff) | |
download | opensim-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.cs | 10 |
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 | ||