diff options
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs | 24 |
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 |