Bullet Collision Detection & Physics Library: btVoronoiSimplexSolver Class Reference

Bullet Collision Detection & Physics Library

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

## Constructor & Destructor Documentation

## ◆ btVoronoiSimplexSolver()

btVoronoiSimplexSolver::btVoronoiSimplexSolver | ( |  | ) |
| inline

Definition at line 130 of file btVoronoiSimplexSolver.h.

## Member Function Documentation

## ◆ addVertex()

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

Definition at line 69 of file btVoronoiSimplexSolver.cpp.

## ◆ backup_closest()

void btVoronoiSimplexSolver::backup_closest | ( | btVector3 & | v | ) |

Definition at line 296 of file btVoronoiSimplexSolver.cpp.

## ◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btVoronoiSimplexSolver::BT_DECLARE_ALIGNED_ALLOCATOR | ( |  | ) |

## ◆ closest()

bool btVoronoiSimplexSolver::closest | ( | btVector3 & | v | ) |

Definition at line 236 of file btVoronoiSimplexSolver.cpp.

## ◆ closestPtPointTetrahedron()

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

Definition at line 437 of file btVoronoiSimplexSolver.cpp.

## ◆ closestPtPointTriangle()

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

Definition at line 313 of file btVoronoiSimplexSolver.cpp.

## ◆ compute_points()

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

Definition at line 306 of file btVoronoiSimplexSolver.cpp.

## ◆ emptySimplex()

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

Definition at line 301 of file btVoronoiSimplexSolver.cpp.

## ◆ fullSimplex()

bool btVoronoiSimplexSolver::fullSimplex | ( |  | ) | const
| inline

Definition at line 152 of file btVoronoiSimplexSolver.h.

## ◆ getEqualVertexThreshold()

btScalar btVoronoiSimplexSolver::getEqualVertexThreshold | ( |  | ) | const
| inline

Definition at line 143 of file btVoronoiSimplexSolver.h.

## ◆ getSimplex()

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

Definition at line 257 of file btVoronoiSimplexSolver.cpp.

## ◆ inSimplex()

bool btVoronoiSimplexSolver::inSimplex | ( | const btVector3 & | w | ) |

Definition at line 269 of file btVoronoiSimplexSolver.cpp.

## ◆ maxVertex()

btScalar btVoronoiSimplexSolver::maxVertex | ( |  | ) |

Definition at line 243 of file btVoronoiSimplexSolver.cpp.

## ◆ numVertices()

int btVoronoiSimplexSolver::numVertices | ( |  | ) | const
| inline

Definition at line 167 of file btVoronoiSimplexSolver.h.

## ◆ pointOutsideOfPlane()

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 411 of file btVoronoiSimplexSolver.cpp.

## ◆ reduceVertices()

void btVoronoiSimplexSolver::reduceVertices | ( | const btUsageBitfield & | usedVerts | ) |

Definition at line 43 of file btVoronoiSimplexSolver.cpp.

## ◆ removeVertex()

void btVoronoiSimplexSolver::removeVertex | ( | int | index | ) |

Definition at line 34 of file btVoronoiSimplexSolver.cpp.

## ◆ reset()

void btVoronoiSimplexSolver::reset | ( |  | ) |

Definition at line 59 of file btVoronoiSimplexSolver.cpp.

## ◆ setEqualVertexThreshold()

void btVoronoiSimplexSolver::setEqualVertexThreshold | ( | btScalar | threshold | ) |
| inline

Definition at line 138 of file btVoronoiSimplexSolver.h.

## ◆ updateClosestVectorAndPoints()

bool btVoronoiSimplexSolver::updateClosestVectorAndPoints | ( |  | ) |

Definition at line 81 of file btVoronoiSimplexSolver.cpp.

## Member Data Documentation

## ◆ m_cachedBC

btSubSimplexClosestResult btVoronoiSimplexSolver::m_cachedBC

Definition at line 117 of file btVoronoiSimplexSolver.h.

## ◆ m_cachedP1

btVector3 btVoronoiSimplexSolver::m_cachedP1

Definition at line 109 of file btVoronoiSimplexSolver.h.

## ◆ m_cachedP2

btVector3 btVoronoiSimplexSolver::m_cachedP2

Definition at line 110 of file btVoronoiSimplexSolver.h.

## ◆ m_cachedV

btVector3 btVoronoiSimplexSolver::m_cachedV

Definition at line 111 of file btVoronoiSimplexSolver.h.

## ◆ m_cachedValidClosest

bool btVoronoiSimplexSolver::m_cachedValidClosest

Definition at line 115 of file btVoronoiSimplexSolver.h.

## ◆ m_equalVertexThreshold

btScalar btVoronoiSimplexSolver::m_equalVertexThreshold

Definition at line 114 of file btVoronoiSimplexSolver.h.

## ◆ m_lastW

btVector3 btVoronoiSimplexSolver::m_lastW

Definition at line 112 of file btVoronoiSimplexSolver.h.

## ◆ m_needsUpdate

bool btVoronoiSimplexSolver::m_needsUpdate

Definition at line 119 of file btVoronoiSimplexSolver.h.

## ◆ m_numVertices

int btVoronoiSimplexSolver::m_numVertices

Definition at line 103 of file btVoronoiSimplexSolver.h.

## ◆ m_simplexPointsP

btVector3 btVoronoiSimplexSolver::m_simplexPointsP[VORONOI_SIMPLEX_MAX_VERTS]

Definition at line 106 of file btVoronoiSimplexSolver.h.

## ◆ m_simplexPointsQ

btVector3 btVoronoiSimplexSolver::m_simplexPointsQ[VORONOI_SIMPLEX_MAX_VERTS]

Definition at line 107 of file btVoronoiSimplexSolver.h.

## ◆ m_simplexVectorW

btVector3 btVoronoiSimplexSolver::m_simplexVectorW[VORONOI_SIMPLEX_MAX_VERTS]

Definition at line 105 of file btVoronoiSimplexSolver.h.

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

- btVoronoiSimplexSolver.h
- btVoronoiSimplexSolver.cpp