btVoronoiSimplexSolver Class Reference

btVoronoiSimplexSolver is an implementation of the closest point distance algorithm from a 1-4 points simplex to the origin. More...

#include <btVoronoiSimplexSolver.h>

Collaboration diagram for btVoronoiSimplexSolver:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void removeVertex (int index)
void reduceVertices (const btUsageBitfield &usedVerts)
bool updateClosestVectorAndPoints ()
bool closestPtPointTetrahedron (const btVector3 &p, const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d, btSubSimplexClosestResult &finalResult)
int pointOutsideOfPlane (const btVector3 &p, const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d)
 Test if point p and d lie on opposite sides of plane through abc.
bool closestPtPointTriangle (const btVector3 &p, const btVector3 &a, const btVector3 &b, const btVector3 &c, btSubSimplexClosestResult &result)
void reset ()
void addVertex (const btVector3 &w, const btVector3 &p, const btVector3 &q)
bool closest (btVector3 &v)
btScalar maxVertex ()
bool fullSimplex () const
int getSimplex (btVector3 *pBuf, btVector3 *qBuf, btVector3 *yBuf) const
bool inSimplex (const btVector3 &w)
void backup_closest (btVector3 &v)
bool emptySimplex () const
void compute_points (btVector3 &p1, btVector3 &p2)
int numVertices () const

Public Attributes

int m_numVertices
btVector3 m_simplexVectorW [5]
btVector3 m_simplexPointsP [5]
btVector3 m_simplexPointsQ [5]
btVector3 m_cachedP1
btVector3 m_cachedP2
btVector3 m_cachedV
btVector3 m_lastW
bool m_cachedValidClosest
btSubSimplexClosestResult m_cachedBC
bool m_needsUpdate

Detailed Description

btVoronoiSimplexSolver is an implementation of the closest point distance algorithm from a 1-4 points simplex to the origin.

Can be used with GJK, as an alternative to Johnson distance algorithm.

Definition at line 90 of file btVoronoiSimplexSolver.h.


Member Function Documentation

void btVoronoiSimplexSolver::addVertex ( const btVector3 w,
const btVector3 p,
const btVector3 q 
)

Definition at line 78 of file btVoronoiSimplexSolver.cpp.

void btVoronoiSimplexSolver::backup_closest ( btVector3 v  ) 

Definition at line 303 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::closest ( btVector3 v  ) 

Definition at line 243 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::closestPtPointTetrahedron ( const btVector3 p,
const btVector3 a,
const btVector3 b,
const btVector3 c,
const btVector3 d,
btSubSimplexClosestResult finalResult 
)

Definition at line 453 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::closestPtPointTriangle ( const btVector3 p,
const btVector3 a,
const btVector3 b,
const btVector3 c,
btSubSimplexClosestResult result 
)

Definition at line 326 of file btVoronoiSimplexSolver.cpp.

void btVoronoiSimplexSolver::compute_points ( btVector3 p1,
btVector3 p2 
)

Definition at line 315 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::emptySimplex (  )  const

Definition at line 309 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::fullSimplex (  )  const [inline]

Definition at line 134 of file btVoronoiSimplexSolver.h.

int btVoronoiSimplexSolver::getSimplex ( btVector3 pBuf,
btVector3 qBuf,
btVector3 yBuf 
) const

Definition at line 268 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::inSimplex ( const btVector3 w  ) 

Definition at line 283 of file btVoronoiSimplexSolver.cpp.

btScalar btVoronoiSimplexSolver::maxVertex (  ) 

Definition at line 252 of file btVoronoiSimplexSolver.cpp.

int btVoronoiSimplexSolver::numVertices (  )  const [inline]

Definition at line 149 of file btVoronoiSimplexSolver.h.

int btVoronoiSimplexSolver::pointOutsideOfPlane ( const btVector3 p,
const btVector3 a,
const btVector3 b,
const btVector3 c,
const btVector3 d 
)

Test if point p and d lie on opposite sides of plane through abc.

Definition at line 426 of file btVoronoiSimplexSolver.cpp.

void btVoronoiSimplexSolver::reduceVertices ( const btUsageBitfield usedVerts  ) 

Definition at line 45 of file btVoronoiSimplexSolver.cpp.

void btVoronoiSimplexSolver::removeVertex ( int  index  ) 

Definition at line 35 of file btVoronoiSimplexSolver.cpp.

void btVoronoiSimplexSolver::reset (  ) 

Definition at line 66 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::updateClosestVectorAndPoints (  ) 

Definition at line 90 of file btVoronoiSimplexSolver.cpp.


Member Data Documentation

Definition at line 111 of file btVoronoiSimplexSolver.h.

Definition at line 105 of file btVoronoiSimplexSolver.h.

Definition at line 106 of file btVoronoiSimplexSolver.h.

Definition at line 107 of file btVoronoiSimplexSolver.h.

Definition at line 109 of file btVoronoiSimplexSolver.h.

Definition at line 108 of file btVoronoiSimplexSolver.h.

Definition at line 113 of file btVoronoiSimplexSolver.h.

Definition at line 97 of file btVoronoiSimplexSolver.h.

Definition at line 100 of file btVoronoiSimplexSolver.h.

Definition at line 101 of file btVoronoiSimplexSolver.h.

Definition at line 99 of file btVoronoiSimplexSolver.h.


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

Generated on Mon Feb 15 22:24:53 2010 for Bullet Collision Detection & Physics Library by  doxygen 1.6.1