|
Blender
V2.59
|
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 142 of file btGjkEpa2.cpp.
| gjkepa2_impl::GJK::GJK | ( | ) | [inline] |
Definition at line 171 of file btGjkEpa2.cpp.
References Initialize().
| void gjkepa2_impl::GJK::appendvertice | ( | sSimplex & | simplex, |
| const btVector3 & | v | ||
| ) | [inline] |
Definition at line 381 of file btGjkEpa2.cpp.
References gjkepa2_impl::GJK::sSimplex::c, getsupport(), m_free, m_nfree, gjkepa2_impl::GJK::sSimplex::p, and gjkepa2_impl::GJK::sSimplex::rank.
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 387 of file btGjkEpa2.cpp.
Referenced by EncloseOrigin(), gjkepa2_impl::EPA::Evaluate(), and projectorigin().
| bool gjkepa2_impl::GJK::EncloseOrigin | ( | ) | [inline] |
Definition at line 306 of file btGjkEpa2.cpp.
References appendvertice(), btCross(), btFabs(), gjkepa2_impl::GJK::sSimplex::c, det(), i, m_simplex, p, gjkepa2_impl::GJK::sSimplex::rank, removevertice(), 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 183 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(), 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 372 of file btGjkEpa2.cpp.
References gjkepa2_impl::GJK::sSV::d, m_shape, gjkepa2_impl::MinkowskiDiff::Support(), and gjkepa2_impl::GJK::sSV::w.
Referenced by appendvertice(), and gjkepa2_impl::EPA::Evaluate().
| void gjkepa2_impl::GJK::Initialize | ( | ) | [inline] |
Definition at line 175 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, | ||
| btScalar * | w, | ||
| U & | m | ||
| ) | [inline, static] |
Definition at line 393 of file btGjkEpa2.cpp.
References btDot(), and GJK_SIMPLEX2_EPS.
Referenced by Evaluate(), and projectorigin().
| static btScalar gjkepa2_impl::GJK::projectorigin | ( | const btVector3 & | a, |
| const btVector3 & | b, | ||
| const btVector3 & | c, | ||
| btScalar * | w, | ||
| U & | m | ||
| ) | [inline, static] |
Definition at line 408 of file btGjkEpa2.cpp.
References btCross(), btDot(), btSqrt(), GJK_SIMPLEX3_EPS, i, length(), p, and projectorigin().
| 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 454 of file btGjkEpa2.cpp.
References btCross(), btDot(), btFabs(), simple_enum_gen::d, det(), GJK_SIMPLEX4_EPS, i, and projectorigin().
| void gjkepa2_impl::GJK::removevertice | ( | sSimplex & | simplex | ) | [inline] |
Definition at line 377 of file btGjkEpa2.cpp.
References gjkepa2_impl::GJK::sSimplex::c, m_free, m_nfree, and gjkepa2_impl::GJK::sSimplex::rank.
Referenced by EncloseOrigin(), and Evaluate().
Definition at line 167 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and Initialize().
Definition at line 162 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and Initialize().
Definition at line 165 of file btGjkEpa2.cpp.
Referenced by appendvertice(), Evaluate(), and removevertice().
Definition at line 166 of file btGjkEpa2.cpp.
Referenced by appendvertice(), Evaluate(), Initialize(), and removevertice().
| btVector3 gjkepa2_impl::GJK::m_ray |
Definition at line 161 of file btGjkEpa2.cpp.
Referenced by Evaluate(), Initialize(), and btGjkEpaSolver2::SignedDistance().
Definition at line 160 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and getsupport().
Definition at line 168 of file btGjkEpa2.cpp.
Referenced by btGjkEpaSolver2::Distance(), EncloseOrigin(), Evaluate(), gjkepa2_impl::EPA::Evaluate(), and btGjkEpaSolver2::SignedDistance().
Definition at line 163 of file btGjkEpa2.cpp.
Referenced by Evaluate().
Definition at line 169 of file btGjkEpa2.cpp.
Referenced by Evaluate(), and Initialize().
Definition at line 164 of file btGjkEpa2.cpp.
Referenced by Evaluate().