aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs24
1 files changed, 10 insertions, 14 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
index 2189468..8359607 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
@@ -45,6 +45,11 @@ sealed class BSLinksetCompoundInfo : BSLinksetInfo
45 OffsetPos = p; 45 OffsetPos = p;
46 OffsetRot = r; 46 OffsetRot = r;
47 } 47 }
48 public override void Clear()
49 {
50 OffsetPos = OMV.Vector3.Zero;
51 OffsetRot = OMV.Quaternion.Identity;
52 }
48 public override string ToString() 53 public override string ToString()
49 { 54 {
50 StringBuilder buff = new StringBuilder(); 55 StringBuilder buff = new StringBuilder();
@@ -82,8 +87,11 @@ public sealed class BSLinksetCompound : BSLinkset
82 // its internal properties. 87 // its internal properties.
83 public override void Refresh(BSPhysObject requestor) 88 public override void Refresh(BSPhysObject requestor)
84 { 89 {
85 // External request for Refresh (from BSPrim) doesn't need to do anything 90 if (!IsRoot(requestor))
86 // InternalRefresh(requestor); 91 {
92 }
93 // Something changed so do the rebuilding thing
94 InternalRefresh(requestor);
87 } 95 }
88 96
89 // Schedule a refresh to happen after all the other taint processing. 97 // Schedule a refresh to happen after all the other taint processing.
@@ -170,18 +178,6 @@ public sealed class BSLinksetCompound : BSLinkset
170 // Nothing to do for compound linksets on property updates 178 // Nothing to do for compound linksets on property updates
171 } 179 }
172 180
173 // The children move around in relationship to the root.
174 // Just grab the current values of wherever it is right now.
175 public override OMV.Vector3 Position(BSPhysObject member)
176 {
177 return BulletSimAPI.GetPosition2(member.PhysBody.ptr);
178 }
179
180 public override OMV.Quaternion Orientation(BSPhysObject member)
181 {
182 return BulletSimAPI.GetOrientation2(member.PhysBody.ptr);
183 }
184
185 // Routine called when rebuilding the body of some member of the linkset. 181 // Routine called when rebuilding the body of some member of the linkset.
186 // Since we don't keep in world relationships, do nothing unless it's a child changing. 182 // Since we don't keep in world relationships, do nothing unless it's a child changing.
187 // Returns 'true' of something was actually removed and would need restoring 183 // Returns 'true' of something was actually removed and would need restoring