Blender V5.0
GJK< btConvexTemplate > Struct Template Reference

#include <btGjkEpa3.h>

Classes

struct  sSV
struct  sSimplex

Public Member Functions

 GJK (const btConvexTemplate &a, const btConvexTemplate &b)
void Initialize ()
eGjkStatus Evaluate (const MinkowskiDiff< btConvexTemplate > &shapearg, const btVector3 &guess)
bool EncloseOrigin ()
void getsupport (const btVector3 &d, sSV &sv) const
void removevertice (sSimplex &simplex)
void appendvertice (sSimplex &simplex, const btVector3 &v)

Static Public Member Functions

static btScalar det (const btVector3 &a, const btVector3 &b, const btVector3 &c)
static btScalar projectorigin (const btVector3 &a, const btVector3 &b, btScalar *w, U &m)
static btScalar projectorigin (const btVector3 &a, const btVector3 &b, const btVector3 &c, btScalar *w, U &m)
static btScalar projectorigin (const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &d, btScalar *w, U &m)

Public Attributes

MinkowskiDiff< btConvexTemplate > m_shape
btVector3 m_ray
btScalar m_distance
sSimplex m_simplices [2]
sSV m_store [4]
sSVm_free [4]
U m_nfree
U m_current
sSimplexm_simplex
eGjkStatus m_status

Detailed Description

template<typename btConvexTemplate>
struct GJK< btConvexTemplate >

Definition at line 134 of file btGjkEpa3.h.

Constructor & Destructor Documentation

◆ GJK()

template<typename btConvexTemplate>
GJK< btConvexTemplate >::GJK ( const btConvexTemplate & a,
const btConvexTemplate & b )
inline

Definition at line 162 of file btGjkEpa3.h.

References b, Initialize(), and m_shape.

Member Function Documentation

◆ appendvertice()

template<typename btConvexTemplate>
void GJK< btConvexTemplate >::appendvertice ( sSimplex & simplex,
const btVector3 & v )
inline

◆ det()

template<typename btConvexTemplate>
btScalar GJK< btConvexTemplate >::det ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c )
inlinestatic

Definition at line 393 of file btGjkEpa3.h.

References b, and btVector3.

Referenced by EncloseOrigin(), EPA< btConvexTemplate >::Evaluate(), and projectorigin().

◆ EncloseOrigin()

template<typename btConvexTemplate>
bool GJK< btConvexTemplate >::EncloseOrigin ( )
inline

◆ Evaluate()

◆ getsupport()

template<typename btConvexTemplate>
void GJK< btConvexTemplate >::getsupport ( const btVector3 & d,
sSV & sv ) const
inline

◆ Initialize()

template<typename btConvexTemplate>
void GJK< btConvexTemplate >::Initialize ( )
inline

Definition at line 167 of file btGjkEpa3.h.

References btVector3, eGjkFailed, m_current, m_distance, m_nfree, m_ray, and m_status.

Referenced by GJK().

◆ projectorigin() [1/3]

template<typename btConvexTemplate>
btScalar GJK< btConvexTemplate >::projectorigin ( const btVector3 & a,
const btVector3 & b,
btScalar * w,
U & m )
inlinestatic

Definition at line 399 of file btGjkEpa3.h.

References b, btDot(), btVector3, GJK_SIMPLEX2_EPS, l, length2(), U, and w().

Referenced by Evaluate(), projectorigin(), and projectorigin().

◆ projectorigin() [2/3]

template<typename btConvexTemplate>
btScalar GJK< btConvexTemplate >::projectorigin ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c,
btScalar * w,
U & m )
inlinestatic

Definition at line 431 of file btGjkEpa3.h.

References b, btCross(), btDot(), btSqrt(), btVector3, GJK_SIMPLEX3_EPS, i, l, length(), projectorigin(), U, and w().

◆ projectorigin() [3/3]

template<typename btConvexTemplate>
btScalar GJK< btConvexTemplate >::projectorigin ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c,
const btVector3 & d,
btScalar * w,
U & m )
inlinestatic

Definition at line 477 of file btGjkEpa3.h.

References b, btCross(), btDot(), btFabs(), btVector3, det(), GJK_SIMPLEX4_EPS, i, projectorigin(), U, and w().

◆ removevertice()

template<typename btConvexTemplate>
void GJK< btConvexTemplate >::removevertice ( sSimplex & simplex)
inline

Member Data Documentation

◆ m_current

template<typename btConvexTemplate>
U GJK< btConvexTemplate >::m_current

Definition at line 157 of file btGjkEpa3.h.

Referenced by Evaluate(), and Initialize().

◆ m_distance

template<typename btConvexTemplate>
btScalar GJK< btConvexTemplate >::m_distance

Definition at line 152 of file btGjkEpa3.h.

Referenced by Evaluate(), and Initialize().

◆ m_free

template<typename btConvexTemplate>
sSV* GJK< btConvexTemplate >::m_free[4]

Definition at line 155 of file btGjkEpa3.h.

Referenced by appendvertice(), Evaluate(), and removevertice().

◆ m_nfree

template<typename btConvexTemplate>
U GJK< btConvexTemplate >::m_nfree

Definition at line 156 of file btGjkEpa3.h.

Referenced by appendvertice(), Evaluate(), Initialize(), and removevertice().

◆ m_ray

template<typename btConvexTemplate>
btVector3 GJK< btConvexTemplate >::m_ray

Definition at line 151 of file btGjkEpa3.h.

Referenced by Evaluate(), and Initialize().

◆ m_shape

template<typename btConvexTemplate>
MinkowskiDiff<btConvexTemplate> GJK< btConvexTemplate >::m_shape

Definition at line 150 of file btGjkEpa3.h.

Referenced by Evaluate(), getsupport(), and GJK().

◆ m_simplex

template<typename btConvexTemplate>
sSimplex* GJK< btConvexTemplate >::m_simplex

◆ m_simplices

template<typename btConvexTemplate>
sSimplex GJK< btConvexTemplate >::m_simplices[2]

Definition at line 153 of file btGjkEpa3.h.

Referenced by Evaluate().

◆ m_status

template<typename btConvexTemplate>
eGjkStatus GJK< btConvexTemplate >::m_status

Definition at line 159 of file btGjkEpa3.h.

Referenced by Evaluate(), and Initialize().

◆ m_store

template<typename btConvexTemplate>
sSV GJK< btConvexTemplate >::m_store[4]

Definition at line 154 of file btGjkEpa3.h.

Referenced by Evaluate().


The documentation for this struct was generated from the following file: