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

RecomputeChildWorldPosition() static private method

static private RecomputeChildWorldPosition ( BSPrimLinkable child, bool inTaintTime ) : void
child BSPrimLinkable
inTaintTime bool
return void
        void RecomputeChildWorldPosition(BSPrimLinkable child, bool inTaintTime)
        {
            // For the moment (20130201), disable this computation (converting the child physical addr back to
            //    a region address) until we have a good handle on center-of-mass offsets and what the physics
            //    engine moving a child actually means.
            // The simulator keeps track of where children should be as the linkset moves. Setting
            //    the pos/rot here does not effect that knowledge as there is no good way for the
            //    physics engine to send the simulator an update for a child.

            /*
            BSLinksetCompoundInfo lci = child.LinksetInfo as BSLinksetCompoundInfo;
            if (lci != null)
            {
                if (inTaintTime)
                {
                    OMV.Vector3 oldPos = child.RawPosition;
                    child.ForcePosition = LinksetRoot.RawPosition + lci.OffsetFromRoot;
                    child.ForceOrientation = LinksetRoot.RawOrientation * lci.OffsetRot;
                    DetailLog("{0},BSLinksetCompound.RecomputeChildWorldPosition,oldPos={1},lci={2},newPos={3}",
                                                child.LocalID, oldPos, lci, child.RawPosition);
                }
                else
                {
                    // TaintedObject is not used here so the raw position is set now and not at taint-time.
                    child.Position = LinksetRoot.RawPosition + lci.OffsetFromRoot;
                    child.Orientation = LinksetRoot.RawOrientation * lci.OffsetRot;
                }
            }
            else
            {
                // This happens when children have been added to the linkset but the linkset
                //     has not been constructed yet. So like, at taint time, adding children to a linkset
                //     and then changing properties of the children (makePhysical, for instance)
                //     but the post-print action of actually rebuilding the linkset has not yet happened.
                // PhysicsScene.Logger.WarnFormat("{0} Restoring linkset child position failed because of no relative position computed. ID={1}",
                //                                 LogHeader, child.LocalID);
                DetailLog("{0},BSLinksetCompound.recomputeChildWorldPosition,noRelativePositonInfo", child.LocalID);
            }
            */
        }