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 btSupportVector * btSimplexPoint (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 btSupportVector * ccdSimplexLast (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.