Blender V2.61 - r43446
|
Classes | |
struct | eStatus |
struct | sSimplex |
struct | sSV |
Public Member Functions | |
GJK () | |
void | Initialize () |
eStatus::_ | Evaluate (const tShape &shapearg, const btVector3 &guess) |
bool | EncloseOrigin () |
void | getsupport (const btVector3 &d, sSV &sv) const |
void | removevertice (sSimplex &simplex) |
void | appendvertice (sSimplex &simplex, const btVector3 &v) |
Static Public Member Functions | |
static btScalar | det (const btVector3 &a, const btVector3 &b, const btVector3 &c) |
static btScalar | projectorigin (const btVector3 &a, const btVector3 &b, btScalar *w, U &m) |
static btScalar | projectorigin (const btVector3 &a, const btVector3 &b, const btVector3 &c, btScalar *w, U &m) |
static btScalar | projectorigin (const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d, btScalar *w, U &m) |
Public Attributes | |
tShape | m_shape |
btVector3 | m_ray |
btScalar | m_distance |
sSimplex | m_simplices [2] |
sSV | m_store [4] |
sSV * | m_free [4] |
U | m_nfree |
U | m_current |
sSimplex * | m_simplex |
eStatus::_ | m_status |
Definition at line 143 of file btGjkEpa2.cpp.
gjkepa2_impl::GJK::GJK | ( | ) | [inline] |
Definition at line 172 of file btGjkEpa2.cpp.
References Initialize().
void gjkepa2_impl::GJK::appendvertice | ( | sSimplex & | simplex, |
const btVector3 & | v | ||
) | [inline] |
Definition at line 382 of file btGjkEpa2.cpp.
References getsupport(), m_free, and m_nfree.
Referenced by EncloseOrigin(), and Evaluate().
static btScalar gjkepa2_impl::GJK::det | ( | const btVector3 & | a, |
const btVector3 & | b, | ||
const btVector3 & | c | ||
) | [inline, static] |
Definition at line 388 of file btGjkEpa2.cpp.
Referenced by EncloseOrigin(), gjkepa2_impl::EPA::Evaluate(), and projectorigin().
bool gjkepa2_impl::GJK::EncloseOrigin | ( | ) | [inline] |
Definition at line 307 of file btGjkEpa2.cpp.
References appendvertice(), btCross(), btFabs(), gjkepa2_impl::GJK::sSimplex::c, det(), i, m_simplex, p, gjkepa2_impl::GJK::sSimplex::rank, removevertice(), U, and gjkepa2_impl::GJK::sSV::w.
Referenced by gjkepa2_impl::EPA::Evaluate().
eStatus::_ gjkepa2_impl::GJK::Evaluate | ( | const tShape & | shapearg, |
const btVector3 & | guess | ||
) | [inline] |
Definition at line 184 of file btGjkEpa2.cpp.
References appendvertice(), btDot(), btMax(), gjkepa2_impl::GJK::sSimplex::c, gjkepa2_impl::GJK::eStatus::Failed, GJK_ACCURARY, GJK_DUPLICATED_EPS, GJK_MAX_ITERATIONS, GJK_MIN_DISTANCE, i, gjkepa2_impl::GJK::eStatus::Inside, m_current, m_distance, m_free, m_nfree, m_ray, m_shape, m_simplex, m_simplices, m_status, m_store, next, gjkepa2_impl::GJK::sSimplex::p, projectorigin(), gjkepa2_impl::GJK::sSimplex::rank, removevertice(), U, gjkepa2_impl::GJK::eStatus::Valid, simple_enum_gen::w, and gjkepa2_impl::GJK::sSV::w.
Referenced by btGjkEpaSolver2::Distance(), btGjkEpaSolver2::Penetration(), and btGjkEpaSolver2::SignedDistance().
void gjkepa2_impl::GJK::getsupport | ( | const btVector3 & | d, |
sSV & | sv | ||
) | const [inline] |
Definition at line 373 of file btGjkEpa2.cpp.
References m_shape, and gjkepa2_impl::MinkowskiDiff::Support().
Referenced by appendvertice(), and gjkepa2_impl::EPA::Evaluate().
void gjkepa2_impl::GJK::Initialize | ( | ) | [inline] |
Definition at line 176 of file btGjkEpa2.cpp.
References gjkepa2_impl::GJK::eStatus::Failed, m_current, m_distance, m_nfree, m_ray, and m_status.
Referenced by GJK().
static btScalar gjkepa2_impl::GJK::projectorigin | ( | const btVector3 & | a, |
const btVector3 & | b, | ||
const btVector3 & | c, | ||
const btVector3 & | d, | ||
btScalar * | w, | ||
U & | m | ||
) | [inline, static] |
Definition at line 455 of file btGjkEpa2.cpp.
References btCross(), btDot(), btFabs(), simple_enum_gen::d, det(), GJK_SIMPLEX4_EPS, i, projectorigin(), and U.
static btScalar gjkepa2_impl::GJK::projectorigin | ( | const btVector3 & | a, |
const btVector3 & | b, | ||
const btVector3 & | c, | ||
btScalar * | w, | ||
U & | m | ||
) | [inline, static] |
Definition at line 409 of file btGjkEpa2.cpp.
References btCross(), btDot(), btSqrt(), GJK_SIMPLEX3_EPS, i, length(), p, projectorigin(), and U.
static btScalar gjkepa2_impl::GJK::projectorigin | ( | const btVector3 & | a, |
const btVector3 & | b, | ||
btScalar * | w, | ||
U & | m | ||
) | [inline, static] |
Definition at line 394 of file btGjkEpa2.cpp.
References btDot(), and GJK_SIMPLEX2_EPS.
Referenced by Evaluate(), and projectorigin().
void gjkepa2_impl::GJK::removevertice | ( | sSimplex & | simplex | ) | [inline] |
Definition at line 378 of file btGjkEpa2.cpp.
References m_free, and m_nfree.
Referenced by EncloseOrigin(), and Evaluate().
Definition at line 168 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and Initialize().
Definition at line 163 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and Initialize().
Definition at line 166 of file btGjkEpa2.cpp.
Referenced by appendvertice(), Evaluate(), and removevertice().
Definition at line 167 of file btGjkEpa2.cpp.
Referenced by appendvertice(), Evaluate(), Initialize(), and removevertice().
btVector3 gjkepa2_impl::GJK::m_ray |
Definition at line 162 of file btGjkEpa2.cpp.
Referenced by Evaluate(), Initialize(), and btGjkEpaSolver2::SignedDistance().
Definition at line 161 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and getsupport().
Definition at line 169 of file btGjkEpa2.cpp.
Referenced by btGjkEpaSolver2::Distance(), EncloseOrigin(), gjkepa2_impl::EPA::Evaluate(), Evaluate(), and btGjkEpaSolver2::SignedDistance().
Definition at line 164 of file btGjkEpa2.cpp.
Referenced by Evaluate().
Definition at line 170 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and Initialize().
Definition at line 165 of file btGjkEpa2.cpp.
Referenced by Evaluate().