Bullet Collision Detection & Physics Library
btGjkPairDetector.cpp File Reference
Include dependency graph for btGjkPairDetector.cpp:

Go to the source code of this file.

Classes

struct  btSupportVector
 
struct  btSimplex
 

Macros

#define REL_ERROR2   btScalar(1.0e-6)
 

Functions

static void btComputeSupport (const btConvexShape *convexA, const btTransform &localTransA, const btConvexShape *convexB, const btTransform &localTransB, const btVector3 &dir, bool check2d, btVector3 &supAworld, btVector3 &supBworld, btVector3 &aMinb)
 
void btSimplexInit (btSimplex *s)
 
int btSimplexSize (const btSimplex *s)
 
const btSupportVectorbtSimplexPoint (const btSimplex *s, int idx)
 
void btSupportCopy (btSupportVector *d, const btSupportVector *s)
 
void btVec3Copy (btVector3 *v, const btVector3 *w)
 
void ccdVec3Add (btVector3 *v, const btVector3 *w)
 
void ccdVec3Sub (btVector3 *v, const btVector3 *w)
 
void btVec3Sub2 (btVector3 *d, const btVector3 *v, const btVector3 *w)
 
btScalar btVec3Dot (const btVector3 *a, const btVector3 *b)
 
btScalar ccdVec3Dist2 (const btVector3 *a, const btVector3 *b)
 
void btVec3Scale (btVector3 *d, btScalar k)
 
void btVec3Cross (btVector3 *d, const btVector3 *a, const btVector3 *b)
 
void btTripleCross (const btVector3 *a, const btVector3 *b, const btVector3 *c, btVector3 *d)
 
int ccdEq (btScalar _a, btScalar _b)
 
btScalar ccdVec3X (const btVector3 *v)
 
btScalar ccdVec3Y (const btVector3 *v)
 
btScalar ccdVec3Z (const btVector3 *v)
 
int btVec3Eq (const btVector3 *a, const btVector3 *b)
 
void btSimplexAdd (btSimplex *s, const btSupportVector *v)
 
void btSimplexSet (btSimplex *s, size_t pos, const btSupportVector *a)
 
void btSimplexSetSize (btSimplex *s, int size)
 
const btSupportVectorccdSimplexLast (const btSimplex *s)
 
int ccdSign (btScalar val)
 
btScalar btVec3PointSegmentDist2 (const btVector3 *P, const btVector3 *x0, const btVector3 *b, btVector3 *witness)
 
btScalar btVec3PointTriDist2 (const btVector3 *P, const btVector3 *x0, const btVector3 *B, const btVector3 *C, btVector3 *witness)
 
static int btDoSimplex2 (btSimplex *simplex, btVector3 *dir)
 
static int btDoSimplex3 (btSimplex *simplex, btVector3 *dir)
 
static int btDoSimplex4 (btSimplex *simplex, btVector3 *dir)
 
static int btDoSimplex (btSimplex *simplex, btVector3 *dir)
 

Variables

btScalar gGjkEpaPenetrationTolerance = 0.001
 
static btVector3 ccd_vec3_origin (0, 0, 0)
 

Macro Definition Documentation

◆ REL_ERROR2

#define REL_ERROR2   btScalar(1.0e-6)

Definition at line 35 of file btGjkPairDetector.cpp.

Function Documentation

◆ btComputeSupport()

static void btComputeSupport ( const btConvexShape * convexA,
const btTransform & localTransA,
const btConvexShape * convexB,
const btTransform & localTransB,
const btVector3 & dir,
bool check2d,
btVector3 & supAworld,
btVector3 & supBworld,
btVector3 & aMinb )
static

Definition at line 80 of file btGjkPairDetector.cpp.

◆ btDoSimplex()

static int btDoSimplex ( btSimplex * simplex,
btVector3 * dir )
static

Definition at line 665 of file btGjkPairDetector.cpp.

◆ btDoSimplex2()

static int btDoSimplex2 ( btSimplex * simplex,
btVector3 * dir )
static

Definition at line 414 of file btGjkPairDetector.cpp.

◆ btDoSimplex3()

static int btDoSimplex3 ( btSimplex * simplex,
btVector3 * dir )
static

Definition at line 460 of file btGjkPairDetector.cpp.

◆ btDoSimplex4()

static int btDoSimplex4 ( btSimplex * simplex,
btVector3 * dir )
static

Definition at line 569 of file btGjkPairDetector.cpp.

◆ btSimplexAdd()

void btSimplexAdd ( btSimplex * s,
const btSupportVector * v )
inline

Definition at line 235 of file btGjkPairDetector.cpp.

◆ btSimplexInit()

