Bullet Collision Detection & Physics Library
Classes | Functions | Variables
btSoftBodyInternals.h File Reference
#include "btSoftBody.h"
#include "LinearMath/btQuickprof.h"
#include "LinearMath/btPolarDecomposition.h"
#include "BulletCollision/BroadphaseCollision/btBroadphaseInterface.h"
#include "BulletCollision/CollisionDispatch/btCollisionDispatcher.h"
#include "BulletCollision/CollisionShapes/btConvexInternalShape.h"
#include "BulletCollision/NarrowPhaseCollision/btGjkEpa2.h"
#include "BulletDynamics/Featherstone/btMultiBodyLinkCollider.h"
#include "BulletDynamics/Featherstone/btMultiBodyConstraint.h"
#include <string.h>
#include <cmath>
#include "poly34.h"
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 More...
 
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()

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

Definition at line 146 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.

◆ 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.