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 |