Bullet Collision Detection & Physics Library: btSoftBodyInternals.h File Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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