Back to index

supertuxkart  0.5+dfsg1
Public Member Functions
btGjkEpaPenetrationDepthSolver Class Reference

EpaPenetrationDepthSolver uses the Expanding Polytope Algorithm to calculate the penetration depth between two convex shapes. More...

#include <btGjkEpaPenetrationDepthSolver.h>

Inheritance diagram for btGjkEpaPenetrationDepthSolver:
Inheritance graph
[legend]
Collaboration diagram for btGjkEpaPenetrationDepthSolver:
Collaboration graph
[legend]

List of all members.

Public Member Functions

bool calcPenDepth (btSimplexSolverInterface &simplexSolver, const btConvexShape *pConvexA, const btConvexShape *pConvexB, const btTransform &transformA, const btTransform &transformB, btVector3 &v, btPoint3 &wWitnessOnA, btPoint3 &wWitnessOnB, class btIDebugDraw *debugDraw, btStackAlloc *stackAlloc)

Detailed Description

EpaPenetrationDepthSolver uses the Expanding Polytope Algorithm to calculate the penetration depth between two convex shapes.

Definition at line 24 of file btGjkEpaPenetrationDepthSolver.h.


Member Function Documentation

bool btGjkEpaPenetrationDepthSolver::calcPenDepth ( btSimplexSolverInterface simplexSolver,
const btConvexShape *  pConvexA,
const btConvexShape *  pConvexB,
const btTransform transformA,
const btTransform transformB,
btVector3 v,
btPoint3 wWitnessOnA,
btPoint3 wWitnessOnB,
class btIDebugDraw debugDraw,
btStackAlloc stackAlloc 
) [virtual]

Implements btConvexPenetrationDepthSolver.

Definition at line 22 of file btGjkEpaPenetrationDepthSolver.cpp.

{

       (void)debugDraw;
       (void)v;
       (void)simplexSolver;

       const btScalar                            radialmargin(btScalar(0.));
       
       btGjkEpaSolver::sResults    results;
       if(btGjkEpaSolver::Collide( pConvexA,transformA,
                                                        pConvexB,transformB,
                                                        radialmargin,stackAlloc,results))
              {
       //     debugDraw->drawLine(results.witnesses[1],results.witnesses[1]+results.normal,btVector3(255,0,0));
              //resultOut->addContactPoint(results.normal,results.witnesses[1],-results.depth);
              wWitnessOnA = results.witnesses[0];
              wWitnessOnB = results.witnesses[1];
              return true;         
              }

       return false;
}

Here is the call graph for this function:


The documentation for this class was generated from the following files: