Bullet Collision Detection & Physics Library
Classes | Macros | Functions | Variables
btGjkPairDetector.cpp File Reference
#include "btGjkPairDetector.h"
#include "BulletCollision/CollisionShapes/btConvexShape.h"
#include "BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h"
#include "BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h"
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) ( ,
,
 
)
static

◆ gGjkEpaPenetrationTolerance

btScalar gGjkEpaPenetrationTolerance = 0.001

Definition at line 36 of file btGjkPairDetector.cpp.