Universe.Physics.BulletSPlugin.BSLinksetCompound.RemoveChildFromLinkset C# (CSharp) Method

RemoveChildFromLinkset() protected method

protected RemoveChildFromLinkset ( BSPrimLinkable child, bool inTaintTime ) : void
child BSPrimLinkable
inTaintTime bool
return void
        protected override void RemoveChildFromLinkset(BSPrimLinkable child, bool inTaintTime)
        {
            child.ClearDisplacement();

            if (m_children.Remove(child))
            {
                DetailLog("{0},BSLinksetCompound.RemoveChildFromLinkset,call,rID={1},rBody={2},cID={3},cBody={4}",
                    child.LocalID,
                    LinksetRoot.LocalID, LinksetRoot.PhysBody.AddrString,
                    child.LocalID, child.PhysBody.AddrString);

                // Cause the child's body to be rebuilt and thus restored to normal operation
                child.ForceBodyShapeRebuild(inTaintTime);

                if (!HasAnyChildren)
                {
                    // The linkset is now empty. The root needs rebuilding.
                    LinksetRoot.ForceBodyShapeRebuild(inTaintTime);
                }
                else
                {
                    // Rebuild the compound shape with the child removed
                    Refresh(LinksetRoot);
                }
            }
            return;
        }