Blender V2.61 - r43446
Public Member Functions | Public Attributes

btVoronoiSimplexSolver Class Reference

#include <btVoronoiSimplexSolver.h>

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)
 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 133 of file btVoronoiSimplexSolver.h.


Member Function Documentation

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

Definition at line 307 of file btVoronoiSimplexSolver.cpp.

References m_cachedV.

bool btVoronoiSimplexSolver::closest ( btVector3 &  v)

Definition at line 243 of file btVoronoiSimplexSolver.cpp.

References m_cachedV, and updateClosestVectorAndPoints().

bool btVoronoiSimplexSolver::closestPtPointTetrahedron ( const btVector3 &  p,
const btVector3 &  a,
const btVector3 &  b,
const btVector3 &  c,
const btVector3 &  d,
btSubSimplexClosestResult finalResult 
)
bool btVoronoiSimplexSolver::closestPtPointTriangle ( const btVector3 &  p,
const btVector3 &  a,
const btVector3 &  b,
const btVector3 &  c,
btSubSimplexClosestResult result 
)
void btVoronoiSimplexSolver::compute_points ( btVector3 &  p1,
btVector3 &  p2 
)
bool btVoronoiSimplexSolver::emptySimplex ( ) const

Definition at line 313 of file btVoronoiSimplexSolver.cpp.

References numVertices().

bool btVoronoiSimplexSolver::fullSimplex ( ) const [inline]

Definition at line 155 of file btVoronoiSimplexSolver.h.

References m_numVertices.

btScalar btVoronoiSimplexSolver::getEqualVertexThreshold ( ) const [inline]

Definition at line 146 of file btVoronoiSimplexSolver.h.

References m_equalVertexThreshold.

int btVoronoiSimplexSolver::getSimplex ( btVector3 *  pBuf,
btVector3 *  qBuf,
btVector3 *  yBuf 
) const
bool btVoronoiSimplexSolver::inSimplex ( const btVector3 &  w)
btScalar btVoronoiSimplexSolver::maxVertex ( )

Definition at line 252 of file btVoronoiSimplexSolver.cpp.

References i, m_simplexVectorW, and numVertices().

int btVoronoiSimplexSolver::numVertices ( ) const [inline]
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.

References cross(), dot(), and credits_svn_gen::e.

Referenced by closestPtPointTetrahedron().

void btVoronoiSimplexSolver::reduceVertices ( const btUsageBitfield usedVerts)
void btVoronoiSimplexSolver::removeVertex ( int  index)
void btVoronoiSimplexSolver::reset ( )
void btVoronoiSimplexSolver::setEqualVertexThreshold ( btScalar  threshold) [inline]

Definition at line 141 of file btVoronoiSimplexSolver.h.

References m_equalVertexThreshold.

bool btVoronoiSimplexSolver::updateClosestVectorAndPoints ( )

Member Data Documentation

Definition at line 119 of file btVoronoiSimplexSolver.h.

Referenced by reset(), and updateClosestVectorAndPoints().

Definition at line 110 of file btVoronoiSimplexSolver.h.

Referenced by compute_points(), and updateClosestVectorAndPoints().

Definition at line 111 of file btVoronoiSimplexSolver.h.

Referenced by compute_points(), and updateClosestVectorAndPoints().

Definition at line 112 of file btVoronoiSimplexSolver.h.

Referenced by backup_closest(), closest(), and updateClosestVectorAndPoints().

Definition at line 116 of file btVoronoiSimplexSolver.h.

Referenced by reset(), and updateClosestVectorAndPoints().

Definition at line 113 of file btVoronoiSimplexSolver.h.

Referenced by addVertex(), inSimplex(), and reset().

Definition at line 121 of file btVoronoiSimplexSolver.h.

Referenced by addVertex(), reset(), and updateClosestVectorAndPoints().

Definition at line 102 of file btVoronoiSimplexSolver.h.

Referenced by addVertex(), fullSimplex(), numVertices(), removeVertex(), and reset().

btVector3 btVoronoiSimplexSolver::m_simplexPointsP[VORONOI_SIMPLEX_MAX_VERTS]
btVector3 btVoronoiSimplexSolver::m_simplexPointsQ[VORONOI_SIMPLEX_MAX_VERTS]
btVector3 btVoronoiSimplexSolver::m_simplexVectorW[VORONOI_SIMPLEX_MAX_VERTS]

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