class for EPA algorithm More...
#include <hpp/fcl/narrowphase/gjk.h>
Public Types | |
enum | Status { Valid, Touching, Degenerated, NonConvex, InvalidHull, OutOfFaces, OutOfVertices, AccuracyReached, FallBack, Failed } |
Public Member Functions | |
EPA (unsigned int max_face_num_, unsigned int max_vertex_num_, unsigned int max_iterations_, FCL_REAL tolerance_) | |
~EPA () | |
void | initialize () |
bool | getEdgeDist (SimplexF *face, SimplexV *a, SimplexV *b, FCL_REAL &dist) |
SimplexF * | newFace (SimplexV *a, SimplexV *b, SimplexV *c, bool forced) |
SimplexF * | findBest () |
Find the best polytope face to split. More... | |
Status | evaluate (GJK &gjk, const Vec3f &guess) |
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... | |
Public Attributes | |
Status | status |
GJK::Simplex | result |
Vec3f | normal |
FCL_REAL | depth |
SimplexV * | sv_store |
SimplexF * | fc_store |
size_t | nextsv |
SimplexList | hull |
SimplexList | stock |
class for EPA algorithm
|
inline |
References initialize().
Referenced by fcl::GJKSolver_indep::shapeIntersect(), and fcl::GJKSolver_indep::shapeTriangleIntersect().
bool fcl::details::EPA::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]
SimplexF* fcl::details::EPA::findBest | ( | ) |
Find the best polytope face to split.
bool fcl::details::EPA::getEdgeDist | ( | SimplexF * | face, |
SimplexV * | a, | ||
SimplexV * | b, | ||
FCL_REAL & | dist | ||
) |
void fcl::details::EPA::initialize | ( | ) |
Referenced by EPA().
FCL_REAL fcl::details::EPA::depth |
Referenced by fcl::GJKSolver_indep::shapeIntersect(), and fcl::GJKSolver_indep::shapeTriangleIntersect().
SimplexF* fcl::details::EPA::fc_store |
Referenced by ~EPA().
SimplexList fcl::details::EPA::hull |
size_t fcl::details::EPA::nextsv |
Vec3f fcl::details::EPA::normal |
Referenced by fcl::GJKSolver_indep::shapeIntersect(), and fcl::GJKSolver_indep::shapeTriangleIntersect().
GJK::Simplex fcl::details::EPA::result |
Referenced by fcl::GJKSolver_indep::shapeIntersect(), and fcl::GJKSolver_indep::shapeTriangleIntersect().
Status fcl::details::EPA::status |
SimplexList fcl::details::EPA::stock |