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);
		}
	}