Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
hpp::fcl::details::EPA Struct Reference

class for EPA algorithm More...

#include <gjk.h>

Classes

struct  SimplexF
 
struct  SimplexHorizon
 
struct  SimplexList
 

Public Types

typedef GJK::SimplexV SimplexV
 
enum  Status {
  Failed = 0, Valid = 1, AccuracyReached = 1 << 1 | Valid, Degenerated = 1 << 1 | Failed,
  NonConvex = 2 << 1 | Failed, InvalidHull = 3 << 1 | Failed, OutOfFaces = 4 << 1 | Failed, OutOfVertices = 5 << 1 | Failed,
  FallBack = 6 << 1 | Failed
}
 

Public Member Functions

 EPA (unsigned int max_face_num_, unsigned int max_vertex_num_, unsigned int max_iterations_, FCL_REAL tolerance_)
 
Status evaluate (GJK &gjk, const Vec3f &guess)
 
bool getClosestPoints (const MinkowskiDiff &shape, Vec3f &w0, Vec3f &w1)
 
void initialize ()
 
 ~EPA ()
 

Static Public Member Functions

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

Public Attributes

FCL_REAL depth
 
SimplexFfc_store
 
SimplexList hull
 
size_t nextsv
 
Vec3f normal
 
GJK::Simplex result
 
Status status
 
SimplexList stock
 
SimplexVsv_store
 

Private Member Functions

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...
 
SimplexFfindBest ()
 Find the best polytope face to split. More...
 
bool getEdgeDist (SimplexF *face, SimplexV *a, SimplexV *b, FCL_REAL &dist)
 
SimplexFnewFace (SimplexV *a, SimplexV *b, SimplexV *vertex, bool forced)
 

Private Attributes

unsigned int max_face_num
 
unsigned int max_iterations
 
unsigned int max_vertex_num
 
FCL_REAL tolerance
 

Detailed Description

class for EPA algorithm

Definition at line 312 of file gjk.h.

Member Typedef Documentation

◆ SimplexV

Definition at line 313 of file gjk.h.

Member Enumeration Documentation

◆ Status

Enumerator
Failed 
Valid 
AccuracyReached 
Degenerated 
NonConvex 
InvalidHull 
OutOfFaces 
OutOfVertices 
FallBack 

Definition at line 367 of file gjk.h.

Constructor & Destructor Documentation

◆ EPA()

hpp::fcl::details::EPA::EPA ( unsigned int  max_face_num_,
unsigned int  max_vertex_num_,
unsigned int  max_iterations_,
FCL_REAL  tolerance_ 
)
inline

Definition at line 388 of file gjk.h.

◆ ~EPA()

hpp::fcl::details::EPA::~EPA ( )
inline

Definition at line 397 of file gjk.h.

Member Function Documentation

◆ bind()

static void hpp::fcl::details::EPA::bind ( SimplexF fa,
size_t  ea,
SimplexF fb,
size_t  eb 
)
inlinestatic

Definition at line 346 of file gjk.h.

◆ evaluate()

EPA::Status hpp::fcl::details::EPA::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

Definition at line 1532 of file src/narrowphase/gjk.cpp.

◆ expand()

bool hpp::fcl::details::EPA::expand ( size_t  pass,
SimplexV w,
SimplexF f,
size_t  e,
SimplexHorizon horizon 
)
private

the goal is to add a face connecting vertex w and face edge f[e]

Definition at line 1639 of file src/narrowphase/gjk.cpp.

◆ findBest()

EPA::SimplexF * hpp::fcl::details::EPA::findBest ( )
private

Find the best polytope face to split.

Definition at line 1519 of file src/narrowphase/gjk.cpp.

◆ getClosestPoints()

bool hpp::fcl::details::EPA::getClosestPoints ( const MinkowskiDiff shape,
Vec3f w0,
Vec3f w1 
)

Get the closest points on each object.

Returns
true on success

Definition at line 1691 of file src/narrowphase/gjk.cpp.

◆ getEdgeDist()

bool hpp::fcl::details::EPA::getEdgeDist ( SimplexF face,
SimplexV a,
SimplexV b,
FCL_REAL dist 
)
private

Definition at line 1451 of file src/narrowphase/gjk.cpp.

◆ initialize()

void hpp::fcl::details::EPA::initialize ( )

Definition at line 1440 of file src/narrowphase/gjk.cpp.

◆ newFace()

EPA::SimplexF * hpp::fcl::details::EPA::newFace ( SimplexV a,
SimplexV b,
SimplexV vertex,
bool  forced 
)
private

Definition at line 1480 of file src/narrowphase/gjk.cpp.

Member Data Documentation

◆ depth

FCL_REAL hpp::fcl::details::EPA::depth

Definition at line 382 of file gjk.h.

◆ fc_store

SimplexF* hpp::fcl::details::EPA::fc_store

Definition at line 384 of file gjk.h.

◆ hull

SimplexList hpp::fcl::details::EPA::hull

Definition at line 386 of file gjk.h.

◆ max_face_num

unsigned int hpp::fcl::details::EPA::max_face_num
private

Definition at line 361 of file gjk.h.

◆ max_iterations

unsigned int hpp::fcl::details::EPA::max_iterations
private

Definition at line 363 of file gjk.h.

◆ max_vertex_num

unsigned int hpp::fcl::details::EPA::max_vertex_num
private

Definition at line 362 of file gjk.h.

◆ nextsv

size_t hpp::fcl::details::EPA::nextsv

Definition at line 385 of file gjk.h.

◆ normal

Vec3f hpp::fcl::details::EPA::normal

Definition at line 381 of file gjk.h.

◆ result

GJK::Simplex hpp::fcl::details::EPA::result

Definition at line 380 of file gjk.h.

◆ status

Status hpp::fcl::details::EPA::status

Definition at line 379 of file gjk.h.

◆ stock

SimplexList hpp::fcl::details::EPA::stock

Definition at line 386 of file gjk.h.

◆ sv_store

SimplexV* hpp::fcl::details::EPA::sv_store

Definition at line 383 of file gjk.h.

◆ tolerance

FCL_REAL hpp::fcl::details::EPA::tolerance
private

Definition at line 364 of file gjk.h.


The documentation for this struct was generated from the following files:


hpp-fcl
Author(s):
autogenerated on Fri Jan 26 2024 03:46:17