Bullet Collision Detection & Physics Library
btSoftBodyInternals.h File Reference
Include dependency graph for btSoftBodyInternals.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  btSymMatrix< T >
 
class  btSoftBodyCollisionShape
 
class  btSoftClusterCollisionShape
 
struct  btEigen
 
struct  btSoftColliders
 
struct  btSoftColliders::ClusterBase
 
struct  btSoftColliders::CollideCL_RS
 
struct  btSoftColliders::CollideCL_SS
 
struct  btSoftColliders::CollideSDF_RS
 
struct  btSoftColliders::CollideSDF_RD
 
struct  btSoftColliders::CollideSDF_RDF
 
struct  btSoftColliders::CollideVF_SS
 
struct  btSoftColliders::CollideVF_DD
 
struct  btSoftColliders::CollideFF_DD
 
struct  btSoftColliders::CollideCCD
 

Functions

static void findJacobian (const btMultiBodyLinkCollider *multibodyLinkCol, btMultiBodyJacobianData &jacobianData, const btVector3 &contact_point, const btVector3 &dir)
 btSoftBody implementation by Nathanael Presson
 
static btVector3 generateUnitOrthogonalVector (const btVector3 &u)
 
static bool proximityTest (const btVector3 &x1, const btVector3 &x2, const btVector3 &x3, const btVector3 &x4, const btVector3 &normal, const btScalar &mrg, btVector3 &bary)
 
static int getSign (const btVector3 &n, const btVector3 &x)
 
static bool hasSeparatingPlane (const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt)
 
static bool nearZero (const btScalar &a)
 
static bool sameSign (const btScalar &a, const btScalar &b)
 
static bool diffSign (const btScalar &a, const btScalar &b)
 
btScalar evaluateBezier2 (const btScalar &p0, const btScalar &p1, const btScalar &p2, const btScalar &t, const btScalar &s)
 
btScalar evaluateBezier (const btScalar &p0, const btScalar &p1, const btScalar &p2, const btScalar &p3, const btScalar &t, const btScalar &s)
 
static bool getSigns (bool type_c, const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &t0, const btScalar &t1, btScalar &lt0, btScalar &lt1)
 
static void getBernsteinCoeff (const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt, btScalar &k0, btScalar &k1, btScalar &k2, btScalar &k3)
 
static void polyDecomposition (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &j0, const btScalar &j1, const btScalar &j2, btScalar &u0, btScalar &u1, btScalar &v0, btScalar &v1)
 
static bool rootFindingLemma (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3)
 
static void getJs (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btSoftBody::Node *a, const btSoftBody::Node *b, const btSoftBody::Node *c, const btSoftBody::Node *p, const btScalar &dt, btScalar &j0, btScalar &j1, btScalar &j2)
 
static bool signDetermination1Internal (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &u0, const btScalar &u1, const btScalar &v0, const btScalar &v1)
 
static bool signDetermination2Internal (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &j0, const btScalar &j1, const btScalar &j2, const btScalar &u0, const btScalar &u1, const btScalar &v0, const btScalar &v1)
 
static bool signDetermination1 (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt)
 
static bool signDetermination2 (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt)
 
static bool coplanarAndInsideTest (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt)
 
static bool conservativeCulling (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &mrg)
 
static bool bernsteinVFTest (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &mrg, const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt)
 
static void deCasteljau (const btScalar &k0, const btScalar &k1, const btScalar &k2, const btScalar &k3, const btScalar &t0, btScalar &k10, btScalar &k20, btScalar &k30, btScalar &k21, btScalar &k12)
 
static bool bernsteinVFTest (const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt, const btScalar &mrg)
 
static bool continuousCollisionDetection (const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt, const btScalar &mrg, btVector3 &bary)
 
static bool bernsteinCCD (const btSoftBody::Face *face, const btSoftBody::Node *node, const btScalar &dt, const btScalar &mrg, btVector3 &bary)
 
template<typename T >
static void ZeroInitialize (T &value)
 
template<typename T >
static bool CompLess (const T &a, const T &b)
 
template<typename T >
static bool CompGreater (const T &a, const T &b)
 
template<typename T >
static T Lerp (const T &a, const T &b, btScalar t)
 
template<typename T >
static T InvLerp (const T &a, const T &b, btScalar t)
 
static btMatrix3x3 Lerp (const btMatrix3x3 &a, const btMatrix3x3 &b, btScalar t)
 
