Public Member Functions | Public Attributes

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

 BT_DECLARE_ALIGNED_ALLOCATOR ()
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)
 btVoronoiSimplexSolver ()
void reset ()
void addVertex (const btVector3 &w, const btVector3 &p, const btVector3 &q)
void setEqualVertexThreshold (btScalar threshold)
btScalar getEqualVertexThreshold () const
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 [VORONOI_SIMPLEX_MAX_VERTS]
btVector3 m_simplexPointsP [VORONOI_SIMPLEX_MAX_VERTS]
btVector3 m_simplexPointsQ [VORONOI_SIMPLEX_MAX_VERTS]
btVector3 m_cachedP1
btVector3 m_cachedP2
btVector3 m_cachedV
btVector3 m_lastW
btScalar m_equalVertexThreshold
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 95 of file btVoronoiSimplexSolver.h.


Constructor & Destructor Documentation

btVoronoiSimplexSolver::btVoronoiSimplexSolver (  )  [inline]

Definition at line 135 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 307 of file btVoronoiSimplexSolver.cpp.

btVoronoiSimplexSolver::BT_DECLARE_ALIGNED_ALLOCATOR (  ) 
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 457 of file btVoronoiSimplexSolver.cpp.

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

Definition at line 330 of file btVoronoiSimplexSolver.cpp.

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

Definition at line 319 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::emptySimplex (  )  const

Definition at line 313 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::fullSimplex (  )  const [inline]

Definition at line 157 of file btVoronoiSimplexSolver.h.

btScalar btVoronoiSimplexSolver::getEqualVertexThreshold (  )  const [inline]

Definition at line 148 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 172 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 430 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.

void btVoronoiSimplexSolver::setEqualVertexThreshold ( btScalar  threshold  )  [inline]

Definition at line 143 of file btVoronoiSimplexSolver.h.

bool btVoronoiSimplexSolver::updateClosestVectorAndPoints (  ) 

Definition at line 90 of file btVoronoiSimplexSolver.cpp.


Member Data Documentation

Definition at line 121 of file btVoronoiSimplexSolver.h.

Definition at line 112 of file btVoronoiSimplexSolver.h.

Definition at line 113 of file btVoronoiSimplexSolver.h.

Definition at line 114 of file btVoronoiSimplexSolver.h.

Definition at line 118 of file btVoronoiSimplexSolver.h.

Definition at line 117 of file btVoronoiSimplexSolver.h.

Definition at line 115 of file btVoronoiSimplexSolver.h.

Definition at line 123 of file btVoronoiSimplexSolver.h.

Definition at line 104 of file btVoronoiSimplexSolver.h.

Definition at line 107 of file btVoronoiSimplexSolver.h.

Definition at line 108 of file btVoronoiSimplexSolver.h.

Definition at line 106 of file btVoronoiSimplexSolver.h.


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