FCL  0.6.0
Flexible Collision Library
fcl::detail::GJK< S > Struct Template Reference

class for GJK algorithm More...

#include <gjk.h>

Classes

struct  Simplex
 
struct  SimplexV
 

Public Types

enum  Status { Valid, Inside, Failed }
 

Public Member Functions

 GJK (unsigned int max_iterations_, S tolerance_)
 
void initialize ()
 
Status evaluate (const MinkowskiDiff< S > &shape_, const Vector3< S > &guess)
 GJK algorithm, given the initial value guess.
 
void getSupport (const Vector3< S > &d, SimplexV &sv) const
 apply the support function along a direction, the result is return in sv
 
void getSupport (const Vector3< S > &d, const Vector3< S > &v, SimplexV &sv) const
 apply the support function along a direction, the result is return is sv, here shape0 is translating at velocity v
 
void removeVertex (Simplex &simplex)
 discard one vertex from the simplex
 
void appendVertex (Simplex &simplex, const Vector3< S > &v)
 append one vertex to the simplex
 
bool encloseOrigin ()
 whether the simplex enclose the origin
 
Simplex * getSimplex () const
 get the underlying simplex using in GJK, can be used for cache in next iteration
 
Vector3< S > getGuessFromSimplex () const
 get the guess from current simplex
 

Public Attributes

MinkowskiDiff< S > shape
 
Vector3< S > ray
 
S distance
 
Simplex simplices [2]
 

Detailed Description

template<typename S>
struct fcl::detail::GJK< S >

class for GJK algorithm


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