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