Blender  V3.3
Public Member Functions | List of all members
btBroadphaseInterface Class Referenceabstract

#include <btBroadphaseInterface.h>

Inheritance diagram for btBroadphaseInterface:
btAxisSweep3Internal< unsigned int > btAxisSweep3Internal< unsigned short int > btAxisSweep3Internal< BP_FP_INT_TYPE > btDbvtBroadphase btSimpleBroadphase bt32BitAxisSweep3 btAxisSweep3

Public Member Functions

virtual ~btBroadphaseInterface ()
 
virtual btBroadphaseProxycreateProxy (const btVector3 &aabbMin, const btVector3 &aabbMax, int shapeType, void *userPtr, int collisionFilterGroup, int collisionFilterMask, btDispatcher *dispatcher)=0
 
virtual void destroyProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher)=0
 
virtual void setAabb (btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)=0
 
virtual void getAabb (btBroadphaseProxy *proxy, btVector3 &aabbMin, btVector3 &aabbMax) const =0
 
virtual void rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, btBroadphaseRayCallback &rayCallback, const btVector3 &aabbMin=btVector3(0, 0, 0), const btVector3 &aabbMax=btVector3(0, 0, 0))=0
 
virtual void aabbTest (const btVector3 &aabbMin, const btVector3 &aabbMax, btBroadphaseAabbCallback &callback)=0
 
virtual void calculateOverlappingPairs (btDispatcher *dispatcher)=0
 calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb More...
 
virtual btOverlappingPairCachegetOverlappingPairCache ()=0
 
virtual const btOverlappingPairCachegetOverlappingPairCache () const =0
 
virtual void getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const =0
 
virtual void resetPool (btDispatcher *dispatcher)
 reset broadphase internal structures, to ensure determinism/reproducability More...
 
virtual void printStats ()=0
 

Detailed Description

The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs. Some implementations for this broadphase interface include btAxisSweep3, bt32BitAxisSweep3 and btDbvtBroadphase. The actual overlapping pair management, storage, adding and removing of pairs is dealt by the btOverlappingPairCache class.

Definition at line 49 of file btBroadphaseInterface.h.

Constructor & Destructor Documentation

◆ ~btBroadphaseInterface()

virtual btBroadphaseInterface::~btBroadphaseInterface ( )
inlinevirtual

Definition at line 52 of file btBroadphaseInterface.h.

Member Function Documentation

◆ aabbTest()

virtual void btBroadphaseInterface::aabbTest ( const btVector3 aabbMin,
const btVector3 aabbMax,
btBroadphaseAabbCallback callback 
)
pure virtual

◆ calculateOverlappingPairs()

virtual void btBroadphaseInterface::calculateOverlappingPairs ( btDispatcher dispatcher)
pure virtual

calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb

Implemented in btSimpleBroadphase, btDbvtBroadphase, btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, and btAxisSweep3Internal< unsigned short int >.

Referenced by btCollisionWorld::computeOverlappingPairs().

◆ createProxy()

virtual btBroadphaseProxy* btBroadphaseInterface::createProxy ( const btVector3 aabbMin,
const btVector3 aabbMax,
int  shapeType,
void userPtr,
int  collisionFilterGroup,
int  collisionFilterMask,
btDispatcher dispatcher 
)
pure virtual

◆ destroyProxy()

virtual void btBroadphaseInterface::destroyProxy ( btBroadphaseProxy proxy,
btDispatcher dispatcher 
)
pure virtual

◆ getAabb()

virtual void btBroadphaseInterface::getAabb ( btBroadphaseProxy proxy,
btVector3 aabbMin,
btVector3 aabbMax 
) const
pure virtual

◆ getBroadphaseAabb()

virtual void btBroadphaseInterface::getBroadphaseAabb ( btVector3 aabbMin,
btVector3 aabbMax 
) const
pure virtual

getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transform later

Implemented in btSimpleBroadphase, btDbvtBroadphase, btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, and btAxisSweep3Internal< unsigned short int >.

◆ getOverlappingPairCache() [1/2]

virtual const btOverlappingPairCache* btBroadphaseInterface::getOverlappingPairCache ( ) const
pure virtual

◆ getOverlappingPairCache() [2/2]

virtual btOverlappingPairCache* btBroadphaseInterface::getOverlappingPairCache ( )
pure virtual

◆ printStats()

virtual void btBroadphaseInterface::printStats ( )
pure virtual

◆ rayTest()

virtual void btBroadphaseInterface::rayTest ( const btVector3 rayFrom,
const btVector3 rayTo,
btBroadphaseRayCallback rayCallback,
const btVector3 aabbMin = btVector3(0, 0, 0),
const btVector3 aabbMax = btVector3(0, 0, 0) 
)
pure virtual

◆ resetPool()

virtual void btBroadphaseInterface::resetPool ( btDispatcher dispatcher)
inlinevirtual

reset broadphase internal structures, to ensure determinism/reproducability

Reimplemented in btSimpleBroadphase, btDbvtBroadphase, btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, and btAxisSweep3Internal< unsigned short int >.

Definition at line 74 of file btBroadphaseInterface.h.

References void.

◆ setAabb()

virtual void btBroadphaseInterface::setAabb ( btBroadphaseProxy proxy,
const btVector3 aabbMin,
const btVector3 aabbMax,
btDispatcher dispatcher 
)
pure virtual

The documentation for this class was generated from the following file: