Bullet Collision Detection & Physics Library: btVoronoiSimplexSolver Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
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:
[legend]

## 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. More...
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 310 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 460 of file btVoronoiSimplexSolver.cpp.

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

Definition at line 333 of file btVoronoiSimplexSolver.cpp.

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

Definition at line 322 of file btVoronoiSimplexSolver.cpp.

bool btVoronoiSimplexSolver::emptySimplex | ( |  | ) | const

Definition at line 316 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 433 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

btSubSimplexClosestResult btVoronoiSimplexSolver::m_cachedBC

Definition at line 121 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_cachedP1

Definition at line 112 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_cachedP2

Definition at line 113 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_cachedV

Definition at line 114 of file btVoronoiSimplexSolver.h.

bool btVoronoiSimplexSolver::m_cachedValidClosest

Definition at line 118 of file btVoronoiSimplexSolver.h.

btScalar btVoronoiSimplexSolver::m_equalVertexThreshold

Definition at line 117 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_lastW

Definition at line 115 of file btVoronoiSimplexSolver.h.

bool btVoronoiSimplexSolver::m_needsUpdate

Definition at line 123 of file btVoronoiSimplexSolver.h.

int btVoronoiSimplexSolver::m_numVertices

Definition at line 104 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_simplexPointsP[VORONOI_SIMPLEX_MAX_VERTS]

Definition at line 107 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_simplexPointsQ[VORONOI_SIMPLEX_MAX_VERTS]

Definition at line 108 of file btVoronoiSimplexSolver.h.

btVector3 btVoronoiSimplexSolver::m_simplexVectorW[VORONOI_SIMPLEX_MAX_VERTS]

Definition at line 106 of file btVoronoiSimplexSolver.h.

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

- btVoronoiSimplexSolver.h
- btVoronoiSimplexSolver.cpp