Bullet Collision Detection & Physics Library: btSphereBoxCollisionAlgorithm Class Reference

Bullet Collision Detection & Physics Library

Classes | Public Member Functions | Private Attributes | List of all members
btSphereBoxCollisionAlgorithm Class Reference

btSphereBoxCollisionAlgorithm provides sphere-box collision detection. More...

`#include <btSphereBoxCollisionAlgorithm.h>`

Inheritance diagram for btSphereBoxCollisionAlgorithm:
[legend]
Collaboration diagram for btSphereBoxCollisionAlgorithm:
[legend]

## Classes
struct | CreateFunc

## Public Member Functions
| btSphereBoxCollisionAlgorithm (btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
virtual | ~btSphereBoxCollisionAlgorithm ()
virtual void | processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual btScalar | calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual void | getAllContactManifolds (btManifoldArray &manifoldArray)
bool | getSphereDistance (const btCollisionObjectWrapper *boxObjWrap, btVector3 &v3PointOnBox, btVector3 &normal, btScalar &penetrationDepth, const btVector3 &v3SphereCenter, btScalar fRadius, btScalar maxContactDistance)
btScalar | getSpherePenetration (btVector3 const &boxHalfExtent, btVector3 const &sphereRelPos, btVector3 &closestPoint, btVector3 &normal)
Public Member Functions inherited from btActivatingCollisionAlgorithm
virtual | ~btActivatingCollisionAlgorithm ()
Public Member Functions inherited from btCollisionAlgorithm
| btCollisionAlgorithm ()
| btCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
virtual | ~btCollisionAlgorithm ()

## Private Attributes
bool | m_ownManifold
btPersistentManifold * | m_manifoldPtr
bool | m_isSwapped

## Additional Inherited Members
Protected Member Functions inherited from btActivatingCollisionAlgorithm
| btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
| btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
Protected Attributes inherited from btCollisionAlgorithm
btDispatcher * | m_dispatcher

## Detailed Description

btSphereBoxCollisionAlgorithm provides sphere-box collision detection.

Other features are frame-coherency (persistent data) and collision response.

Definition at line 29 of file btSphereBoxCollisionAlgorithm.h.

## Constructor & Destructor Documentation

## ◆ btSphereBoxCollisionAlgorithm()

btSphereBoxCollisionAlgorithm::btSphereBoxCollisionAlgorithm | ( | btPersistentManifold * | mf,
|  | const btCollisionAlgorithmConstructionInfo & | ci,
|  | const btCollisionObjectWrapper * | body0Wrap,
|  | const btCollisionObjectWrapper * | body1Wrap,
|  | bool | isSwapped
| ) |  |

Definition at line 24 of file btSphereBoxCollisionAlgorithm.cpp.

## ◆ ~btSphereBoxCollisionAlgorithm()

btSphereBoxCollisionAlgorithm::~btSphereBoxCollisionAlgorithm | ( |  | ) |
| virtual

Definition at line 41 of file btSphereBoxCollisionAlgorithm.cpp.

## Member Function Documentation

## ◆ calculateTimeOfImpact()

btScalar btSphereBoxCollisionAlgorithm::calculateTimeOfImpact | ( | btCollisionObject * | body0,
|  | btCollisionObject * | body1,
|  | const btDispatcherInfo & | dispatchInfo,
|  | btManifoldResult * | resultOut
| ) |  |
| virtual

Implements btCollisionAlgorithm.

Definition at line 89 of file btSphereBoxCollisionAlgorithm.cpp.

## ◆ getAllContactManifolds()

virtual void btSphereBoxCollisionAlgorithm::getAllContactManifolds | ( | btManifoldArray & | manifoldArray | ) |
| inlinevirtual

Implements btCollisionAlgorithm.

Definition at line 45 of file btSphereBoxCollisionAlgorithm.h.

## ◆ getSphereDistance()

bool btSphereBoxCollisionAlgorithm::getSphereDistance | ( | const btCollisionObjectWrapper * | boxObjWrap,
|  | btVector3 & | v3PointOnBox,
|  | btVector3 & | normal,
|  | btScalar & | penetrationDepth,
|  | const btVector3 & | v3SphereCenter,
|  | btScalar | fRadius,
|  | btScalar | maxContactDistance
| ) |  |

Definition at line 101 of file btSphereBoxCollisionAlgorithm.cpp.

## ◆ getSpherePenetration()

btScalar btSphereBoxCollisionAlgorithm::getSpherePenetration | ( | btVector3 const & | boxHalfExtent,
|  | btVector3 const & | sphereRelPos,
|  | btVector3 & | closestPoint,
|  | btVector3 & | normal
| ) |  |

Definition at line 160 of file btSphereBoxCollisionAlgorithm.cpp.

## ◆ processCollision()

void btSphereBoxCollisionAlgorithm::processCollision | ( | const btCollisionObjectWrapper * | body0Wrap,
|  | const btCollisionObjectWrapper * | body1Wrap,
|  | const btDispatcherInfo & | dispatchInfo,
|  | btManifoldResult * | resultOut
| ) |  |
| virtual

report a contact. internally this will be kept persistent, and contact reduction is done

Implements btCollisionAlgorithm.

Definition at line 52 of file btSphereBoxCollisionAlgorithm.cpp.

## Member Data Documentation

## ◆ m_isSwapped

bool btSphereBoxCollisionAlgorithm::m_isSwapped
| private

Definition at line 33 of file btSphereBoxCollisionAlgorithm.h.

## ◆ m_manifoldPtr

btPersistentManifold* btSphereBoxCollisionAlgorithm::m_manifoldPtr
| private

Definition at line 32 of file btSphereBoxCollisionAlgorithm.h.

## ◆ m_ownManifold

bool btSphereBoxCollisionAlgorithm::m_ownManifold
| private

Definition at line 31 of file btSphereBoxCollisionAlgorithm.h.

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

- btSphereBoxCollisionAlgorithm.h
- btSphereBoxCollisionAlgorithm.cpp