Beispiel #1
0
        public virtual Object RemoveOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1, IDispatcher dispatcher)
        {
            CollisionObject colObj0 = proxy0.m_clientObject as CollisionObject;
            CollisionObject colObj1 = proxy1.m_clientObject as CollisionObject;
            GhostObject     ghost0  = GhostObject.Upcast(colObj0);
            GhostObject     ghost1  = GhostObject.Upcast(colObj1);

            if (ghost0 != null)
            {
                ghost0.RemoveOverlappingObjectInternal(proxy1, dispatcher, proxy0);
            }
            if (ghost1 != null)
            {
                ghost1.RemoveOverlappingObjectInternal(proxy0, dispatcher, proxy1);
            }
            return(null);
        }
Beispiel #2
0
        public virtual BroadphasePair AddOverlappingPair(BroadphaseProxy proxy0, BroadphaseProxy proxy1)
        {
            CollisionObject colObj0 = proxy0.m_clientObject as CollisionObject;
            CollisionObject colObj1 = proxy1.m_clientObject as CollisionObject;
            GhostObject     ghost0  = GhostObject.Upcast(colObj0);
            GhostObject     ghost1  = GhostObject.Upcast(colObj1);

            if (ghost0 != null)
            {
                ghost0.AddOverlappingObjectInternal(proxy1, proxy0);
            }
            if (ghost1 != null)
            {
                ghost1.AddOverlappingObjectInternal(proxy0, proxy1);
            }
            return(null);
        }