aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs')
-rw-r--r--OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs11
1 files changed, 6 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs
index 23a0b8b..9a977e6 100644
--- a/OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs
+++ b/OpenSim/Region/Physics/BulletSNPlugin/BSLinksetCompound.cs
@@ -89,6 +89,8 @@ public sealed class BSLinksetCompound : BSLinkset
89 // its internal properties. 89 // its internal properties.
90 public override void Refresh(BSPhysObject requestor) 90 public override void Refresh(BSPhysObject requestor)
91 { 91 {
92 base.Refresh(requestor);
93
92 // Something changed so do the rebuilding thing 94 // Something changed so do the rebuilding thing
93 // ScheduleRebuild(); 95 // ScheduleRebuild();
94 } 96 }
@@ -96,13 +98,13 @@ public sealed class BSLinksetCompound : BSLinkset
96 // Schedule a refresh to happen after all the other taint processing. 98 // Schedule a refresh to happen after all the other taint processing.
97 private void ScheduleRebuild(BSPhysObject requestor) 99 private void ScheduleRebuild(BSPhysObject requestor)
98 { 100 {
99 DetailLog("{0},BSLinksetCompound.Refresh,schedulingRefresh,rebuilding={1}", 101 DetailLog("{0},BSLinksetCompound.ScheduleRebuild,,rebuilding={1}",
100 requestor.LocalID, Rebuilding); 102 requestor.LocalID, Rebuilding);
101 // 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.
102 // If already rebuilding, don't request another rebuild. 104 // If already rebuilding, don't request another rebuild.
103 if (!Rebuilding) 105 if (!Rebuilding)
104 { 106 {
105 PhysicsScene.PostTaintObject("BSLinksetCompound.Refresh", LinksetRoot.LocalID, delegate() 107 PhysicsScene.PostTaintObject("BSLinksetCompound.ScheduleRebuild", LinksetRoot.LocalID, delegate()
106 { 108 {
107 if (HasAnyChildren) 109 if (HasAnyChildren)
108 RecomputeLinksetCompound(); 110 RecomputeLinksetCompound();
@@ -123,7 +125,6 @@ public sealed class BSLinksetCompound : BSLinkset
123 if (IsRoot(child)) 125 if (IsRoot(child))
124 { 126 {
125 // The root is going dynamic. Make sure mass is properly set. 127 // The root is going dynamic. Make sure mass is properly set.
126 m_mass = ComputeLinksetMass();
127 ScheduleRebuild(LinksetRoot); 128 ScheduleRebuild(LinksetRoot);
128 } 129 }
129 else 130 else
@@ -377,8 +378,8 @@ public sealed class BSLinksetCompound : BSLinkset
377 }); 378 });
378 379
379 // With all of the linkset packed into the root prim, it has the mass of everyone. 380 // With all of the linkset packed into the root prim, it has the mass of everyone.
380 float linksetMass = LinksetMass; 381 LinksetMass = LinksetMass;
381 LinksetRoot.UpdatePhysicalMassProperties(linksetMass); 382 LinksetRoot.UpdatePhysicalMassProperties(LinksetMass, true);
382 } 383 }
383 finally 384 finally
384 { 385 {