2022-03-17 23:20:34 +01:00
# ifndef OVERLAPPING_PAIR_CALLBACK_H
# define OVERLAPPING_PAIR_CALLBACK_H
2022-03-15 13:29:32 +01:00
/*
Bullet Continuous Collision Detection and Physics Library
Copyright ( c ) 2003 - 2006 Erwin Coumans https : //bulletphysics.org
This software is provided ' as - is ' , without any express or implied warranty .
In no event will the authors be held liable for any damages arising from the use of this software .
Permission is granted to anyone to use this software for any purpose ,
including commercial applications , and to alter it and redistribute it freely ,
subject to the following restrictions :
1. The origin of this software must not be misrepresented ; you must not claim that you wrote the original software . If you use this software in a product , an acknowledgment in the product documentation would be appreciated but is not required .
2. Altered source versions must be plainly marked as such , and must not be misrepresented as being the original software .
3. This notice may not be removed or altered from any source distribution .
*/
2022-03-17 23:20:34 +01:00
2022-03-15 13:29:32 +01:00
class btDispatcher ;
struct btBroadphasePair ;
///The btOverlappingPairCallback class is an additional optional broadphase user callback for adding/removing overlapping pairs, similar interface to btOverlappingPairCache.
class btOverlappingPairCallback
{
protected :
btOverlappingPairCallback ( ) { }
public :
virtual ~ btOverlappingPairCallback ( )
{
}
virtual btBroadphasePair * addOverlappingPair ( btBroadphaseProxy * proxy0 , btBroadphaseProxy * proxy1 ) = 0 ;
virtual void * removeOverlappingPair ( btBroadphaseProxy * proxy0 , btBroadphaseProxy * proxy1 , btDispatcher * dispatcher ) = 0 ;
virtual void removeOverlappingPairsContainingProxy ( btBroadphaseProxy * proxy0 , btDispatcher * dispatcher ) = 0 ;
} ;
# endif //OVERLAPPING_PAIR_CALLBACK_H