Bullet Collision Detection & Physics Library
Classes | Macros | Typedefs | Enumerations | Functions
btGjkEpa3.h File Reference
#include "LinearMath/btTransform.h"
#include "btGjkCollisionDescription.h"
Include dependency graph for btGjkEpa3.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  btGjkEpaSolver3
 
struct  btGjkEpaSolver3::sResults
 
struct  MinkowskiDiff< btConvexTemplate >
 
struct  GJK< btConvexTemplate >
 
struct  GJK< btConvexTemplate >::sSV
 
struct  GJK< btConvexTemplate >::sSimplex
 
struct  EPA< btConvexTemplate >
 
struct  EPA< btConvexTemplate >::sFace
 
struct  EPA< btConvexTemplate >::sList
 
struct  EPA< btConvexTemplate >::sHorizon
 

Macros

#define GJK_MAX_ITERATIONS   128
 
#define GJK_ACCURARY   ((btScalar)0.0001)
 
#define GJK_MIN_DISTANCE   ((btScalar)0.0001)
 
#define GJK_DUPLICATED_EPS   ((btScalar)0.0001)
 
#define GJK_SIMPLEX2_EPS   ((btScalar)0.0)
 
#define GJK_SIMPLEX3_EPS   ((btScalar)0.0)
 
#define GJK_SIMPLEX4_EPS   ((btScalar)0.0)
 
#define EPA_MAX_VERTICES   64
 
#define EPA_MAX_FACES   (EPA_MAX_VERTICES*2)
 
#define EPA_MAX_ITERATIONS   255
 
#define EPA_ACCURACY   ((btScalar)0.0001)
 
#define EPA_FALLBACK   (10*EPA_ACCURACY)
 
#define EPA_PLANE_EPS   ((btScalar)0.00001)
 
#define EPA_INSIDE_EPS   ((btScalar)0.01)
 

Typedefs

typedef unsigned int U
 
typedef unsigned char U1
 

Enumerations

enum  eGjkStatus {
  eGjkValid,
  eGjkInside,
  eGjkFailed
}
 
enum  eEpaStatus {
  eEpaValid,
  eEpaTouching,
  eEpaDegenerated,
  eEpaNonConvex,
  eEpaInvalidHull,
  eEpaOutOfFaces,
  eEpaOutOfVertices,
  eEpaAccuraryReached,
  eEpaFallBack,
  eEpaFailed
}
 

Functions

template<typename btConvexTemplate >
static void Initialize (const btConvexTemplate &a, const btConvexTemplate &b, btGjkEpaSolver3::sResults &results, MinkowskiDiff< btConvexTemplate > &shape)
 
template<typename btConvexTemplate >
bool btGjkEpaSolver3_Distance (const btConvexTemplate &a, const btConvexTemplate &b, const btVector3 &guess, btGjkEpaSolver3::sResults &results)
 
template<typename btConvexTemplate >
bool btGjkEpaSolver3_Penetration (const btConvexTemplate &a, const btConvexTemplate &b, const btVector3 &guess, btGjkEpaSolver3::sResults &results)
 
template<typename btConvexTemplate , typename btDistanceInfoTemplate >
int btComputeGjkDistance (const btConvexTemplate &a, const btConvexTemplate &b, const btGjkCollisionDescription &colDesc, btDistanceInfoTemplate *distInfo)
 

Macro Definition Documentation

#define EPA_ACCURACY   ((btScalar)0.0001)

Definition at line 80 of file btGjkEpa3.h.

#define EPA_FALLBACK   (10*EPA_ACCURACY)

Definition at line 81 of file btGjkEpa3.h.

#define EPA_INSIDE_EPS   ((btScalar)0.01)

Definition at line 83 of file btGjkEpa3.h.

#define EPA_MAX_FACES   (EPA_MAX_VERTICES*2)

Definition at line 78 of file btGjkEpa3.h.

#define EPA_MAX_ITERATIONS   255

Definition at line 79 of file btGjkEpa3.h.

#define EPA_MAX_VERTICES   64

Definition at line 77 of file btGjkEpa3.h.

#define EPA_PLANE_EPS   ((btScalar)0.00001)

Definition at line 82 of file btGjkEpa3.h.

#define GJK_ACCURARY   ((btScalar)0.0001)

Definition at line 69 of file btGjkEpa3.h.

#define GJK_DUPLICATED_EPS   ((btScalar)0.0001)

Definition at line 71 of file btGjkEpa3.h.

#define GJK_MAX_ITERATIONS   128

Definition at line 68 of file btGjkEpa3.h.

#define GJK_MIN_DISTANCE   ((btScalar)0.0001)

Definition at line 70 of file btGjkEpa3.h.

#define GJK_SIMPLEX2_EPS   ((btScalar)0.0)

Definition at line 72 of file btGjkEpa3.h.

#define GJK_SIMPLEX3_EPS   ((btScalar)0.0)

Definition at line 73 of file btGjkEpa3.h.

#define GJK_SIMPLEX4_EPS   ((btScalar)0.0)

Definition at line 74 of file btGjkEpa3.h.

Typedef Documentation

typedef unsigned int U

Definition at line 87 of file btGjkEpa3.h.

typedef unsigned char U1

Definition at line 88 of file btGjkEpa3.h.

Enumeration Type Documentation

enum eEpaStatus
Enumerator
eEpaValid 
eEpaTouching 
eEpaDegenerated 
eEpaNonConvex 
eEpaInvalidHull 
eEpaOutOfFaces 
eEpaOutOfVertices 
eEpaAccuraryReached 
eEpaFallBack 
eEpaFailed 

Definition at line 509 of file btGjkEpa3.h.

enum eGjkStatus
Enumerator
eGjkValid 
eGjkInside 
eGjkFailed 

Definition at line 136 of file btGjkEpa3.h.

Function Documentation

template<typename btConvexTemplate , typename btDistanceInfoTemplate >
int btComputeGjkDistance ( const btConvexTemplate &  a,
const btConvexTemplate &  b,
const btGjkCollisionDescription colDesc,
btDistanceInfoTemplate *  distInfo 
)

Definition at line 993 of file btGjkEpa3.h.

template<typename btConvexTemplate >
bool btGjkEpaSolver3_Distance ( const btConvexTemplate &  a,
const btConvexTemplate &  b,
const btVector3 guess,
btGjkEpaSolver3::sResults results 
)

Definition at line 866 of file btGjkEpa3.h.

template<typename btConvexTemplate >
bool btGjkEpaSolver3_Penetration ( const btConvexTemplate &  a,
const btConvexTemplate &  b,
const btVector3 guess,
btGjkEpaSolver3::sResults results 
)

Definition at line 902 of file btGjkEpa3.h.

template<typename btConvexTemplate >
static void Initialize ( const btConvexTemplate &  a,
const btConvexTemplate &  b,
btGjkEpaSolver3::sResults results,
MinkowskiDiff< btConvexTemplate > &  shape 
)
static

Definition at line 842 of file btGjkEpa3.h.