class for EPA algorithm More...
#include <gjk.h>
Classes | |
struct | SimplexF |
struct | SimplexHorizon |
struct | SimplexList |
Public Types | |
typedef GJK::SimplexV | SimplexV |
enum | Status { Failed = 0, Valid = 1, AccuracyReached = 1 << 1 | Valid, Degenerated = 1 << 1 | Failed, NonConvex = 2 << 1 | Failed, InvalidHull = 3 << 1 | Failed, OutOfFaces = 4 << 1 | Failed, OutOfVertices = 5 << 1 | Failed, FallBack = 6 << 1 | Failed } |
Public Member Functions | |
EPA (unsigned int max_face_num_, unsigned int max_vertex_num_, unsigned int max_iterations_, FCL_REAL tolerance_) | |
Status | evaluate (GJK &gjk, const Vec3f &guess) |
bool | getClosestPoints (const MinkowskiDiff &shape, Vec3f &w0, Vec3f &w1) |
void | initialize () |
~EPA () | |
Static Public Member Functions | |
static void | bind (SimplexF *fa, size_t ea, SimplexF *fb, size_t eb) |
Public Attributes | |
FCL_REAL | depth |
SimplexF * | fc_store |
SimplexList | hull |
size_t | nextsv |
Vec3f | normal |
GJK::Simplex | result |
Status | status |
SimplexList | stock |
SimplexV * | sv_store |
Private Member Functions | |
bool | expand (size_t pass, SimplexV *w, SimplexF *f, size_t e, SimplexHorizon &horizon) |
the goal is to add a face connecting vertex w and face edge f[e] More... | |
SimplexF * | findBest () |
Find the best polytope face to split. More... | |
bool | getEdgeDist (SimplexF *face, SimplexV *a, SimplexV *b, FCL_REAL &dist) |
SimplexF * | newFace (SimplexV *a, SimplexV *b, SimplexV *vertex, bool forced) |
Private Attributes | |
unsigned int | max_face_num |
unsigned int | max_iterations |
unsigned int | max_vertex_num |
FCL_REAL | tolerance |
|
inline |
EPA::Status hpp::fcl::details::EPA::evaluate | ( | GJK & | gjk, |
const Vec3f & | guess | ||
) |
Definition at line 1532 of file src/narrowphase/gjk.cpp.
|
private |
the goal is to add a face connecting vertex w and face edge f[e]
Definition at line 1639 of file src/narrowphase/gjk.cpp.
|
private |
Find the best polytope face to split.
Definition at line 1519 of file src/narrowphase/gjk.cpp.
bool hpp::fcl::details::EPA::getClosestPoints | ( | const MinkowskiDiff & | shape, |
Vec3f & | w0, | ||
Vec3f & | w1 | ||
) |
Get the closest points on each object.
Definition at line 1691 of file src/narrowphase/gjk.cpp.
|
private |
Definition at line 1451 of file src/narrowphase/gjk.cpp.
void hpp::fcl::details::EPA::initialize | ( | ) |
Definition at line 1440 of file src/narrowphase/gjk.cpp.
|
private |
Definition at line 1480 of file src/narrowphase/gjk.cpp.
SimplexList hpp::fcl::details::EPA::hull |
GJK::Simplex hpp::fcl::details::EPA::result |
SimplexList hpp::fcl::details::EPA::stock |