Bullet Collision Detection & Physics Library
Classes | Functions
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 <string.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 >
 btSoftBody implementation by Nathanael Presson More...
 
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::CollideVF_SS
 

Functions

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 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 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)
 
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)
 

Function Documentation

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

Definition at line 274 of file btSoftBodyInternals.h.

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

Definition at line 329 of file btSoftBodyInternals.h.

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

Definition at line 529 of file btSoftBodyInternals.h.

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

Definition at line 502 of file btSoftBodyInternals.h.

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

Definition at line 412 of file btSoftBodyInternals.h.

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

Definition at line 404 of file btSoftBodyInternals.h.

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

Definition at line 496 of file btSoftBodyInternals.h.

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

Definition at line 206 of file btSoftBodyInternals.h.

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

Definition at line 216 of file btSoftBodyInternals.h.

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

Definition at line 235 of file btSoftBodyInternals.h.

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

Definition at line 184 of file btSoftBodyInternals.h.

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

Definition at line 180 of file btSoftBodyInternals.h.

static btMatrix3x3 Cross ( const btVector3 v)
inlinestatic

Definition at line 256 of file btSoftBodyInternals.h.

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

Definition at line 224 of file btSoftBodyInternals.h.

static btMatrix3x3 Diagonal ( btScalar  x)
inlinestatic

Definition at line 265 of file btSoftBodyInternals.h.

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

Definition at line 454 of file btSoftBodyInternals.h.

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

Definition at line 425 of file btSoftBodyInternals.h.

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

Definition at line 312 of file btSoftBodyInternals.h.

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

Definition at line 322 of file btSoftBodyInternals.h.

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

Definition at line 192 of file btSoftBodyInternals.h.

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

Definition at line 188 of file btSoftBodyInternals.h.

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

Definition at line 195 of file btSoftBodyInternals.h.

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

Definition at line 305 of file btSoftBodyInternals.h.

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

Definition at line 545 of file btSoftBodyInternals.h.

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

Definition at line 290 of file btSoftBodyInternals.h.

static btVector3 NormalizeAny ( const btVector3 v)
inlinestatic

Definition at line 474 of file btSoftBodyInternals.h.

static void Orthogonalize ( btMatrix3x3 m)
inlinestatic

Definition at line 298 of file btSoftBodyInternals.h.

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

Definition at line 619 of file btSoftBodyInternals.h.

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

Definition at line 336 of file btSoftBodyInternals.h.

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

Definition at line 342 of file btSoftBodyInternals.h.

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

Definition at line 349 of file btSoftBodyInternals.h.

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

Definition at line 369 of file btSoftBodyInternals.h.

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

Definition at line 232 of file btSoftBodyInternals.h.

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

Definition at line 241 of file btSoftBodyInternals.h.

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

Definition at line 228 of file btSoftBodyInternals.h.

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

Definition at line 220 of file btSoftBodyInternals.h.

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

Definition at line 282 of file btSoftBodyInternals.h.

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

Definition at line 484 of file btSoftBodyInternals.h.

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

Definition at line 514 of file btSoftBodyInternals.h.

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

Definition at line 174 of file btSoftBodyInternals.h.