Bullet Collision Detection & Physics Library: btBroadphaseInterface Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
btBroadphaseInterface Class Referenceabstract

The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs. More...

`#include <btBroadphaseInterface.h>`

Inheritance diagram for btBroadphaseInterface:
[legend]

## Public Member Functions
virtual | ~btBroadphaseInterface ()
virtual btBroadphaseProxy * | createProxy (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
virtual btOverlappingPairCache * | getOverlappingPairCache ()=0
virtual const btOverlappingPairCache * | getOverlappingPairCache () const =0
virtual void | getBroadphaseAabb (btVector3 &aabbMin, btVector3 &aabbMax) const =0
| getAabb returns the axis aligned bounding box in the 'global' coordinate frame will add some transform later
virtual void | resetPool (btDispatcher *dispatcher)
| reset broadphase internal structures, to ensure determinism/reproducability
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

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

## ◆ 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 btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, btAxisSweep3Internal< unsigned short int >, btDbvtBroadphase, and btSimpleBroadphase.

## ◆ createProxy()

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

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

## ◆ destroyProxy()

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

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

## ◆ getAabb()

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

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

## ◆ 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 btAxisSweep3Internal< BP_FP_INT_TYPE >, btAxisSweep3Internal< unsigned int >, btAxisSweep3Internal< unsigned short int >, btDbvtBroadphase, and btSimpleBroadphase.

## ◆ getOverlappingPairCache() [1/2]

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

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

## ◆ getOverlappingPairCache() [2/2]

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

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

## ◆ printStats()

virtual void btBroadphaseInterface::printStats | ( |  | ) |
| pure virtual

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

## ◆ 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

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

## ◆ resetPool()

virtual void btBroadphaseInterface::resetPool | ( | btDispatcher * | dispatcher | ) |
| inlinevirtual

reset broadphase internal structures, to ensure determinism/reproducability

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

Definition at line 74 of file btBroadphaseInterface.h.

## ◆ setAabb()

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

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

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

- btBroadphaseInterface.h