Universe.Physics.BulletSPlugin.BSLinkset.HandleCollide C# (CSharp) Method

HandleCollide() public method

public HandleCollide ( uint collidingWith, BSPhysObject collidee, OpenMetaverse contactPoint, OpenMetaverse contactNormal, float pentrationDepth ) : bool
collidingWith uint
collidee BSPhysObject
contactPoint OpenMetaverse
contactNormal OpenMetaverse
pentrationDepth float
return bool
        public virtual bool HandleCollide(uint collidingWith, BSPhysObject collidee,
                                    OMV.Vector3 contactPoint, OMV.Vector3 contactNormal, float pentrationDepth)
        {
            bool ret = false;

            // prims in the same linkset cannot collide with each other
            BSPrimLinkable convCollidee = collidee as BSPrimLinkable;
            if (convCollidee != null && (LinksetID == convCollidee.Linkset.LinksetID))
            {
                // By returning 'true', we tell the caller the collision has been 'handled' so it won't
                //     do anything about this collision and thus, effectivily, ignoring the collision.
                ret = true;
            }
            else
            {
                // Not a collision between members of the linkset. Must be a real collision.
                // So the linkset root can know if there is a collision anywhere in the linkset.
                LinksetRoot.SomeCollisionSimulationStep = PhysicsScene.SimulationStep;
            }

            return ret;
        }