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 |