Struct EPA

Nested Relationships

Nested Types

Struct Documentation

struct EPA

class for EPA algorithm

Public Types

enum Status

Values:

enumerator Failed
enumerator Valid
enumerator AccuracyReached
enumerator Degenerated
enumerator NonConvex
enumerator InvalidHull
enumerator OutOfFaces
enumerator OutOfVertices
enumerator FallBack
typedef GJK::SimplexV SimplexV

Public Functions

inline EPA(unsigned int max_face_num_, unsigned int max_vertex_num_, unsigned int max_iterations_, FCL_REAL tolerance_)
inline ~EPA()
void initialize()
Status evaluate(GJK &gjk, const Vec3f &guess)
Returns:

a Status which can be demangled using (status & Valid) or (status & Failed). The other values provide a more detailled status

bool getClosestPoints(const MinkowskiDiff &shape, Vec3f &w0, Vec3f &w1)

Get the closest points on each object.

Returns:

true on success

Public Members

Status status
GJK::Simplex result
Vec3f normal
FCL_REAL depth
SimplexV *sv_store
SimplexF *fc_store
size_t nextsv
SimplexList hull
SimplexList stock

Public Static Functions

static inline void bind(SimplexF *fa, size_t ea, SimplexF *fb, size_t eb)
struct SimplexF

Public Functions

inline SimplexF()

Public Members

Vec3f n
FCL_REAL d
SimplexV *vertex[3]
SimplexF *f[3]
SimplexF *l[2]
size_t e[3]
size_t pass
struct SimplexHorizon

Public Functions

inline SimplexHorizon()

Public Members

SimplexF *cf
SimplexF *ff
size_t nf
struct SimplexList

Public Functions

inline SimplexList()
inline void append(SimplexF *face)
inline void remove(SimplexF *face)

Public Members

SimplexF *root
size_t count