static btVector3 Clamp (const btVector3 &v, btScalar maxlength)
 
template<typename T >
static T Clamp (const T &x, const T &l, const T &h)
 
template<typename T >
static T Sq (const T &x)
 
template<typename T >
static T Cube (const T &x)
 
template<typename T >
static T Sign (const T &x)
 
template<typename T >
static bool SameSign (const T &x, const T &y)
 
static btScalar ClusterMetric (const btVector3 &x, const btVector3 &y)
 
static btMatrix3x3 ScaleAlongAxis (const btVector3 &a, btScalar s)
 
static btMatrix3x3 Cross (const btVector3 &v)
 
static btMatrix3x3 Diagonal (btScalar x)
 
static btMatrix3x3 Diagonal (const btVector3 &v)
 
static btScalar Dot (const btScalar *a, const btScalar *b, int ndof)
 
static btMatrix3x3 OuterProduct (const btScalar *v1, const btScalar *v2, const btScalar *v3, const btScalar *u1, const btScalar *u2, const btScalar *u3, int ndof)
 
static btMatrix3x3 OuterProduct (const btVector3 &v1, const btVector3 &v2)
 
static btMatrix3x3 Add (const btMatrix3x3 &a, const btMatrix3x3 &b)
 
static btMatrix3x3 Sub (const btMatrix3x3 &a, const btMatrix3x3 &b)
 
static btMatrix3x3 Mul (const btMatrix3x3 &a, btScalar b)
 
static void Orthogonalize (btMatrix3x3 &m)
 
static btMatrix3x3 MassMatrix (btScalar im, const btMatrix3x3 &iwi, const btVector3 &r)
 
static btMatrix3x3 ImpulseMatrix (btScalar dt, btScalar ima, btScalar imb, const btMatrix3x3 &iwi, const btVector3 &r)
 
static btMatrix3x3 ImpulseMatrix (btScalar dt, const btMatrix3x3 &effective_mass_inv, btScalar imb, const btMatrix3x3 &iwi, const btVector3 &r)
 
static btMatrix3x3 ImpulseMatrix (btScalar ima, const btMatrix3x3 &iia, const btVector3 &ra, btScalar imb, const btMatrix3x3 &iib, const btVector3 &rb)
 
static btMatrix3x3 AngularImpulseMatrix (const btMatrix3x3 &iia, const btMatrix3x3 &iib)
 
static btVector3 ProjectOnAxis (const btVector3 &v, const btVector3 &a)
 
static btVector3 ProjectOnPlane (const btVector3 &v, const btVector3 &a)
 
static void ProjectOrigin (const btVector3 &a, const btVector3 &b, btVector3 &prj, btScalar &sqd)
 
static void ProjectOrigin (const btVector3 &a, const btVector3 &b, const btVector3 &c, btVector3 &prj, btScalar &sqd)
 
static bool rayIntersectsTriangle (const btVector3 &origin, const btVector3 &dir, const btVector3 &v0, const btVector3 &v1, const btVector3 &v2, btScalar &t)
 
static bool lineIntersectsTriangle (const btVector3 &rayStart, const btVector3 &rayEnd, const btVector3 &p1, const btVector3 &p2, const btVector3 &p3, btVector3 &sect, btVector3 &normal)
 
template<typename T >
static T BaryEval (const T &a, const T &b, const T &c, const btVector3 &coord)
 
static btVector3 BaryCoord (const btVector3 &a, const btVector3 &b, const btVector3 &c, const btVector3 &p)
 
static btScalar ImplicitSolve (btSoftBody::ImplicitFn *fn, const btVector3 &a, const btVector3 &b, const btScalar accuracy, const int maxiterations=256)
 
static void EvaluateMedium (const btSoftBodyWorldInfo *wfi, const btVector3 &x, btSoftBody::sMedium &medium)
 
static btVector3 NormalizeAny (const btVector3 &v)
 
static btDbvtVolume VolumeOf (const btSoftBody::Face &f, btScalar margin)
 
static btVector3 CenterOf (const btSoftBody::Face &f)
 
static btScalar AreaOf (const btVector3 &x0, const btVector3 &x1, const btVector3 &x2)
 
static btScalar VolumeOf (const btVector3 &x0, const btVector3 &x1, const btVector3 &x2, const btVector3 &x3)
 
static void ApplyClampedForce (btSoftBody::Node &n, const btVector3 &f, btScalar dt)
 
