FCL
0.6.0
Flexible Collision Library
|
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] |
class for GJK algorithm