#include <btVoronoiSimplexSolver.h>
Public Member Functions | |
void | addVertex (const btVector3 &w, const btVector3 &p, const btVector3 &q) |
void | backup_closest (btVector3 &v) |
btVoronoiSimplexSolver () | |
bool | closest (btVector3 &v) |
bool | closestPtPointTetrahedron (const btVector3 &p, const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d, btSubSimplexClosestResult &finalResult) |
bool | closestPtPointTriangle (const btVector3 &p, const btVector3 &a, const btVector3 &b, const btVector3 &c, btSubSimplexClosestResult &result) |
void | compute_points (btVector3 &p1, btVector3 &p2) |
bool | emptySimplex () const |
bool | fullSimplex () const |
btScalar | getEqualVertexThreshold () const |
int | getSimplex (btVector3 *pBuf, btVector3 *qBuf, btVector3 *yBuf) const |
bool | inSimplex (const btVector3 &w) |
btScalar | maxVertex () |
int | numVertices () const |
int | pointOutsideOfPlane (const btVector3 &p, const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d) |
void | reduceVertices (const btUsageBitfield &usedVerts) |
void | removeVertex (int index) |
void | reset () |
void | setEqualVertexThreshold (btScalar threshold) |
bool | updateClosestVectorAndPoints () |
Public Attributes | |
btSubSimplexClosestResult | m_cachedBC |
btVector3 | m_cachedP1 |
btVector3 | m_cachedP2 |
btVector3 | m_cachedV |
bool | m_cachedValidClosest |
btScalar | m_equalVertexThreshold |
btVector3 | m_lastW |
bool | m_needsUpdate |
int | m_numVertices |
btVector3 | m_simplexPointsP [VORONOI_SIMPLEX_MAX_VERTS] |
btVector3 | m_simplexPointsQ [VORONOI_SIMPLEX_MAX_VERTS] |
btVector3 | m_simplexVectorW [VORONOI_SIMPLEX_MAX_VERTS] |
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 97 of file btVoronoiSimplexSolver.h.
btVoronoiSimplexSolver::btVoronoiSimplexSolver | ( | ) | [inline] |
Definition at line 133 of file btVoronoiSimplexSolver.h.
void btVoronoiSimplexSolver::addVertex | ( | const btVector3 & | w, | |
const btVector3 & | p, | |||
const btVector3 & | q | |||
) | [virtual] |
Implements btSimplexSolverInterface.
void btVoronoiSimplexSolver::backup_closest | ( | btVector3 & | v | ) | [virtual] |
Implements btSimplexSolverInterface.
bool btVoronoiSimplexSolver::closest | ( | btVector3 & | v | ) | [virtual] |
Implements btSimplexSolverInterface.
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 | |||
) | [virtual] |
Implements btSimplexSolverInterface.
bool btVoronoiSimplexSolver::emptySimplex | ( | ) | const [virtual] |
Implements btSimplexSolverInterface.
bool btVoronoiSimplexSolver::fullSimplex | ( | ) | const [inline, virtual] |
Implements btSimplexSolverInterface.
Definition at line 155 of file btVoronoiSimplexSolver.h.
btScalar btVoronoiSimplexSolver::getEqualVertexThreshold | ( | ) | const [inline] |
Definition at line 146 of file btVoronoiSimplexSolver.h.
int btVoronoiSimplexSolver::getSimplex | ( | btVector3 * | pBuf, | |
btVector3 * | qBuf, | |||
btVector3 * | yBuf | |||
) | const [virtual] |
Implements btSimplexSolverInterface.
bool btVoronoiSimplexSolver::inSimplex | ( | const btVector3 & | w | ) | [virtual] |
Implements btSimplexSolverInterface.
btScalar btVoronoiSimplexSolver::maxVertex | ( | ) | [virtual] |
Implements btSimplexSolverInterface.
int btVoronoiSimplexSolver::numVertices | ( | ) | const [inline, virtual] |
Implements btSimplexSolverInterface.
Definition at line 170 of file btVoronoiSimplexSolver.h.
int btVoronoiSimplexSolver::pointOutsideOfPlane | ( | const btVector3 & | p, | |
const btVector3 & | a, | |||
const btVector3 & | b, | |||
const btVector3 & | c, | |||
const btVector3 & | d | |||
) |
void btVoronoiSimplexSolver::reduceVertices | ( | const btUsageBitfield & | usedVerts | ) |
void btVoronoiSimplexSolver::removeVertex | ( | int | index | ) |
void btVoronoiSimplexSolver::reset | ( | ) | [virtual] |
Implements btSimplexSolverInterface.
void btVoronoiSimplexSolver::setEqualVertexThreshold | ( | btScalar | threshold | ) | [inline] |
Definition at line 141 of file btVoronoiSimplexSolver.h.
bool btVoronoiSimplexSolver::updateClosestVectorAndPoints | ( | ) |
Definition at line 119 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_cachedP1 |
Definition at line 110 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_cachedP2 |
Definition at line 111 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_cachedV |
Definition at line 112 of file btVoronoiSimplexSolver.h.
Definition at line 116 of file btVoronoiSimplexSolver.h.
Definition at line 115 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_lastW |
Definition at line 113 of file btVoronoiSimplexSolver.h.
Definition at line 121 of file btVoronoiSimplexSolver.h.
Definition at line 102 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_simplexPointsP[VORONOI_SIMPLEX_MAX_VERTS] |
Definition at line 105 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_simplexPointsQ[VORONOI_SIMPLEX_MAX_VERTS] |
Definition at line 106 of file btVoronoiSimplexSolver.h.
btVector3 btVoronoiSimplexSolver::m_simplexVectorW[VORONOI_SIMPLEX_MAX_VERTS] |
Definition at line 104 of file btVoronoiSimplexSolver.h.