void btSimplexInit ( btSimplex * s)
inline

Definition at line 118 of file btGjkPairDetector.cpp.

◆ btSimplexPoint()

const btSupportVector * btSimplexPoint ( const btSimplex * s,
int idx )
inline

Definition at line 128 of file btGjkPairDetector.cpp.

◆ btSimplexSet()

void btSimplexSet ( btSimplex * s,
size_t pos,
const btSupportVector * a )
inline

Definition at line 242 of file btGjkPairDetector.cpp.

◆ btSimplexSetSize()

void btSimplexSetSize ( btSimplex * s,
int size )
inline

Definition at line 247 of file btGjkPairDetector.cpp.

◆ btSimplexSize()

int btSimplexSize ( const btSimplex * s)
inline

Definition at line 123 of file btGjkPairDetector.cpp.

◆ btSupportCopy()

void btSupportCopy ( btSupportVector * d,
const btSupportVector * s )
inline

Definition at line 133 of file btGjkPairDetector.cpp.

◆ btTripleCross()

void btTripleCross ( const btVector3 * a,
const btVector3 * b,
const btVector3 * c,
btVector3 * d )
inline

Definition at line 187 of file btGjkPairDetector.cpp.

◆ btVec3Copy()

void btVec3Copy ( btVector3 * v,
const btVector3 * w )
inline

Definition at line 138 of file btGjkPairDetector.cpp.

◆ btVec3Cross()

void btVec3Cross ( btVector3 * d,
const btVector3 * a,
const btVector3 * b )
inline

Definition at line 180 of file btGjkPairDetector.cpp.

◆ btVec3Dot()

btScalar btVec3Dot ( const btVector3 * a,
const btVector3 * b )
inline

Definition at line 158 of file btGjkPairDetector.cpp.

◆ btVec3Eq()

int btVec3Eq ( const btVector3 * a,
const btVector3 * b )
inline

Definition at line 230 of file btGjkPairDetector.cpp.

◆ btVec3PointSegmentDist2()

btScalar btVec3PointSegmentDist2 ( const btVector3 * P,
const btVector3 * x0,
const btVector3 * b,
btVector3 * witness )
inline

Definition at line 270 of file btGjkPairDetector.cpp.

◆ btVec3PointTriDist2()

btScalar btVec3PointTriDist2 ( const btVector3 * P,
const btVector3 * x0,
const btVector3 * B,
const btVector3 * C,
btVector3 * witness )

Definition at line 335 of file btGjkPairDetector.cpp.

◆ btVec3Scale()

void btVec3Scale ( btVector3 * d,
btScalar k )
inline

Definition at line 173 of file btGjkPairDetector.cpp.

◆ btVec3Sub2()

void btVec3Sub2 ( btVector3 * d,
const btVector3 * v,
const btVector3 * w )
inline

Definition at line 154 of file btGjkPairDetector.cpp.

◆ ccdEq()

int ccdEq ( btScalar _a,
btScalar _b )
inline

Definition at line 195 of file btGjkPairDetector.cpp.

◆ ccdSign()

int ccdSign ( btScalar val)
inline

Definition at line 257 of file btGjkPairDetector.cpp.

◆ ccdSimplexLast()

const btSupportVector * ccdSimplexLast ( const btSimplex * s)
inline

Definition at line 252 of file btGjkPairDetector.cpp.

◆ ccdVec3Add()

void ccdVec3Add ( btVector3 * v,
const btVector3 * w )
inline

Definition at line 143 of file btGjkPairDetector.cpp.

◆ ccdVec3Dist2()

btScalar ccdVec3Dist2 ( const btVector3 * a,
const btVector3 * b )
inline

Definition at line 166 of file btGjkPairDetector.cpp.

◆ ccdVec3Sub()

void ccdVec3Sub ( btVector3 * v,
const btVector3 * w )
inline

Definition at line 150 of file btGjkPairDetector.cpp.

◆ ccdVec3X()

btScalar ccdVec3X ( const btVector3 * v)

Definition at line 216 of file btGjkPairDetector.cpp.

◆ ccdVec3Y()

btScalar ccdVec3Y ( const btVector3 * v)

Definition at line 221 of file btGjkPairDetector.cpp.

◆ ccdVec3Z()

btScalar ccdVec3Z ( const btVector3 * v)

Definition at line 226 of file btGjkPairDetector.cpp.

Variable Documentation

◆ ccd_vec3_origin

btVector3 ccd_vec3_origin(0, 0, 0) ( 0 ,
0 ,
0  )
static

◆ gGjkEpaPenetrationTolerance

btScalar gGjkEpaPenetrationTolerance = 0.001

Definition at line 36 of file btGjkPairDetector.cpp.