static int MatchEdge (const btSoftBody::Node *a, const btSoftBody::Node *b, const btSoftBody::Node *ma, const btSoftBody::Node *mb)
 
static int PolarDecompose (const btMatrix3x3 &m, btMatrix3x3 &q, btMatrix3x3 &s)
 

Variables

static const int KDOP_COUNT = 13
 
static btVector3 dop [KDOP_COUNT]
 

Function Documentation

◆ Add()

static btMatrix3x3 Add ( const btMatrix3x3 & a,
const btMatrix3x3 & b )
inlinestatic

Definition at line 966 of file btSoftBodyInternals.h.

◆ AngularImpulseMatrix()

static btMatrix3x3 AngularImpulseMatrix ( const btMatrix3x3 & iia,
const btMatrix3x3 & iib )
inlinestatic

Definition at line 1035 of file btSoftBodyInternals.h.

◆ ApplyClampedForce()

static void ApplyClampedForce ( btSoftBody::Node & n,
const btVector3 & f,
btScalar dt )
inlinestatic

Definition at line 1307 of file btSoftBodyInternals.h.

◆ AreaOf()

static btScalar AreaOf ( const btVector3 & x0,
const btVector3 & x1,
const btVector3 & x2 )
inlinestatic

Definition at line 1281 of file btSoftBodyInternals.h.

◆ BaryCoord()

static btVector3 BaryCoord ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c,
const btVector3 & p )
inlinestatic

Definition at line 1186 of file btSoftBodyInternals.h.

◆ BaryEval()

template<typename T >
static T BaryEval ( const T & a,
const T & b,
const T & c,
const btVector3 & coord )
inlinestatic

Definition at line 1178 of file btSoftBodyInternals.h.

◆ bernsteinCCD()

static bool bernsteinCCD ( const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt,
const btScalar & mrg,
btVector3 & bary )
inlinestatic

Definition at line 625 of file btSoftBodyInternals.h.

◆ bernsteinVFTest() [1/2]

static bool bernsteinVFTest ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & mrg,
const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt )
inlinestatic

Definition at line 510 of file btSoftBodyInternals.h.

◆ bernsteinVFTest() [2/2]

static bool bernsteinVFTest ( const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt,
const btScalar & mrg )
inlinestatic

Definition at line 526 of file btSoftBodyInternals.h.

◆ CenterOf()

static btVector3 CenterOf ( const btSoftBody::Face & f)
inlinestatic

Definition at line 1275 of file btSoftBodyInternals.h.

◆ Clamp() [1/2]

static btVector3 Clamp ( const btVector3 & v,
btScalar maxlength )
inlinestatic

Definition at line 829 of file btSoftBodyInternals.h.

◆ Clamp() [2/2]

template<typename T >
static T Clamp ( const T & x,
const T & l,
const T & h )
inlinestatic

Definition at line 839 of file btSoftBodyInternals.h.

◆ ClusterMetric()

static btScalar ClusterMetric ( const btVector3 & x,
const btVector3 & y )
inlinestatic

Definition at line 868 of file btSoftBodyInternals.h.

◆ CompGreater()

template<typename T >
static bool CompGreater ( const T & a,
const T & b )
inlinestatic

Definition at line 801 of file btSoftBodyInternals.h.

◆ CompLess()

template<typename T >
static bool CompLess ( const T & a,
const T & b )
inlinestatic

Definition at line 795 of file btSoftBodyInternals.h.

◆ conservativeCulling()

static bool conservativeCulling ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & mrg )
inlinestatic

Definition at line 501 of file btSoftBodyInternals.h.

◆ continuousCollisionDetection()

static bool continuousCollisionDetection ( const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt,
const btScalar & mrg,
btVector3 & bary )
inlinestatic

Definition at line 543 of file btSoftBodyInternals.h.

◆ coplanarAndInsideTest()

static bool coplanarAndInsideTest ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt )
inlinestatic

Definition at line 480 of file btSoftBodyInternals.h.

◆ Cross()

static btMatrix3x3 Cross ( const btVector3 & v)
inlinestatic

Definition at line 889 of file btSoftBodyInternals.h.

◆ Cube()

template<typename T >
static T Cube ( const T & x)
inlinestatic

Definition at line 851 of file btSoftBodyInternals.h.

◆ deCasteljau()

static void deCasteljau ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & t0,
btScalar & k10,
btScalar & k20,
btScalar & k30,
btScalar & k21,
btScalar & k12 )
inlinestatic

