aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs')
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
index b9c2cf9..1f7c398 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinksetCompound.cs
@@ -59,7 +59,7 @@ public sealed class BSLinksetCompound : BSLinkset
59 // refresh will happen once after all the other taints are applied. 59 // refresh will happen once after all the other taints are applied.
60 public override void Refresh(BSPhysObject requestor) 60 public override void Refresh(BSPhysObject requestor)
61 { 61 {
62 // External request for Refresh (from BSPrim) is not necessary 62 // External request for Refresh (from BSPrim) doesn't need to do anything
63 // InternalRefresh(requestor); 63 // InternalRefresh(requestor);
64 } 64 }
65 65
@@ -86,7 +86,7 @@ public sealed class BSLinksetCompound : BSLinkset
86 DetailLog("{0},BSLinksetCompound.MakeDynamic,call,IsRoot={1}", child.LocalID, IsRoot(child)); 86 DetailLog("{0},BSLinksetCompound.MakeDynamic,call,IsRoot={1}", child.LocalID, IsRoot(child));
87 if (!IsRoot(child)) 87 if (!IsRoot(child))
88 { 88 {
89 // Physical children are removed from the world as the shape ofthe root compound 89 // The origional prims are removed from the world as the shape of the root compound
90 // shape takes over. 90 // shape takes over.
91 BulletSimAPI.AddToCollisionFlags2(child.PhysBody.ptr, CollisionFlags.CF_NO_CONTACT_RESPONSE); 91 BulletSimAPI.AddToCollisionFlags2(child.PhysBody.ptr, CollisionFlags.CF_NO_CONTACT_RESPONSE);
92 BulletSimAPI.ForceActivationState2(child.PhysBody.ptr, ActivationState.DISABLE_SIMULATION); 92 BulletSimAPI.ForceActivationState2(child.PhysBody.ptr, ActivationState.DISABLE_SIMULATION);
@@ -118,7 +118,7 @@ public sealed class BSLinksetCompound : BSLinkset
118 // Called at taint-time!! 118 // Called at taint-time!!
119 public override void UpdateProperties(BSPhysObject updated) 119 public override void UpdateProperties(BSPhysObject updated)
120 { 120 {
121 // Nothing to do for constraints on property updates 121 // Nothing to do for compound linksets on property updates
122 } 122 }
123 123
124 // The children move around in relationship to the root. 124 // The children move around in relationship to the root.
@@ -257,6 +257,11 @@ public sealed class BSLinksetCompound : BSLinkset
257 BulletSimAPI.AddChildShapeToCompoundShape2(LinksetRoot.PhysShape.ptr, cPrim.PhysShape.ptr, displacementPos, displacementRot); 257 BulletSimAPI.AddChildShapeToCompoundShape2(LinksetRoot.PhysShape.ptr, cPrim.PhysShape.ptr, displacementPos, displacementRot);
258 } 258 }
259 } 259 }
260
261 // TODO: need to phantomize the child prims left behind.
262 // Maybe just destroy the children bodies and shapes and have them rebuild on unlink.
263 // Selection/deselection might cause way too many build/destructions esp. for LARGE linksets.
264
260 return false; // 'false' says to move onto the next child in the list 265 return false; // 'false' says to move onto the next child in the list
261 }); 266 });
262 267