virtual bool needsCollision(btBroadphaseProxy* proxy) const { // superclass will check m_collisionFilterGroup and m_collisionFilterMask if (!btCollisionWorld::ContactResultCallback::needsCollision(proxy)) return false; // if passed filters, may also want to avoid contacts between constraints return mMe->checkCollideWithOverride(static_cast<btCollisionObject*>(proxy->m_clientObject)); }
void SetIgnoreCollisionCheck(RigidBodyPtr rigidBody, bool ignore){ auto colObj = dynamic_cast<btCollisionObject*>(rigidBody.get()); if (mSelf->checkCollideWithOverride(colObj) == ignore){ mSelf->setIgnoreCollisionCheck(colObj, ignore); } }