Definition at line 517 of file btSoftBodyInternals.h.

◆ Diagonal() [1/2]

static btMatrix3x3 Diagonal ( btScalar x)
inlinestatic

Definition at line 898 of file btSoftBodyInternals.h.

◆ Diagonal() [2/2]

static btMatrix3x3 Diagonal ( const btVector3 & v)
inlinestatic

Definition at line 907 of file btSoftBodyInternals.h.

◆ diffSign()

static bool diffSign ( const btScalar & a,
const btScalar & b )
inlinestatic

Definition at line 150 of file btSoftBodyInternals.h.

◆ Dot()

static btScalar Dot ( const btScalar * a,
const btScalar * b,
int ndof )
inlinestatic

Definition at line 916 of file btSoftBodyInternals.h.

◆ evaluateBezier()

btScalar evaluateBezier ( const btScalar & p0,
const btScalar & p1,
const btScalar & p2,
const btScalar & p3,
const btScalar & t,
const btScalar & s )
inline

Definition at line 161 of file btSoftBodyInternals.h.

◆ evaluateBezier2()

btScalar evaluateBezier2 ( const btScalar & p0,
const btScalar & p1,
const btScalar & p2,
const btScalar & t,
const btScalar & s )
inline

Definition at line 154 of file btSoftBodyInternals.h.

◆ EvaluateMedium()

static void EvaluateMedium ( const btSoftBodyWorldInfo * wfi,
const btVector3 & x,
btSoftBody::sMedium & medium )
inlinestatic

Definition at line 1234 of file btSoftBodyInternals.h.

◆ findJacobian()

static void findJacobian ( const btMultiBodyLinkCollider * multibodyLinkCol,
btMultiBodyJacobianData & jacobianData,
const btVector3 & contact_point,
const btVector3 & dir )
inlinestatic

btSoftBody implementation by Nathanael Presson

Definition at line 34 of file btSoftBodyInternals.h.

◆ generateUnitOrthogonalVector()

static btVector3 generateUnitOrthogonalVector ( const btVector3 & u)
inlinestatic

Definition at line 47 of file btSoftBodyInternals.h.

◆ getBernsteinCoeff()

static void getBernsteinCoeff ( const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt,
btScalar & k0,
btScalar & k1,
btScalar & k2,
btScalar & k3 )
inlinestatic

Definition at line 223 of file btSoftBodyInternals.h.

◆ getJs()

static void getJs ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btSoftBody::Node * a,
const btSoftBody::Node * b,
const btSoftBody::Node * c,
const btSoftBody::Node * p,
const btScalar & dt,
btScalar & j0,
btScalar & j1,
btScalar & j2 )
inlinestatic

Definition at line 263 of file btSoftBodyInternals.h.

◆ getSign()

static int getSign ( const btVector3 & n,
const btVector3 & x )
inlinestatic

Definition at line 108 of file btSoftBodyInternals.h.

◆ getSigns()

static bool getSigns ( bool type_c,
const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & t0,
const btScalar & t1,
btScalar & lt0,
btScalar & lt1 )
inlinestatic

Definition at line 170 of file btSoftBodyInternals.h.

◆ hasSeparatingPlane()

static bool hasSeparatingPlane ( const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt )
inlinestatic

Definition at line 118 of file btSoftBodyInternals.h.

◆ ImplicitSolve()

static btScalar ImplicitSolve ( btSoftBody::ImplicitFn * fn,
const btVector3 & a,
const btVector3 & b,
const btScalar accuracy,
const int maxiterations = 256 )
inlinestatic

Definition at line 1199 of file btSoftBodyInternals.h.

◆ ImpulseMatrix() [1/3]

static btMatrix3x3 ImpulseMatrix ( btScalar dt,
btScalar ima,
btScalar imb,
const btMatrix3x3 & iwi,
const btVector3 & r )
inlinestatic

Definition at line 1004 of file btSoftBodyInternals.h.

◆ ImpulseMatrix() [2/3]

static btMatrix3x3 ImpulseMatrix ( btScalar dt,
const btMatrix3x3 & effective_mass_inv,
btScalar imb,
const btMatrix3x3 & iwi,
const btVector3 & r )
inlinestatic

Definition at line 1014 of file btSoftBodyInternals.h.

◆ ImpulseMatrix() [3/3]

