class for GJK algorithm More...
#include <gjk.h>
Classes | |
| struct | Simplex |
| struct | SimplexV |
Public Types | |
| enum | Status { Valid, Inside, Failed } |
Public Member Functions | |
| void | appendVertex (Simplex &simplex, const Vec3f &v) |
| append one vertex to the simplex | |
| bool | encloseOrigin () |
| whether the simplex enclose the origin | |
| Status | evaluate (const MinkowskiDiff &shape_, const Vec3f &guess) |
| GJK algorithm, given the initial value guess. | |
| Simplex * | getSimplex () const |
| get the underlying simplex using in GJK | |
| void | getSupport (const Vec3f &d, SimplexV &sv) const |
| apply the support function along a direction, the result is return in sv | |
| GJK (unsigned int max_iterations_, FCL_REAL tolerance_) | |
| void | initialize () |
| void | removeVertex (Simplex &simplex) |
| discard one vertex from the simplex | |
Public Attributes | |
| FCL_REAL | distance |
| Vec3f | ray |
| MinkowskiDiff | shape |
| Simplex | simplices [2] |
Private Attributes | |
| size_t | current |
| SimplexV * | free_v [4] |
| unsigned int | max_iterations |
| size_t | nfree |
| Simplex * | simplex |
| Status | status |
| SimplexV | store_v [4] |
| FCL_REAL | tolerance |
| fcl::details::GJK::GJK | ( | unsigned int | max_iterations_, |
| FCL_REAL | tolerance_ | ||
| ) | [inline] |
| void fcl::details::GJK::appendVertex | ( | Simplex & | simplex, |
| const Vec3f & | v | ||
| ) |
| bool fcl::details::GJK::encloseOrigin | ( | ) |
| GJK::Status fcl::details::GJK::evaluate | ( | const MinkowskiDiff & | shape_, |
| const Vec3f & | guess | ||
| ) |
| Simplex* fcl::details::GJK::getSimplex | ( | ) | const [inline] |
| void fcl::details::GJK::getSupport | ( | const Vec3f & | d, |
| SimplexV & | sv | ||
| ) | const |
| void fcl::details::GJK::initialize | ( | ) |
| void fcl::details::GJK::removeVertex | ( | Simplex & | simplex | ) |
size_t fcl::details::GJK::current [private] |
SimplexV* fcl::details::GJK::free_v[4] [private] |
unsigned int fcl::details::GJK::max_iterations [private] |
size_t fcl::details::GJK::nfree [private] |
Simplex* fcl::details::GJK::simplex [private] |
Status fcl::details::GJK::status [private] |
SimplexV fcl::details::GJK::store_v[4] [private] |
FCL_REAL fcl::details::GJK::tolerance [private] |