public virtual bool NeedsCollision(CollisionObject body0, CollisionObject body1) { // Debug.Assert(body0 != null); // Debug.Assert(body1 != null); bool needsCollision = true; #if BT_DEBUG if ((m_dispatcherFlags & DispatcherFlags.CD_STATIC_STATIC_REPORTED == 0)) { //broadphase filtering already deals with this if ((body0.IsStaticOrKinematicObject()) && body1.isStaticOrKinematicObject()) { m_dispatcherFlags |= DispatcherFlags.CD_STATIC_STATIC_REPORTED; System.err.Writeline("warning CollisionDispatcher::needsCollision: static-static collision!\n"); } } #endif //BT_DEBUG if ((!body0.IsActive()) && (!body1.IsActive())) { needsCollision = false; } else if (!body0.CheckCollideWith(body1)) { needsCollision = false; } return(needsCollision); }
public virtual bool NeedsCollision(CollisionObject body0, CollisionObject body1) { Debug.Assert(body0 != null); Debug.Assert(body1 != null); bool needsCollision = true; #if BT_DEBUG if ((m_dispatcherFlags & DispatcherFlags.CD_STATIC_STATIC_REPORTED == 0)) { //broadphase filtering already deals with this if ((body0.IsStaticOrKinematicObject()) && body1.isStaticOrKinematicObject()) { m_dispatcherFlags |= DispatcherFlags.CD_STATIC_STATIC_REPORTED; System.err.Writeline("warning CollisionDispatcher::needsCollision: static-static collision!\n"); } } #endif //BT_DEBUG if ((!body0.IsActive()) && (!body1.IsActive())) { needsCollision = false; } else if (!body0.CheckCollideWith(body1)) { needsCollision = false; } return needsCollision; }