static btMatrix3x3 ImpulseMatrix ( btScalar ima,
const btMatrix3x3 & iia,
const btVector3 & ra,
btScalar imb,
const btMatrix3x3 & iib,
const btVector3 & rb )
inlinestatic

Definition at line 1028 of file btSoftBodyInternals.h.

◆ InvLerp()

template<typename T >
static T InvLerp ( const T & a,
const T & b,
btScalar t )
inlinestatic

Definition at line 813 of file btSoftBodyInternals.h.

◆ Lerp() [1/2]

static btMatrix3x3 Lerp ( const btMatrix3x3 & a,
const btMatrix3x3 & b,
btScalar t )
inlinestatic

Definition at line 818 of file btSoftBodyInternals.h.

◆ Lerp() [2/2]

template<typename T >
static T Lerp ( const T & a,
const T & b,
btScalar t )
inlinestatic

Definition at line 807 of file btSoftBodyInternals.h.

◆ lineIntersectsTriangle()

static bool lineIntersectsTriangle ( const btVector3 & rayStart,
const btVector3 & rayEnd,
const btVector3 & p1,
const btVector3 & p2,
const btVector3 & p3,
btVector3 & sect,
btVector3 & normal )
inlinestatic

Definition at line 1142 of file btSoftBodyInternals.h.

◆ MassMatrix()

static btMatrix3x3 MassMatrix ( btScalar im,
const btMatrix3x3 & iwi,
const btVector3 & r )
inlinestatic

Definition at line 997 of file btSoftBodyInternals.h.

◆ MatchEdge()

static int MatchEdge ( const btSoftBody::Node * a,
const btSoftBody::Node * b,
const btSoftBody::Node * ma,
const btSoftBody::Node * mb )
inlinestatic

Definition at line 1323 of file btSoftBodyInternals.h.

◆ Mul()

static btMatrix3x3 Mul ( const btMatrix3x3 & a,
btScalar b )
inlinestatic

Definition at line 982 of file btSoftBodyInternals.h.

◆ nearZero()

static bool nearZero ( const btScalar & a)
inlinestatic

Definition at line 142 of file btSoftBodyInternals.h.

◆ NormalizeAny()

static btVector3 NormalizeAny ( const btVector3 & v)
inlinestatic

Definition at line 1253 of file btSoftBodyInternals.h.

◆ Orthogonalize()

static void Orthogonalize ( btMatrix3x3 & m)
inlinestatic

Definition at line 990 of file btSoftBodyInternals.h.

◆ OuterProduct() [1/2]

static btMatrix3x3 OuterProduct ( const btScalar * v1,
const btScalar * v2,
const btScalar * v3,
const btScalar * u1,
const btScalar * u2,
const btScalar * u3,
int ndof )
inlinestatic

Definition at line 924 of file btSoftBodyInternals.h.

◆ OuterProduct() [2/2]

static btMatrix3x3 OuterProduct ( const btVector3 & v1,
const btVector3 & v2 )
inlinestatic

Definition at line 945 of file btSoftBodyInternals.h.

◆ PolarDecompose()

static int PolarDecompose ( const btMatrix3x3 & m,
btMatrix3x3 & q,
btMatrix3x3 & s )
inlinestatic

Definition at line 1411 of file btSoftBodyInternals.h.

◆ polyDecomposition()

static void polyDecomposition ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & j0,
const btScalar & j1,
const btScalar & j2,
btScalar & u0,
btScalar & u1,
btScalar & v0,
btScalar & v1 )
inlinestatic

Definition at line 236 of file btSoftBodyInternals.h.

◆ ProjectOnAxis()

static btVector3 ProjectOnAxis ( const btVector3 & v,
const btVector3 & a )
inlinestatic

Definition at line 1042 of file btSoftBodyInternals.h.

◆ ProjectOnPlane()

static btVector3 ProjectOnPlane ( const btVector3 & v,
const btVector3 & a )
inlinestatic

Definition at line 1048 of file btSoftBodyInternals.h.

◆ ProjectOrigin() [1/2]

static void ProjectOrigin ( const btVector3 & a,
const btVector3 & b,
btVector3 & prj,
btScalar & sqd )
inlinestatic

Definition at line 1055 of file btSoftBodyInternals.h.

◆ ProjectOrigin() [2/2]

static void ProjectOrigin ( const btVector3 & a,
const btVector3 & b,
const btVector3 & c,
btVector3 & prj,
btScalar & sqd )
inlinestatic

Definition at line 1075 of file btSoftBodyInternals.h.

