diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs index 049f825..b444446 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs | |||
@@ -100,9 +100,6 @@ public sealed class BSLinksetCompound : BSLinkset | |||
100 | // Schedule a refresh to happen after all the other taint processing. | 100 | // Schedule a refresh to happen after all the other taint processing. |
101 | private void ScheduleRebuild(BSPrimLinkable requestor) | 101 | private void ScheduleRebuild(BSPrimLinkable requestor) |
102 | { | 102 | { |
103 | DetailLog("{0},BSLinksetCompound.ScheduleRebuild,,rebuilding={1},hasChildren={2},actuallyScheduling={3}", | ||
104 | requestor.LocalID, Rebuilding, HasAnyChildren, (!Rebuilding && HasAnyChildren)); | ||
105 | |||
106 | // When rebuilding, it is possible to set properties that would normally require a rebuild. | 103 | // When rebuilding, it is possible to set properties that would normally require a rebuild. |
107 | // If already rebuilding, don't request another rebuild. | 104 | // If already rebuilding, don't request another rebuild. |
108 | // If a linkset with just a root prim (simple non-linked prim) don't bother rebuilding. | 105 | // If a linkset with just a root prim (simple non-linked prim) don't bother rebuilding. |
@@ -115,8 +112,11 @@ public sealed class BSLinksetCompound : BSLinkset | |||
115 | } | 112 | } |
116 | } | 113 | } |
117 | 114 | ||
115 | // Must be called with m_linksetActivityLock or race conditions will haunt you. | ||
118 | private void InternalScheduleRebuild(BSPrimLinkable requestor) | 116 | private void InternalScheduleRebuild(BSPrimLinkable requestor) |
119 | { | 117 | { |
118 | DetailLog("{0},BSLinksetCompound.InternalScheduleRebuild,,rebuilding={1},hasChildren={2}", | ||
119 | requestor.LocalID, Rebuilding, HasAnyChildren); | ||
120 | RebuildScheduled = true; | 120 | RebuildScheduled = true; |
121 | m_physicsScene.PostTaintObject("BSLinksetCompound.ScheduleRebuild", LinksetRoot.LocalID, delegate() | 121 | m_physicsScene.PostTaintObject("BSLinksetCompound.ScheduleRebuild", LinksetRoot.LocalID, delegate() |
122 | { | 122 | { |
@@ -396,7 +396,7 @@ public sealed class BSLinksetCompound : BSLinkset | |||
396 | // Get a reference to the shape of the child for adding of that shape to the linkset compound shape | 396 | // Get a reference to the shape of the child for adding of that shape to the linkset compound shape |
397 | BSShape childShape = cPrim.PhysShape.GetReference(m_physicsScene, cPrim); | 397 | BSShape childShape = cPrim.PhysShape.GetReference(m_physicsScene, cPrim); |
398 | 398 | ||
399 | // Offset the child shape from the center-of-mass and rotate it to vehicle relative. | 399 | // Offset the child shape from the center-of-mass and rotate it to root relative. |
400 | OMV.Vector3 offsetPos = (cPrim.RawPosition - origRootPosition) * invRootOrientation - centerDisplacementV; | 400 | OMV.Vector3 offsetPos = (cPrim.RawPosition - origRootPosition) * invRootOrientation - centerDisplacementV; |
401 | OMV.Quaternion offsetRot = OMV.Quaternion.Normalize(cPrim.RawOrientation) * invRootOrientation; | 401 | OMV.Quaternion offsetRot = OMV.Quaternion.Normalize(cPrim.RawOrientation) * invRootOrientation; |
402 | 402 | ||
@@ -435,7 +435,7 @@ public sealed class BSLinksetCompound : BSLinkset | |||
435 | LogHeader, LinksetRoot.Name, cPrim.LinksetChildIndex, childShape); | 435 | LogHeader, LinksetRoot.Name, cPrim.LinksetChildIndex, childShape); |
436 | 436 | ||
437 | // This causes the loop to bail on building the rest of this linkset. | 437 | // This causes the loop to bail on building the rest of this linkset. |
438 | // The rebuild operation should fix it up or declare the object unbuildable. | 438 | // The rebuild operation will fix it up next tick or declare the object unbuildable. |
439 | return true; | 439 | return true; |
440 | } | 440 | } |
441 | 441 | ||