|
FCL
0.6.0
Flexible Collision Library
|
class for EPA algorithm More...
#include <epa.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_, S tolerance_) | |
| void | initialize () |
| bool | getEdgeDist (SimplexF *face, SimplexV *a, SimplexV *b, S &dist) |
| SimplexF * | newFace (SimplexV *a, SimplexV *b, SimplexV *c, bool forced) |
| SimplexF * | findBest () |
| Find the best polytope face to split. | |
| 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] | |
Public Attributes | |
| Status | status |
| GJK< S >::Simplex | result |
| Vector3< S > | normal |
| S | depth |
| SimplexV * | sv_store |
| SimplexF * | fc_store |
| size_t | nextsv |
| SimplexList | hull |
| SimplexList | stock |
class for EPA algorithm