Lines Matching refs:gjk
23 Initial GJK-EPA collision solver by Nathanael Presson, 2008
42 GJK_Failed, /* GJK phase fail, no big issue, shapes are probably just 'touching' */
67 /* GJK */
143 // GJK
145 struct GJK
173 GJK(const btConvexTemplate& a, const btConvexTemplate& b)
534 typename GJK<btConvexTemplate>::sSV* c[3];
556 typename GJK<btConvexTemplate>::sSimplex m_result;
559 typename GJK<btConvexTemplate>::sSV m_sv_store[EPA_MAX_VERTICES];
604 eEpaStatus Evaluate(GJK<btConvexTemplate>& gjk,const btVector3& guess)
606 typename GJK<btConvexTemplate>::sSimplex& simplex=*gjk.m_simplex;
607 if((simplex.rank>1)&&gjk.EncloseOrigin())
620 if(gjk.det( simplex.c[0]->w-simplex.c[3]->w,
650 typename GJK<btConvexTemplate>::sSV* w=&m_sv_store[m_nextsv++];
653 gjk.getsupport(best->n,*w);
708 bool getedgedist(sFace* face, typename GJK<btConvexTemplate>::sSV* a, typename GJK<btConvexTemplate>::sSV* b, btScalar& dist)
744 sFace* newface(typename GJK<btConvexTemplate>::sSV* a,typename GJK<btConvexTemplate>::sSV* b,typename GJK<btConvexTemplate>::sSV* c,bool forced)
804 bool expand(U pass,typename GJK<btConvexTemplate>::sSV* w,sFace* f,U e,sHorizon& horizon)
872 GJK<btConvexTemplate> gjk(a,b);
873 eGjkStatus gjk_status=gjk.Evaluate(shape,guess);
878 for(U i=0;i<gjk.m_simplex->rank;++i)
880 const btScalar p=gjk.m_simplex->p[i];
881 w0+=shape.Support( gjk.m_simplex->c[i]->d,0)*p;
882 w1+=shape.Support(-gjk.m_simplex->c[i]->d,1)*p;
909 GJK<btConvexTemplate> gjk(a,b);
910 eGjkStatus gjk_status=gjk.Evaluate(shape,-guess);
916 eEpaStatus epa_status=epa.Evaluate(gjk,-guess);
956 if ((results.status==btGjkEpaSolver3::sResults::Penetrating) || results.status==GJK::eStatus::Inside)