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

◆ EPA_ACCURACY

#define EPA_ACCURACY   ((btScalar)0.0001)

Definition at line 72 of file btGjkEpa3.h.

◆ EPA_FALLBACK

#define EPA_FALLBACK   (10 * EPA_ACCURACY)

Definition at line 73 of file btGjkEpa3.h.

◆ EPA_INSIDE_EPS

#define EPA_INSIDE_EPS   ((btScalar)0.01)

Definition at line 75 of file btGjkEpa3.h.

◆ EPA_MAX_FACES

#define EPA_MAX_FACES   (EPA_MAX_VERTICES * 2)

Definition at line 70 of file btGjkEpa3.h.

◆ EPA_MAX_ITERATIONS

#define EPA_MAX_ITERATIONS   255

Definition at line 71 of file btGjkEpa3.h.

◆ EPA_MAX_VERTICES

#define EPA_MAX_VERTICES   64

Definition at line 69 of file btGjkEpa3.h.

◆ EPA_PLANE_EPS

#define EPA_PLANE_EPS   ((btScalar)0.00001)

Definition at line 74 of file btGjkEpa3.h.

◆ GJK_ACCURARY

#define GJK_ACCURARY   ((btScalar)0.0001)

Definition at line 61 of file btGjkEpa3.h.

◆ GJK_DUPLICATED_EPS

#define GJK_DUPLICATED_EPS   ((btScalar)0.0001)

Definition at line 63 of file btGjkEpa3.h.

◆ GJK_MAX_ITERATIONS

#define GJK_MAX_ITERATIONS   128

Definition at line 60 of file btGjkEpa3.h.

◆ GJK_MIN_DISTANCE

#define GJK_MIN_DISTANCE   ((btScalar)0.0001)

Definition at line 62 of file btGjkEpa3.h.

◆ GJK_SIMPLEX2_EPS

#define GJK_SIMPLEX2_EPS   ((btScalar)0.0)

Definition at line 64 of file btGjkEpa3.h.

◆ GJK_SIMPLEX3_EPS

#define GJK_SIMPLEX3_EPS   ((btScalar)0.0)

Definition at line 65 of file btGjkEpa3.h.

◆ GJK_SIMPLEX4_EPS

#define GJK_SIMPLEX4_EPS   ((btScalar)0.0)

Definition at line 66 of file btGjkEpa3.h.

Typedef Documentation

◆ U

typedef unsigned int U

Definition at line 78 of file btGjkEpa3.h.

◆ U1

typedef unsigned char U1

Definition at line 79 of file btGjkEpa3.h.

Enumeration Type Documentation

◆ eEpaStatus

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

Definition at line 528 of file btGjkEpa3.h.

◆ eGjkStatus

enum eGjkStatus
Enumerator
eGjkValid 
eGjkInside 
eGjkFailed 

Definition at line 125 of file btGjkEpa3.h.

Function Documentation

◆ btComputeGjkDistance()

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

Definition at line 1024 of file btGjkEpa3.h.

◆ btGjkEpaSolver3_Distance()

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

Definition at line 898 of file btGjkEpa3.h.

◆ btGjkEpaSolver3_Penetration()

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

Definition at line 931 of file btGjkEpa3.h.

◆ Initialize()

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

Definition at line 878 of file btGjkEpa3.h.