class for EPA algorithm More...
#include <epa.h>
Classes | |
| struct | SimplexF |
| struct | SimplexHorizon |
| struct | SimplexList |
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_, S tolerance_) | |
| Status | evaluate (GJK< S > &gjk, const Vector3< S > &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... | |
| SimplexF * | findBest () |
| Find the best polytope face to split. More... | |
| bool | getEdgeDist (SimplexF *face, SimplexV *a, SimplexV *b, S &dist) |
| void | initialize () |
| SimplexF * | newFace (SimplexV *a, SimplexV *b, SimplexV *c, bool forced) |
| ~EPA () | |
Public Attributes | |
| S | depth |
| SimplexF * | fc_store |
| SimplexList | hull |
| size_t | nextsv |
| Vector3< S > | normal |
| GJK< S >::Simplex | result |
| Status | status |
| SimplexList | stock |
| SimplexV * | sv_store |
Private Types | |
| using | SimplexV = typename GJK< S >::SimplexV |
Static Private Member Functions | |
| static void | bind (SimplexF *fa, size_t ea, SimplexF *fb, size_t eb) |
Private Attributes | |
| unsigned int | max_face_num |
| unsigned int | max_iterations |
| unsigned int | max_vertex_num |
| S | tolerance |
class for EPA algorithm
|
private |
| enum fcl::detail::EPA::Status |
| fcl::detail::EPA< S >::EPA | ( | unsigned int | max_face_num_, |
| unsigned int | max_vertex_num_, | ||
| unsigned int | max_iterations_, | ||
| S | tolerance_ | ||
| ) |
| fcl::detail::EPA< S >::~EPA |
|
staticprivate |
| EPA< S >::Status fcl::detail::EPA< S >::evaluate | ( | GJK< S > & | gjk, |
| const Vector3< S > & | guess | ||
| ) |
| bool fcl::detail::EPA< S >::expand | ( | size_t | pass, |
| SimplexV * | w, | ||
| SimplexF * | f, | ||
| size_t | e, | ||
| SimplexHorizon & | horizon | ||
| ) |
| EPA< S >::SimplexF * fcl::detail::EPA< S >::findBest |
| bool fcl::detail::EPA< S >::getEdgeDist | ( | SimplexF * | face, |
| SimplexV * | a, | ||
| SimplexV * | b, | ||
| S & | dist | ||
| ) |
| void fcl::detail::EPA< S >::initialize |
| S fcl::detail::EPA< S >::depth |
| SimplexF* fcl::detail::EPA< S >::fc_store |
| SimplexList fcl::detail::EPA< S >::hull |
|
private |
|
private |
|
private |
| size_t fcl::detail::EPA< S >::nextsv |
| Vector3<S> fcl::detail::EPA< S >::normal |
| GJK<S>::Simplex fcl::detail::EPA< S >::result |
| Status fcl::detail::EPA< S >::status |
| SimplexList fcl::detail::EPA< S >::stock |
| SimplexV* fcl::detail::EPA< S >::sv_store |
|
private |