39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
#ifndef _68DA1F85_90B7_4bb0_A705_83B4040A75C6_
|
|
#define _68DA1F85_90B7_4bb0_A705_83B4040A75C6_
|
|
#include "BulletCollision/CollisionShapes/btConvexShape.h"
|
|
|
|
///btGjkEpaSolver contributed under zlib by Nathanael Presson
|
|
struct SpuGjkEpaSolver2
|
|
{
|
|
struct sResults
|
|
{
|
|
enum eStatus
|
|
{
|
|
Separated, /* Shapes doesnt penetrate */
|
|
Penetrating, /* Shapes are penetrating */
|
|
GJK_Failed, /* GJK phase fail, no big issue, shapes are probably just 'touching' */
|
|
EPA_Failed, /* EPA phase fail, bigger problem, need to save parameters, and debug */
|
|
} status;
|
|
btVector3 witnesses[2];
|
|
btVector3 normal;
|
|
};
|
|
|
|
static int StackSizeRequirement();
|
|
|
|
|
|
static bool Penetration(void* shapeA,
|
|
SpuConvexPolyhedronVertexData* convexDataA,
|
|
int shapeTypeA,
|
|
float marginA,
|
|
const btTransform& xformA,
|
|
void* shapeB,
|
|
SpuConvexPolyhedronVertexData* convexDataB,
|
|
int shapeTypeB,
|
|
float marginB,
|
|
const btTransform& xformB,
|
|
const btVector3& guess,
|
|
sResults& results);
|
|
};
|
|
|
|
#endif
|