◆ proximityTest()

static bool proximityTest ( const btVector3 & x1,
const btVector3 & x2,
const btVector3 & x3,
const btVector3 & x4,
const btVector3 & normal,
const btScalar & mrg,
btVector3 & bary )
inlinestatic

Definition at line 66 of file btSoftBodyInternals.h.

◆ rayIntersectsTriangle()

static bool rayIntersectsTriangle ( const btVector3 & origin,
const btVector3 & dir,
const btVector3 & v0,
const btVector3 & v1,
const btVector3 & v2,
btScalar & t )
inlinestatic

Definition at line 1109 of file btSoftBodyInternals.h.

◆ rootFindingLemma()

static bool rootFindingLemma ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3 )
inlinestatic

Definition at line 245 of file btSoftBodyInternals.h.

◆ SameSign()

template<typename T >
static bool SameSign ( const T & x,
const T & y )
inlinestatic

Definition at line 863 of file btSoftBodyInternals.h.

◆ sameSign()

static bool sameSign ( const btScalar & a,
const btScalar & b )
inlinestatic

Definition at line 146 of file btSoftBodyInternals.h.

◆ ScaleAlongAxis()

static btMatrix3x3 ScaleAlongAxis ( const btVector3 & a,
btScalar s )
inlinestatic

Definition at line 874 of file btSoftBodyInternals.h.

◆ Sign()

template<typename T >
static T Sign ( const T & x)
inlinestatic

Definition at line 857 of file btSoftBodyInternals.h.

◆ signDetermination1()

static bool signDetermination1 ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt )
inlinestatic

Definition at line 363 of file btSoftBodyInternals.h.

◆ signDetermination1Internal()

static bool signDetermination1Internal ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & u0,
const btScalar & u1,
const btScalar & v0,
const btScalar & v1 )
inlinestatic

Definition at line 303 of file btSoftBodyInternals.h.

◆ signDetermination2()

static bool signDetermination2 ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btSoftBody::Face * face,
const btSoftBody::Node * node,
const btScalar & dt )
inlinestatic

Definition at line 414 of file btSoftBodyInternals.h.

◆ signDetermination2Internal()

static bool signDetermination2Internal ( const btScalar & k0,
const btScalar & k1,
const btScalar & k2,
const btScalar & k3,
const btScalar & j0,
const btScalar & j1,
const btScalar & j2,
const btScalar & u0,
const btScalar & u1,
const btScalar & v0,
const btScalar & v1 )
inlinestatic

Definition at line 315 of file btSoftBodyInternals.h.

◆ Sq()

template<typename T >
static T Sq ( const T & x)
inlinestatic

Definition at line 845 of file btSoftBodyInternals.h.

◆ Sub()

static btMatrix3x3 Sub ( const btMatrix3x3 & a,
const btMatrix3x3 & b )
inlinestatic

Definition at line 974 of file btSoftBodyInternals.h.

◆ VolumeOf() [1/2]

static btDbvtVolume VolumeOf ( const btSoftBody::Face & f,
btScalar margin )
inlinestatic

Definition at line 1263 of file btSoftBodyInternals.h.

◆ VolumeOf() [2/2]

static btScalar VolumeOf ( const btVector3 & x0,
const btVector3 & x1,
const btVector3 & x2,
const btVector3 & x3 )
inlinestatic

Definition at line 1293 of file btSoftBodyInternals.h.

◆ ZeroInitialize()

template<typename T >
static void ZeroInitialize ( T & value)
inlinestatic

Definition at line 789 of file btSoftBodyInternals.h.

Variable Documentation

◆ dop

btVector3 dop[KDOP_COUNT]
static
Initial value:
= {btVector3(1, 0, 0),
btVector3(0, 1, 0),
btVector3(0, 0, 1),
btVector3(1, 1, 0),
btVector3(1, 0, 1),
btVector3(0, 1, 1),
btVector3(1, -1, 0),
btVector3(1, 0, -1),
btVector3(0, 1, -1),
btVector3(1, 1, 1),
btVector3(1, -1, 1),
btVector3(1, 1, -1),
btVector3(1, -1, -1)}
btVector3 can be used to represent 3D points and vectors.
Definition btVector3.h:82

Definition at line 94 of file btSoftBodyInternals.h.

◆ KDOP_COUNT

const int KDOP_COUNT = 13
static

Definition at line 93 of file btSoftBodyInternals.h.