diff options
author | Robert Adams | 2012-11-02 09:53:41 -0700 |
---|---|---|
committer | Robert Adams | 2012-11-03 21:15:30 -0700 |
commit | b0eccd5044b1a20b995a62d6fb76fdd73b712f9a (patch) | |
tree | 877464740b99169d2e8f38bc8c75a33b37e9d475 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |
parent | BulletSim: Add RawPosition and RawOrientation to BSPhysObject and rename Mass... (diff) | |
download | opensim-SC-b0eccd5044b1a20b995a62d6fb76fdd73b712f9a.zip opensim-SC-b0eccd5044b1a20b995a62d6fb76fdd73b712f9a.tar.gz opensim-SC-b0eccd5044b1a20b995a62d6fb76fdd73b712f9a.tar.bz2 opensim-SC-b0eccd5044b1a20b995a62d6fb76fdd73b712f9a.tar.xz |
BulletSim: debugging of compound shape implementation of linksets.
Add compound shape creation and freeing in shape manager.
Add optional taint-time execution method and update code to use it.
Add API2 linkage for more compound shape methods (get num, get/remove by index, ...)
Modify perferred shape return so linkset children can have differet shapes than root.
Add Position and Orientation calls to linksets so children can be moved around by
the linkset by its own calculation. Allows for very general linkset implementations.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSScene.cs')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs index cc5dbb2..dcfcb83 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |||
@@ -692,6 +692,16 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
692 | return; | 692 | return; |
693 | } | 693 | } |
694 | 694 | ||
695 | // Sometimes a potentially tainted operation can be used in and out of taint time. | ||
696 | // This routine executes the command immediately if in taint-time otherwise it is queued. | ||
697 | public void TaintedObject(bool inTaintTime, string ident, TaintCallback callback) | ||
698 | { | ||
699 | if (inTaintTime) | ||
700 | callback(); | ||
701 | else | ||
702 | TaintedObject(ident, callback); | ||
703 | } | ||
704 | |||
695 | // When someone tries to change a property on a BSPrim or BSCharacter, the object queues | 705 | // When someone tries to change a property on a BSPrim or BSCharacter, the object queues |
696 | // a callback into itself to do the actual property change. That callback is called | 706 | // a callback into itself to do the actual property change. That callback is called |
697 | // here just before the physics engine is called to step the simulation. | 707 | // here just before the physics engine is called to step the simulation. |
@@ -1438,7 +1448,7 @@ public sealed class BSScene : PhysicsScene, IPhysicsParameters | |||
1438 | { | 1448 | { |
1439 | PhysicsLogging.Write(msg, args); | 1449 | PhysicsLogging.Write(msg, args); |
1440 | // Add the Flush() if debugging crashes to get all the messages written out. | 1450 | // Add the Flush() if debugging crashes to get all the messages written out. |
1441 | // PhysicsLogging.Flush(); | 1451 | PhysicsLogging.Flush(); |
1442 | } | 1452 | } |
1443 | // Used to fill in the LocalID when there isn't one. It's the correct number of characters. | 1453 | // Used to fill in the LocalID when there isn't one. It's the correct number of characters. |
1444 | public const string DetailLogZero = "0000000000"; | 1454 | public const string DetailLogZero = "0000000000"; |