Bullet Collision Detection & Physics Library: btGjkEpa3.h File Reference

Bullet Collision Detection & Physics Library

Classes | Macros | 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)

## 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.

## 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>

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

Definition at line 878 of file btGjkEpa3.h.