Bullet Collision Detection & Physics Library
Classes | Public Member Functions | Private Attributes | List of all members
btConvex2dConvex2dAlgorithm Class Reference

The convex2dConvex2dAlgorithm collision algorithm support 2d collision detection for btConvex2dShape Currently it requires the btMinkowskiPenetrationDepthSolver, it has support for 2d penetration depth computation. More...

#include <btConvex2dConvex2dAlgorithm.h>

Inheritance diagram for btConvex2dConvex2dAlgorithm:
Inheritance graph
[legend]
Collaboration diagram for btConvex2dConvex2dAlgorithm:
Collaboration graph
[legend]

Classes

struct  CreateFunc
 

Public Member Functions

 btConvex2dConvex2dAlgorithm (btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *pdSolver, int numPerturbationIterations, int minimumPointsPerturbationThreshold)
 
virtual ~btConvex2dConvex2dAlgorithm ()
 
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)
 
void setLowLevelOfDetail (bool useLowLevel)
 
const btPersistentManifoldgetManifold ()
 
- Public Member Functions inherited from btActivatingCollisionAlgorithm
virtual ~btActivatingCollisionAlgorithm ()
 
- Public Member Functions inherited from btCollisionAlgorithm
 btCollisionAlgorithm ()
 
 btCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
 
virtual ~btCollisionAlgorithm ()
 
virtual void processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)=0
 
virtual btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)=0
 
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)=0
 

Private Attributes

btSimplexSolverInterfacem_simplexSolver
 
btConvexPenetrationDepthSolverm_pdSolver
 
bool m_ownManifold
 
btPersistentManifoldm_manifoldPtr
 
bool m_lowLevelOfDetail
 

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
btDispatcherm_dispatcher
 

Detailed Description

The convex2dConvex2dAlgorithm collision algorithm support 2d collision detection for btConvex2dShape Currently it requires the btMinkowskiPenetrationDepthSolver, it has support for 2d penetration depth computation.

Definition at line 32 of file btConvex2dConvex2dAlgorithm.h.

Constructor & Destructor Documentation

◆ btConvex2dConvex2dAlgorithm()

btConvex2dConvex2dAlgorithm::btConvex2dConvex2dAlgorithm ( btPersistentManifold mf,
const btCollisionAlgorithmConstructionInfo ci,
const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
btSimplexSolverInterface simplexSolver,
btConvexPenetrationDepthSolver pdSolver,
int  numPerturbationIterations,
int  minimumPointsPerturbationThreshold 
)

Definition at line 55 of file btConvex2dConvex2dAlgorithm.cpp.

◆ ~btConvex2dConvex2dAlgorithm()

btConvex2dConvex2dAlgorithm::~btConvex2dConvex2dAlgorithm ( )
virtual

Definition at line 67 of file btConvex2dConvex2dAlgorithm.cpp.

Member Function Documentation

◆ calculateTimeOfImpact()

btScalar btConvex2dConvex2dAlgorithm::calculateTimeOfImpact ( btCollisionObject body0,
btCollisionObject body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
)
virtual

Rather then checking ALL pairs, only calculate TOI when motion exceeds threshold

Linear motion for one of objects needs to exceed m_ccdSquareMotionThreshold col0->m_worldTransform,

Convex0 against sphere for Convex1

Simplification, one object is simplified as a sphere

Sphere (for convex0) against Convex1

Simplification, one object is simplified as a sphere

Implements btCollisionAlgorithm.

Definition at line 133 of file btConvex2dConvex2dAlgorithm.cpp.

◆ getAllContactManifolds()

virtual void btConvex2dConvex2dAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray)
inlinevirtual

should we use m_ownManifold to avoid adding duplicates?

Implements btCollisionAlgorithm.

Definition at line 50 of file btConvex2dConvex2dAlgorithm.h.

◆ getManifold()

const btPersistentManifold * btConvex2dConvex2dAlgorithm::getManifold ( )
inline

Definition at line 59 of file btConvex2dConvex2dAlgorithm.h.

◆ processCollision()

void btConvex2dConvex2dAlgorithm::processCollision ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
)
virtual

Implements btCollisionAlgorithm.

Definition at line 86 of file btConvex2dConvex2dAlgorithm.cpp.

◆ setLowLevelOfDetail()

void btConvex2dConvex2dAlgorithm::setLowLevelOfDetail ( bool  useLowLevel)

Definition at line 76 of file btConvex2dConvex2dAlgorithm.cpp.

Member Data Documentation

◆ m_lowLevelOfDetail

bool btConvex2dConvex2dAlgorithm::m_lowLevelOfDetail
private

Definition at line 39 of file btConvex2dConvex2dAlgorithm.h.

◆ m_manifoldPtr

btPersistentManifold* btConvex2dConvex2dAlgorithm::m_manifoldPtr
private

Definition at line 38 of file btConvex2dConvex2dAlgorithm.h.

◆ m_ownManifold

bool btConvex2dConvex2dAlgorithm::m_ownManifold
private

Definition at line 37 of file btConvex2dConvex2dAlgorithm.h.

◆ m_pdSolver

btConvexPenetrationDepthSolver* btConvex2dConvex2dAlgorithm::m_pdSolver
private

Definition at line 35 of file btConvex2dConvex2dAlgorithm.h.

◆ m_simplexSolver

btSimplexSolverInterface* btConvex2dConvex2dAlgorithm::m_simplexSolver
private

Definition at line 34 of file btConvex2dConvex2dAlgorithm.h.


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