Bullet Collision Detection & Physics Library
btContinuousConvexCollision Class Reference

btContinuousConvexCollision implements angular and linear time of impact for convex objects. More...

#include <btContinuousConvexCollision.h>

Inheritance diagram for btContinuousConvexCollision:
Collaboration diagram for btContinuousConvexCollision:

Public Member Functions

 btContinuousConvexCollision (const btConvexShape *shapeA, const btConvexShape *shapeB, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *penetrationDepthSolver)
 
 btContinuousConvexCollision (const btConvexShape *shapeA, const btStaticPlaneShape *plane)
 
virtual bool calcTimeOfImpact (const btTransform &fromA, const btTransform &toA, const btTransform &fromB, const btTransform &toB, CastResult &result)
 cast a convex against another convex object
 
- Public Member Functions inherited from btConvexCast
virtual ~btConvexCast ()
 

Private Member Functions

void computeClosestPoints (const btTransform &transA, const btTransform &transB, struct btPointCollector &pointCollector)
 

Private Attributes

btSimplexSolverInterfacem_simplexSolver
 
btConvexPenetrationDepthSolverm_penetrationDepthSolver
 
const btConvexShapem_convexA
 
const btConvexShapem_convexB1
 
const btStaticPlaneShapem_planeShape
 

Detailed Description

btContinuousConvexCollision implements angular and linear time of impact for convex objects.

Based on Brian Mirtich's Conservative Advancement idea (PhD thesis). Algorithm operates in worldspace, in order to keep in between motion globally consistent. It uses GJK at the moment. Future improvement would use minkowski sum / supporting vertex, merging innerloops

Definition at line 29 of file btContinuousConvexCollision.h.

Constructor & Destructor Documentation

◆ btContinuousConvexCollision() [1/2]

btContinuousConvexCollision::btContinuousConvexCollision ( const btConvexShape * shapeA,
const btConvexShape * shapeB,
btSimplexSolverInterface * simplexSolver,
btConvexPenetrationDepthSolver * penetrationDepthSolver )

Definition at line 26 of file btContinuousConvexCollision.cpp.

◆ btContinuousConvexCollision() [2/2]

btContinuousConvexCollision::btContinuousConvexCollision ( const btConvexShape * shapeA,
const btStaticPlaneShape * plane )

Definition at line 35 of file btContinuousConvexCollision.cpp.

Member Function Documentation

◆ calcTimeOfImpact()

bool btContinuousConvexCollision::calcTimeOfImpact ( const btTransform & fromA,
const btTransform & toA,
const btTransform & fromB,
const btTransform & toB,
CastResult & result )
virtual

cast a convex against another convex object

compute linear and angular velocity for this interval, to interpolate

Implements btConvexCast.

Definition at line 90 of file btContinuousConvexCollision.cpp.

◆ computeClosestPoints()

void btContinuousConvexCollision::computeClosestPoints ( const btTransform & transA,
const btTransform & transB,
struct btPointCollector & pointCollector )
private

Definition at line 48 of file btContinuousConvexCollision.cpp.

Member Data Documentation

◆ m_convexA

const btConvexShape* btContinuousConvexCollision::m_convexA
private

Definition at line 33 of file btContinuousConvexCollision.h.

◆ m_convexB1

const btConvexShape* btContinuousConvexCollision::m_convexB1
private

Definition at line 35 of file btContinuousConvexCollision.h.

◆ m_penetrationDepthSolver

btConvexPenetrationDepthSolver* btContinuousConvexCollision::m_penetrationDepthSolver
private

Definition at line 32 of file btContinuousConvexCollision.h.

◆ m_planeShape

const btStaticPlaneShape* btContinuousConvexCollision::m_planeShape
private

Definition at line 36 of file btContinuousConvexCollision.h.

◆ m_simplexSolver

btSimplexSolverInterface* btContinuousConvexCollision::m_simplexSolver
private

Definition at line 31 of file btContinuousConvexCollision.h.


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