hpp-fcl  1.4.4
HPP fork of FCL -- The Flexible Collision Library
hpp::fcl::details::EPA Struct Reference

class for EPA algorithm More...

#include <hpp/fcl/narrowphase/gjk.h>

Collaboration diagram for hpp::fcl::details::EPA:

Classes

struct  SimplexF
 
struct  SimplexHorizon
 
struct  SimplexList
 

Public Types

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
}
 
typedef GJK::SimplexV SimplexV
 

Public Member Functions

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

Static Public Member Functions

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

Public Attributes

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

Detailed Description

class for EPA algorithm

Member Typedef Documentation

◆ SimplexV

Member Enumeration Documentation

◆ Status

Enumerator
Failed 
Valid 
AccuracyReached 
Degenerated 
NonConvex 
InvalidHull 
OutOfFaces 
OutOfVertices 
FallBack 

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

◆ ~EPA()

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

Member Function Documentation

◆ bind()

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

◆ evaluate()

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

◆ 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

◆ initialize()

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

Member Data Documentation

◆ depth

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

◆ fc_store

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

◆ hull

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

◆ nextsv

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

◆ normal

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

◆ result

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

◆ status

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

◆ stock

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

◆ sv_store

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

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