Blender  V3.3
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
btSoftBody Class Reference

#include <btSoftBody.h>

Inheritance diagram for btSoftBody:

Classes

struct  AJoint
 
struct  Anchor
 
struct  Body
 
struct  CJoint
 
struct  Cluster
 
struct  Config
 
struct  DeformableFaceNodeContact
 
class  DeformableFaceRigidContact
 
class  DeformableNodeRigidAnchor
 
class  DeformableNodeRigidContact
 
class  DeformableRigidContact
 
struct  eAeroModel
 eAeroModel More...
 
struct  eFeature
 eFeature More...
 
struct  Element
 
struct  ePSolver
 ePSolver : positions solvers More...
 
struct  eSolverPresets
 eSolverPresets More...
 
struct  eVSolver
 eVSolver : velocities solvers More...
 
struct  Face
 
struct  fCollision
 fCollision More...
 
struct  Feature
 
struct  fMaterial
 fMaterial More...
 
struct  ImplicitFn
 
struct  Impulse
 
struct  Joint
 
struct  LJoint
 
struct  Material
 
struct  Node
 
struct  Note
 
struct  Pose
 
struct  RayFromToCaster
 RayFromToCaster takes a ray from, ray to (instead of direction!) More...
 
struct  RContact
 
struct  SContact
 
struct  sCti
 
struct  sMedium
 
struct  SolverState
 
struct  sRayCast
 
struct  Tetra
 
struct  TetraScratch
 

Public Types

typedef btAlignedObjectArray< eVSolver::_tVSolverArray
 
typedef btAlignedObjectArray< ePSolver::_tPSolverArray
 
typedef btAlignedObjectArray< btScalartScalarArray
 
typedef btAlignedObjectArray< btVector3tVector3Array
 
typedef void(* psolver_t) (btSoftBody *, btScalar, btScalar)
 
typedef void(* vsolver_t) (btSoftBody *, btScalar)
 
typedef btAlignedObjectArray< Cluster * > tClusterArray
 
typedef btAlignedObjectArray< NotetNoteArray
 
typedef btAlignedObjectArray< NodetNodeArray
 
typedef btAlignedObjectArray< btDbvtNode * > tLeafArray
 
typedef btAlignedObjectArray< LinktLinkArray
 
typedef btAlignedObjectArray< FacetFaceArray
 
typedef btAlignedObjectArray< TetratTetraArray
 
typedef btAlignedObjectArray< AnchortAnchorArray
 
typedef btAlignedObjectArray< RContacttRContactArray
 
typedef btAlignedObjectArray< SContacttSContactArray
 
typedef btAlignedObjectArray< Material * > tMaterialArray
 
typedef btAlignedObjectArray< Joint * > tJointArray
 
typedef btAlignedObjectArray< btSoftBody * > tSoftBodyArray
 

Public Member Functions

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 
 btSoftBody (btSoftBodyWorldInfo *worldInfo, int node_count, const btVector3 *x, const btScalar *m)
 
 btSoftBody (btSoftBodyWorldInfo *worldInfo)
 
void initDefaults ()
 
virtual ~btSoftBody ()
 
btSoftBodyWorldInfogetWorldInfo ()
 
void setDampingCoefficient (btScalar damping_coeff)
 
virtual void setCollisionShape (btCollisionShape *collisionShape)
 
bool checkLink (int node0, int node1) const
 
bool checkLink (const Node *node0, const Node *node1) const
 
bool checkFace (int node0, int node1, int node2) const
 
MaterialappendMaterial ()
 
void appendNote (const char *text, const btVector3 &o, const btVector4 &c=btVector4(1, 0, 0, 0), Node *n0=0, Node *n1=0, Node *n2=0, Node *n3=0)
 
void appendNote (const char *text, const btVector3 &o, Node *feature)
 
void appendNote (const char *text, const btVector3 &o, Link *feature)
 
void appendNote (const char *text, const btVector3 &o, Face *feature)
 
void appendNode (const btVector3 &x, btScalar m)
 
void appendLink (int model=-1, Material *mat=0)
 
void appendLink (int node0, int node1, Material *mat=0, bool bcheckexist=false)
 
void appendLink (Node *node0, Node *node1, Material *mat=0, bool bcheckexist=false)
 
void appendFace (int model=-1, Material *mat=0)
 
void appendFace (int node0, int node1, int node2, Material *mat=0)
 
void appendTetra (int model, Material *mat)
 
void appendTetra (int node0, int node1, int node2, int node3, Material *mat=0)
 
void appendDeformableAnchor (int node, btRigidBody *body)
 
void appendDeformableAnchor (int node, btMultiBodyLinkCollider *link)
 
void appendAnchor (int node, btRigidBody *body, bool disableCollisionBetweenLinkedBodies=false, btScalar influence=1)
 
void appendAnchor (int node, btRigidBody *body, const btVector3 &localPivot, bool disableCollisionBetweenLinkedBodies=false, btScalar influence=1)
 
void removeAnchor (int node)
 
void appendLinearJoint (const LJoint::Specs &specs, Cluster *body0, Body body1)
 
void appendLinearJoint (const LJoint::Specs &specs, Body body=Body())
 
void appendLinearJoint (const LJoint::Specs &specs, btSoftBody *body)
 
void appendAngularJoint (const AJoint::Specs &specs, Cluster *body0, Body body1)
 
void appendAngularJoint (const AJoint::Specs &specs, Body body=Body())
 
void appendAngularJoint (const AJoint::Specs &specs, btSoftBody *body)
 
void addForce (const btVector3 &force)
 
void addForce (const btVector3 &force, int node)
 
void addAeroForceToNode (const btVector3 &windVelocity, int nodeIndex)
 
void addAeroForceToFace (const btVector3 &windVelocity, int faceIndex)
 
void addVelocity (const btVector3 &velocity)
 
void setVelocity (const btVector3 &velocity)
 
void addVelocity (const btVector3 &velocity, int node)
 
void setMass (int node, btScalar mass)
 
btScalar getMass (int node) const
 
btScalar getTotalMass () const
 
void setTotalMass (btScalar mass, bool fromfaces=false)
 
void setTotalDensity (btScalar density)
 
void setVolumeMass (btScalar mass)
 
void setVolumeDensity (btScalar density)
 
btVector3 getLinearVelocity ()
 
void setLinearVelocity (const btVector3 &linVel)
 
void setAngularVelocity (const btVector3 &angVel)
 
btTransform getRigidTransform ()
 
void transformTo (const btTransform &trs)
 
void transform (const btTransform &trs)
 
void translate (const btVector3 &trs)
 
void rotate (const btQuaternion &rot)
 
void scale (const btVector3 &scl)
 
btScalar getRestLengthScale ()
 
void setRestLengthScale (btScalar restLength)
 
void setPose (bool bvolume, bool bframe)
 
void resetLinkRestLengths ()
 
btScalar getVolume () const
 
btVector3 getCenterOfMass () const
 
int clusterCount () const
 
btVector3 clusterCom (int cluster) const
 
int generateBendingConstraints (int distance, Material *mat=0)
 
void randomizeConstraints ()
 
void releaseCluster (int index)
 
void releaseClusters ()
 
int generateClusters (int k, int maxiterations=8192)
 
void refine (ImplicitFn *ifn, btScalar accurary, bool cut)
 
bool cutLink (int node0, int node1, btScalar position)
 
bool cutLink (const Node *node0, const Node *node1, btScalar position)
 
bool rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, sRayCast &results)
 Ray casting using rayFrom and rayTo in worldspace, (not direction!) More...
 
bool rayFaceTest (const btVector3 &rayFrom, const btVector3 &rayTo, sRayCast &results)
 
int rayFaceTest (const btVector3 &rayFrom, const btVector3 &rayTo, btScalar &mint, int &index) const
 
void setSolver (eSolverPresets::_ preset)
 
void predictMotion (btScalar dt)
 
void solveConstraints ()
 
void staticSolve (int iterations)
 
void integrateMotion ()
 
void defaultCollisionHandler (const btCollisionObjectWrapper *pcoWrap)
 
void defaultCollisionHandler (btSoftBody *psb)
 
void setSelfCollision (bool useSelfCollision)
 
bool useSelfCollision ()
 
void updateDeactivation (btScalar timeStep)
 
void setZeroVelocity ()
 
bool wantsSleeping ()
 
void setWindVelocity (const btVector3 &velocity)
 
const btVector3getWindVelocity ()
 
void setSoftBodySolver (btSoftBodySolver *softBodySolver)
 
btSoftBodySolvergetSoftBodySolver ()
 
btSoftBodySolvergetSoftBodySolver () const
 
virtual void getAabb (btVector3 &aabbMin, btVector3 &aabbMax) const
 
void pointersToIndices ()
 
void indicesToPointers (const int *map=0)
 
int rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, btScalar &mint, eFeature::_ &feature, int &index, bool bcountonly) const
 
void initializeFaceTree ()
 
void rebuildNodeTree ()
 
btVector3 evaluateCom () const
 
bool checkDeformableContact (const btCollisionObjectWrapper *colObjWrap, const btVector3 &x, btScalar margin, btSoftBody::sCti &cti, bool predict=false) const
 
bool checkDeformableFaceContact (const btCollisionObjectWrapper *colObjWrap, Face &f, btVector3 &contact_point, btVector3 &bary, btScalar margin, btSoftBody::sCti &cti, bool predict=false) const
 
bool checkContact (const btCollisionObjectWrapper *colObjWrap, const btVector3 &x, btScalar margin, btSoftBody::sCti &cti) const
 
void updateNormals ()
 
void updateBounds ()
 
void updatePose ()
 
void updateConstants ()
 
void updateLinkConstants ()
 
void updateArea (bool averageArea=true)
 
void initializeClusters ()
 
void updateClusters ()
 
void cleanupClusters ()
 
void prepareClusters (int iterations)
 
void solveClusters (btScalar sor)
 
void applyClusters (bool drift)
 
void dampClusters ()
 
void setSpringStiffness (btScalar k)
 
void setGravityFactor (btScalar gravFactor)
 
void initializeDmInverse ()
 
void updateDeformation ()
 
void advanceDeformation ()
 
void applyForces ()
 
void setMaxStress (btScalar maxStress)
 
void interpolateRenderMesh ()
 
void setCollisionQuadrature (int N)
 
void geometricCollisionHandler (btSoftBody *psb)
 
void updateNode (btDbvtNode *node, bool use_velocity, bool margin)
 
void updateNodeTree (bool use_velocity, bool margin)
 
template<class DBVTNODE >
void updateFace (DBVTNODE *node, bool use_velocity, bool margin)
 
void updateFaceTree (bool use_velocity, bool margin)
 
void applyRepulsionForce (btScalar timeStep, bool applySpringForce)
 
virtual int calculateSerializeBufferSize () const
 
virtual const char * serialize (void *dataBuffer, class btSerializer *serializer) const
 fills the dataBuffer and returns the struct name (and 0 on failure) More...
 

Static Public Member Functions

static btVector3 clusterCom (const Cluster *cluster)
 
static btVector3 clusterVelocity (const Cluster *cluster, const btVector3 &rpos)
 
static void clusterVImpulse (Cluster *cluster, const btVector3 &rpos, const btVector3 &impulse)
 
static void clusterDImpulse (Cluster *cluster, const btVector3 &rpos, const btVector3 &impulse)
 
static void clusterImpulse (Cluster *cluster, const btVector3 &rpos, const Impulse &impulse)
 
static void clusterVAImpulse (Cluster *cluster, const btVector3 &impulse)
 
static void clusterDAImpulse (Cluster *cluster, const btVector3 &impulse)
 
static void clusterAImpulse (Cluster *cluster, const Impulse &impulse)
 
static void clusterDCImpulse (Cluster *cluster, const btVector3 &impulse)
 
static void solveCommonConstraints (btSoftBody **bodies, int count, int iterations)
 
static void solveClusters (const btAlignedObjectArray< btSoftBody * > &bodies)
 
static const btSoftBodyupcast (const btCollisionObject *colObj)
 
static btSoftBodyupcast (btCollisionObject *colObj)
 
static void PSolve_Anchors (btSoftBody *psb, btScalar kst, btScalar ti)
 
static void PSolve_RContacts (btSoftBody *psb, btScalar kst, btScalar ti)
 
static void PSolve_SContacts (btSoftBody *psb, btScalar, btScalar ti)
 
static void PSolve_Links (btSoftBody *psb, btScalar kst, btScalar ti)
 
static void VSolve_Links (btSoftBody *psb, btScalar kst)
 
static psolver_t getSolver (ePSolver::_ solver)
 
static vsolver_t getSolver (eVSolver::_ solver)
 
template<typename T >
static T BaryEval (const T &a, const T &b, const T &c, const btVector3 &coord)
 

Public Attributes

btAlignedObjectArray< const class btCollisionObject * > m_collisionDisabledObjects
 
btSoftBodySolverm_softBodySolver
 
Link __pad0__: Feature { btVector3 m_c3
 
Nodem_n [2]
 
btScalar m_rl
 
int m_bbending: 1
 
btScalar m_c0
 
btScalar m_c1
 
btScalar m_c2
 
Config m_cfg
 
SolverState m_sst
 
Pose m_pose
 
voidm_tag
 
btSoftBodyWorldInfom_worldInfo
 
tNoteArray m_notes
 
tNodeArray m_nodes
 
tNodeArray m_renderNodes
 
tLinkArray m_links
 
tFaceArray m_faces
 
tFaceArray m_renderFaces
 
tTetraArray m_tetras
 
btAlignedObjectArray< TetraScratchm_tetraScratches
 
btAlignedObjectArray< TetraScratchm_tetraScratchesTn
 
tAnchorArray m_anchors
 
btAlignedObjectArray< DeformableNodeRigidAnchorm_deformableAnchors
 
tRContactArray m_rcontacts
 
btAlignedObjectArray< DeformableNodeRigidContactm_nodeRigidContacts
 
btAlignedObjectArray< DeformableFaceNodeContactm_faceNodeContacts
 
btAlignedObjectArray< DeformableFaceRigidContactm_faceRigidContacts
 
tSContactArray m_scontacts
 
tJointArray m_joints
 
tMaterialArray m_materials
 
btScalar m_timeacc
 
btVector3 m_bounds [2]
 
bool m_bUpdateRtCst
 
btDbvt m_ndbvt
 
btDbvt m_fdbvt
 
btDbvntNodem_fdbvnt
 
btDbvt m_cdbvt
 
tClusterArray m_clusters
 
btScalar m_dampingCoefficient
 
btScalar m_sleepingThreshold
 
btScalar m_maxSpeedSquared
 
btAlignedObjectArray< btVector3m_quads
 
btScalar m_repulsionStiffness
 
btScalar m_gravityFactor
 
btAlignedObjectArray< btVector3m_X
 
btAlignedObjectArray< btVector4m_renderNodesInterpolationWeights
 
btAlignedObjectArray< btAlignedObjectArray< const btSoftBody::Node * > > m_renderNodesParents
 
btAlignedObjectArray< btScalarm_z
 
bool m_useSelfCollision
 
bool m_softSoftCollision
 
btAlignedObjectArray< boolm_clusterConnectivity
 
btVector3 m_windVelocity
 
btScalar m_restLengthScale
 
btAlignedObjectArray< int > m_userIndexMapping
 

Detailed Description

The btSoftBody is an class to simulate cloth and volumetric soft bodies. There is two-way interaction between btSoftBody and btRigidBody/btCollisionObject.

Definition at line 74 of file btSoftBody.h.

Member Typedef Documentation

◆ psolver_t

typedef void(* btSoftBody::psolver_t) (btSoftBody *, btScalar, btScalar)

Definition at line 773 of file btSoftBody.h.

◆ tAnchorArray

Definition at line 782 of file btSoftBody.h.

◆ tClusterArray

Definition at line 775 of file btSoftBody.h.

◆ tFaceArray

Definition at line 780 of file btSoftBody.h.

◆ tJointArray

Definition at line 786 of file btSoftBody.h.

◆ tLeafArray

Definition at line 778 of file btSoftBody.h.

◆ tLinkArray

Definition at line 779 of file btSoftBody.h.

◆ tMaterialArray

Definition at line 785 of file btSoftBody.h.

◆ tNodeArray

Definition at line 777 of file btSoftBody.h.

◆ tNoteArray

Definition at line 776 of file btSoftBody.h.

◆ tPSolverArray

Definition at line 152 of file btSoftBody.h.

◆ tRContactArray

Definition at line 783 of file btSoftBody.h.

◆ tScalarArray

Definition at line 220 of file btSoftBody.h.

◆ tSContactArray

Definition at line 784 of file btSoftBody.h.

◆ tSoftBodyArray

Definition at line 787 of file btSoftBody.h.

◆ tTetraArray

Definition at line 781 of file btSoftBody.h.

◆ tVector3Array

Definition at line 221 of file btSoftBody.h.

◆ tVSolverArray

Definition at line 151 of file btSoftBody.h.

◆ vsolver_t

typedef void(* btSoftBody::vsolver_t) (btSoftBody *, btScalar)

Definition at line 774 of file btSoftBody.h.

Constructor & Destructor Documentation

◆ btSoftBody() [1/2]

btSoftBody::btSoftBody ( btSoftBodyWorldInfo worldInfo,
int  node_count,
const btVector3 x,
const btScalar m 
)

◆ btSoftBody() [2/2]

btSoftBody::btSoftBody ( btSoftBodyWorldInfo worldInfo)

Definition at line 164 of file btSoftBody.cpp.

References initDefaults().

◆ ~btSoftBody()

btSoftBody::~btSoftBody ( )
virtual

Member Function Documentation

◆ addAeroForceToFace()

void btSoftBody::addAeroForceToFace ( const btVector3 windVelocity,
int  faceIndex 
)

◆ addAeroForceToNode()

void btSoftBody::addAeroForceToNode ( const btVector3 windVelocity,
int  nodeIndex 
)

◆ addForce() [1/2]

void btSoftBody::addForce ( const btVector3 force)

Definition at line 689 of file btSoftBody.cpp.

References m_nodes, and btAlignedObjectArray< T >::size().

◆ addForce() [2/2]

void btSoftBody::addForce ( const btVector3 force,
int  node 
)

Definition at line 695 of file btSoftBody.cpp.

References btSoftBody::Node::m_f, btSoftBody::Node::m_im, m_nodes, and node.

◆ addVelocity() [1/2]

void btSoftBody::addVelocity ( const btVector3 velocity)

Definition at line 889 of file btSoftBody.cpp.

References m_nodes, and btAlignedObjectArray< T >::size().

Referenced by predictMotion().

◆ addVelocity() [2/2]

void btSoftBody::addVelocity ( const btVector3 velocity,
int  node 
)

Definition at line 909 of file btSoftBody.cpp.

References btSoftBody::Node::m_im, m_nodes, btSoftBody::Node::m_v, and node.

◆ advanceDeformation()

void btSoftBody::advanceDeformation ( )

◆ appendAnchor() [1/2]

void btSoftBody::appendAnchor ( int  node,
btRigidBody body,
bool  disableCollisionBetweenLinkedBodies = false,
btScalar  influence = 1 
)

Definition at line 500 of file btSoftBody.cpp.

References btVector3, m_nodes, and node.

◆ appendAnchor() [2/2]

void btSoftBody::appendAnchor ( int  node,
btRigidBody body,
const btVector3 localPivot,
bool  disableCollisionBetweenLinkedBodies = false,
btScalar  influence = 1 
)

◆ appendAngularJoint() [1/3]

void btSoftBody::appendAngularJoint ( const AJoint::Specs specs,
Body  body = Body() 
)

Definition at line 677 of file btSoftBody.cpp.

References appendAngularJoint(), and m_clusters.

◆ appendAngularJoint() [2/3]

void btSoftBody::appendAngularJoint ( const AJoint::Specs specs,
btSoftBody body 
)

Definition at line 683 of file btSoftBody.cpp.

References appendAngularJoint(), and m_clusters.

◆ appendAngularJoint() [3/3]

void btSoftBody::appendAngularJoint ( const AJoint::Specs specs,
Cluster body0,
Body  body1 
)

◆ appendDeformableAnchor() [1/2]

void btSoftBody::appendDeformableAnchor ( int  node,
btMultiBodyLinkCollider link 
)

◆ appendDeformableAnchor() [2/2]

void btSoftBody::appendDeformableAnchor ( int  node,
btRigidBody body 
)

◆ appendFace() [1/2]

void btSoftBody::appendFace ( int  model = -1,
Material mat = 0 
)

◆ appendFace() [2/2]

void btSoftBody::appendFace ( int  node0,
int  node1,
int  node2,
Material mat = 0 
)

◆ appendLinearJoint() [1/3]

void btSoftBody::appendLinearJoint ( const LJoint::Specs specs,
Body  body = Body() 
)

Definition at line 650 of file btSoftBody.cpp.

References appendLinearJoint(), and m_clusters.

◆ appendLinearJoint() [2/3]

void btSoftBody::appendLinearJoint ( const LJoint::Specs specs,
btSoftBody body 
)

Definition at line 656 of file btSoftBody.cpp.

References appendLinearJoint(), and m_clusters.

◆ appendLinearJoint() [3/3]

void btSoftBody::appendLinearJoint ( const LJoint::Specs specs,
Cluster body0,
Body  body1 
)

◆ appendLink() [1/3]

void btSoftBody::appendLink ( int  model = -1,
Material mat = 0 
)

◆ appendLink() [2/3]

void btSoftBody::appendLink ( int  node0,
int  node1,
Material mat = 0,
bool  bcheckexist = false 
)

Definition at line 402 of file btSoftBody.cpp.

References appendLink(), and m_nodes.

◆ appendLink() [3/3]

void btSoftBody::appendLink ( Node node0,
Node node1,
Material mat = 0,
bool  bcheckexist = false 
)

◆ appendMaterial()

btSoftBody::Material * btSoftBody::appendMaterial ( )

◆ appendNode()

void btSoftBody::appendNode ( const btVector3 x,
btScalar  m 
)

◆ appendNote() [1/4]

void btSoftBody::appendNote ( const char *  text,
const btVector3 o,
const btVector4 c = btVector4(1, 0, 0, 0),
Node n0 = 0,
Node n1 = 0,
Node n2 = 0,
Node n3 = 0 
)

◆ appendNote() [2/4]

void btSoftBody::appendNote ( const char *  text,
const btVector3 o,
Face feature 
)

Definition at line 357 of file btSoftBody.cpp.

References appendNote(), btSoftBody::Face::m_n, and w().

◆ appendNote() [3/4]

void btSoftBody::appendNote ( const char *  text,
const btVector3 o,
Link feature 
)

Definition at line 347 of file btSoftBody.cpp.

References appendNote(), and w().

◆ appendNote() [4/4]

void btSoftBody::appendNote ( const char *  text,
const btVector3 o,
Node feature 
)

Definition at line 339 of file btSoftBody.cpp.

References appendNote().

◆ appendTetra() [1/2]

void btSoftBody::appendTetra ( int  model,
Material mat 
)

◆ appendTetra() [2/2]

void btSoftBody::appendTetra ( int  node0,
int  node1,
int  node2,
int  node3,
Material mat = 0 
)

◆ applyClusters()

void btSoftBody::applyClusters ( bool  drift)

◆ applyForces()

void btSoftBody::applyForces ( )

◆ applyRepulsionForce()

void btSoftBody::applyRepulsionForce ( btScalar  timeStep,
bool  applySpringForce 
)
inline

◆ BaryEval()

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

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btSoftBody::BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ calculateSerializeBufferSize()

int btSoftBody::calculateSerializeBufferSize ( ) const
virtual

Definition at line 4296 of file btSoftBody.cpp.

References btSoftBodyData.

◆ checkContact()

bool btSoftBody::checkContact ( const btCollisionObjectWrapper colObjWrap,
const btVector3 x,
btScalar  margin,
btSoftBody::sCti cti 
) const

◆ checkDeformableContact()

bool btSoftBody::checkDeformableContact ( const btCollisionObjectWrapper colObjWrap,
const btVector3 x,
btScalar  margin,
btSoftBody::sCti cti,
bool  predict = false 
) const

◆ checkDeformableFaceContact()

bool btSoftBody::checkDeformableFaceContact ( const btCollisionObjectWrapper colObjWrap,
Face f,
btVector3 contact_point,
btVector3 bary,
btScalar  margin,
btSoftBody::sCti cti,
bool  predict = false 
) const

◆ checkFace()

bool btSoftBody::checkFace ( int  node0,
int  node1,
int  node2 
) const

◆ checkLink() [1/2]

bool btSoftBody::checkLink ( const Node node0,
const Node node1 
) const

Definition at line 258 of file btSoftBody.cpp.

References l, m_links, and btAlignedObjectArray< T >::size().

◆ checkLink() [2/2]

bool btSoftBody::checkLink ( int  node0,
int  node1 
) const

Definition at line 252 of file btSoftBody.cpp.

References m_nodes.

Referenced by appendLink().

◆ cleanupClusters()

void btSoftBody::cleanupClusters ( )

◆ clusterAImpulse()

void btSoftBody::clusterAImpulse ( Cluster cluster,
const Impulse impulse 
)
static

◆ clusterCom() [1/2]

btVector3 btSoftBody::clusterCom ( const Cluster cluster)
static

◆ clusterCom() [2/2]

btVector3 btSoftBody::clusterCom ( int  cluster) const

Definition at line 1276 of file btSoftBody.cpp.

References clusterCom(), and m_clusters.

◆ clusterCount()

int btSoftBody::clusterCount ( ) const

Definition at line 1259 of file btSoftBody.cpp.

References m_clusters, and btAlignedObjectArray< T >::size().

◆ clusterDAImpulse()

void btSoftBody::clusterDAImpulse ( Cluster cluster,
const btVector3 impulse 
)
static

◆ clusterDCImpulse()

void btSoftBody::clusterDCImpulse ( Cluster cluster,
const btVector3 impulse 
)
static

◆ clusterDImpulse()

void btSoftBody::clusterDImpulse ( Cluster cluster,
const btVector3 rpos,
const btVector3 impulse 
)
static

◆ clusterImpulse()

void btSoftBody::clusterImpulse ( Cluster cluster,
const btVector3 rpos,
const Impulse impulse 
)
static

◆ clusterVAImpulse()

void btSoftBody::clusterVAImpulse ( Cluster cluster,
const btVector3 impulse 
)
static

◆ clusterVelocity()

btVector3 btSoftBody::clusterVelocity ( const Cluster cluster,
const btVector3 rpos 
)
static

Definition at line 1282 of file btSoftBody.cpp.

References btCross(), btSoftBody::Cluster::m_av, and btSoftBody::Cluster::m_lv.

◆ clusterVImpulse()

void btSoftBody::clusterVImpulse ( Cluster cluster,
const btVector3 rpos,
const btVector3 impulse 
)
static

◆ cutLink() [1/2]

bool btSoftBody::cutLink ( const Node node0,
const Node node1,
btScalar  position 
)

Definition at line 1959 of file btSoftBody.cpp.

References cutLink(), and m_nodes.

◆ cutLink() [2/2]

bool btSoftBody::cutLink ( int  node0,
int  node1,
btScalar  position 
)

◆ dampClusters()

void btSoftBody::dampClusters ( )

◆ defaultCollisionHandler() [1/2]

void btSoftBody::defaultCollisionHandler ( btSoftBody psb)

◆ defaultCollisionHandler() [2/2]

void btSoftBody::defaultCollisionHandler ( const btCollisionObjectWrapper pcoWrap)

Definition at line 4052 of file btSoftBody.cpp.

References ATTRIBUTE_ALIGNED16, btTransform, btVector3, btSoftBody::fCollision::CL_RS, CO_FEATHERSTONE_LINK, CO_RIGID_BODY, btDbvt::collideTV(), btSoftBody::Config::collisions, btSoftColliders::CollideSDF_RS::dynmargin, btSoftColliders::CollideSDF_RD::dynmargin, btSoftColliders::CollideSDF_RDF::dynmargin, btDbvtAabbMm::FromMM(), btCollisionObjectWrapper::getCollisionObject(), getCollisionShape(), btCollisionObjectWrapper::getCollisionShape(), btCollisionObjectWrapper::getWorldTransform(), isActive(), blender::math::length(), m_cfg, btSoftColliders::CollideSDF_RS::m_colObj1Wrap, btSoftColliders::CollideSDF_RD::m_colObj1Wrap, btSoftColliders::CollideSDF_RDF::m_colObj1Wrap, m_fdbvt, m_ndbvt, btSoftColliders::CollideSDF_RS::m_rigidBody, btSoftColliders::CollideSDF_RD::m_rigidBody, btSoftColliders::CollideSDF_RDF::m_rigidBody, btDbvt::m_root, btSoftColliders::CollideCL_RS::ProcessColObj(), btSoftColliders::CollideSDF_RS::psb, btSoftColliders::CollideSDF_RD::psb, btSoftColliders::CollideSDF_RDF::psb, btSoftBody::fCollision::RVSmask, btSoftBody::fCollision::SDF_MDF, btSoftBody::fCollision::SDF_RD, btSoftBody::fCollision::SDF_RDF, btSoftBody::fCollision::SDF_RDN, btSoftBody::fCollision::SDF_RS, btSoftColliders::CollideSDF_RS::stamargin, btSoftColliders::CollideSDF_RD::stamargin, btSoftColliders::CollideSDF_RDF::stamargin, and btRigidBody::upcast().

Referenced by btSoftMultiBodyDynamicsWorld::internalSingleStepSimulation(), btSoftRigidDynamicsWorld::internalSingleStepSimulation(), btDefaultSoftBodySolver::processCollision(), btDeformableBodySolver::processCollision(), and btDeformableMultiBodyDynamicsWorld::softBodySelfCollision().

◆ evaluateCom()

btVector3 btSoftBody::evaluateCom ( ) const

◆ generateBendingConstraints()

int btSoftBody::generateBendingConstraints ( int  distance,
Material mat = 0 
)

◆ generateClusters()

int btSoftBody::generateClusters ( int  k,
int  maxiterations = 8192 
)

◆ geometricCollisionHandler()

void btSoftBody::geometricCollisionHandler ( btSoftBody psb)

◆ getAabb()

virtual void btSoftBody::getAabb ( btVector3 aabbMin,
btVector3 aabbMax 
) const
inlinevirtual

Definition at line 1145 of file btSoftBody.h.

References m_bounds.

Referenced by btSoftBodyTriangleCallback::setTimeStepAndCounters().

◆ getCenterOfMass()

btVector3 btSoftBody::getCenterOfMass ( ) const
inline

◆ getLinearVelocity()

btVector3 btSoftBody::getLinearVelocity ( )

◆ getMass()

btScalar btSoftBody::getMass ( int  node) const

Definition at line 926 of file btSoftBody.cpp.

References m_nodes, and node.

Referenced by getCenterOfMass(), getTotalMass(), and refine().

◆ getRestLengthScale()

btScalar btSoftBody::getRestLengthScale ( )

Definition at line 1160 of file btSoftBody.cpp.

References m_restLengthScale.

◆ getRigidTransform()

btTransform btSoftBody::getRigidTransform ( )

◆ getSoftBodySolver() [1/2]

btSoftBodySolver* btSoftBody::getSoftBodySolver ( )
inline

◆ getSoftBodySolver() [2/2]

btSoftBodySolver* btSoftBody::getSoftBodySolver ( ) const
inline

Definition at line 1119 of file btSoftBody.h.

References m_softBodySolver.

◆ getSolver() [1/2]

btSoftBody::psolver_t btSoftBody::getSolver ( ePSolver::_  solver)
static

◆ getSolver() [2/2]

btSoftBody::vsolver_t btSoftBody::getSolver ( eVSolver::_  solver)
static

Definition at line 4028 of file btSoftBody.cpp.

References btSoftBody::eVSolver::Linear, and VSolve_Links().

◆ getTotalMass()

btScalar btSoftBody::getTotalMass ( ) const

◆ getVolume()

btScalar btSoftBody::getVolume ( ) const

◆ getWindVelocity()

const btVector3 & btSoftBody::getWindVelocity ( )

Return the wind velocity for interaction with the air.

Definition at line 4291 of file btSoftBody.cpp.

References m_windVelocity.

◆ getWorldInfo()

btSoftBodyWorldInfo* btSoftBody::getWorldInfo ( )
inline

◆ indicesToPointers()

void btSoftBody::indicesToPointers ( const int *  map = 0)

Definition at line 2440 of file btSoftBody.cpp.

References IDX2PTR, m_anchors, m_faces, m_links, m_n, m_node, m_nodes, m_notes, and btAlignedObjectArray< T >::size().

Referenced by appendNode().

◆ initDefaults()

void btSoftBody::initDefaults ( )

for now, create a collision shape internally

Definition at line 170 of file btSoftBody.cpp.

References btSoftBody::Config::aeromodel, btVector3, btSoftBody::Config::citerations, CO_SOFT_BODY, btSoftBody::Config::collisions, btSoftBody::fCollision::Default, btSoftBody::Config::diterations, btSoftBody::Config::drag, btSoftBody::Config::kAHR, btSoftBody::Config::kCHR, btSoftBody::Config::kDF, btSoftBody::Config::kDG, btSoftBody::Config::kDP, btSoftBody::Config::kKHR, btSoftBody::Config::kLF, btSoftBody::Config::kMT, btSoftBody::Config::kPR, btSoftBody::Config::kSHR, btSoftBody::Config::kSK_SPLT_CL, btSoftBody::Config::kSKHR_CL, btSoftBody::Config::kSR_SPLT_CL, btSoftBody::Config::kSRHR_CL, btSoftBody::Config::kSS_SPLT_CL, btSoftBody::Config::kSSHR_CL, btSoftBody::Config::kVC, btSoftBody::Config::kVCF, btSoftBody::Pose::m_bframe, m_bounds, m_bUpdateRtCst, btSoftBody::Pose::m_bvolume, m_cfg, m_collisionFlags, m_collisionShape, btSoftBody::Pose::m_com, m_dampingCoefficient, m_fdbvnt, m_gravityFactor, m_internalType, m_maxSpeedSquared, btSoftBody::Config::m_maxStress, m_pose, m_repulsionStiffness, m_restLengthScale, btSoftBody::Pose::m_rot, btSoftBody::Pose::m_scl, m_sleepingThreshold, m_softSoftCollision, m_tag, m_timeacc, m_useSelfCollision, btSoftBody::Pose::m_volume, m_windVelocity, m_worldTransform, btSoftBody::Config::maxvolume, btSoftBody::Config::piterations, btSoftBody::eSolverPresets::Positions, setSolver(), btSoftBody::Config::timescale, btSoftBody::eAeroModel::V_Point, and btSoftBody::Config::viterations.

Referenced by btSoftBody().

◆ initializeClusters()

void btSoftBody::initializeClusters ( )

◆ initializeDmInverse()

void btSoftBody::initializeDmInverse ( )

◆ initializeFaceTree()

void btSoftBody::initializeFaceTree ( )

◆ integrateMotion()

void btSoftBody::integrateMotion ( )

Definition at line 2329 of file btSoftBody.cpp.

References updateNormals().

Referenced by btDefaultSoftBodySolver::updateSoftBodies().

◆ interpolateRenderMesh()

void btSoftBody::interpolateRenderMesh ( )

◆ pointersToIndices()

void btSoftBody::pointersToIndices ( )

Definition at line 2397 of file btSoftBody.cpp.

References m_anchors, m_faces, m_links, m_n, m_node, m_nodes, m_notes, PTR2IDX, and btAlignedObjectArray< T >::size().

Referenced by appendNode().

◆ predictMotion()

void btSoftBody::predictMotion ( btScalar  dt)

◆ prepareClusters()

void btSoftBody::prepareClusters ( int  iterations)

◆ PSolve_Anchors()

void btSoftBody::PSolve_Anchors ( btSoftBody psb,
btScalar  kst,
btScalar  ti 
)
static

◆ PSolve_Links()

void btSoftBody::PSolve_Links ( btSoftBody psb,
btScalar  kst,
btScalar  ti 
)
static

◆ PSolve_RContacts()

void btSoftBody::PSolve_RContacts ( btSoftBody psb,
btScalar  kst,
btScalar  ti 
)
static

◆ PSolve_SContacts()

void btSoftBody::PSolve_SContacts ( btSoftBody psb,
btScalar  ,
btScalar  ti 
)
static

◆ randomizeConstraints()

void btSoftBody::randomizeConstraints ( )

◆ rayFaceTest() [1/2]

int btSoftBody::rayFaceTest ( const btVector3 rayFrom,
const btVector3 rayTo,
btScalar mint,
int &  index 
) const

◆ rayFaceTest() [2/2]

bool btSoftBody::rayFaceTest ( const btVector3 rayFrom,
const btVector3 rayTo,
sRayCast results 
)

◆ rayTest() [1/2]

int btSoftBody::rayTest ( const btVector3 rayFrom,
const btVector3 rayTo,
btScalar mint,
eFeature::_ feature,
int &  index,
bool  bcountonly 
) const

◆ rayTest() [2/2]

bool btSoftBody::rayTest ( const btVector3 rayFrom,
const btVector3 rayTo,
sRayCast results 
)

◆ rebuildNodeTree()

void btSoftBody::rebuildNodeTree ( )

◆ refine()

void btSoftBody::refine ( ImplicitFn ifn,
btScalar  accurary,
bool  cut 
)

◆ releaseCluster()

void btSoftBody::releaseCluster ( int  index)

◆ releaseClusters()

void btSoftBody::releaseClusters ( )

Definition at line 1496 of file btSoftBody.cpp.

References m_clusters, releaseCluster(), and btAlignedObjectArray< T >::size().

Referenced by generateClusters(), and ~btSoftBody().

◆ removeAnchor()

void btSoftBody::removeAnchor ( int  node)

Definition at line 562 of file btSoftBody.cpp.

References Freestyle::c, m_deformableAnchors, m_nodes, and node.

◆ resetLinkRestLengths()

void btSoftBody::resetLinkRestLengths ( )

Definition at line 1229 of file btSoftBody.cpp.

References l, blender::math::length(), m_links, and btAlignedObjectArray< T >::size().

Referenced by updateConstants().

◆ rotate()

void btSoftBody::rotate ( const btQuaternion rot)

Definition at line 1130 of file btSoftBody.cpp.

References btTransform, rot, t, and transform().

◆ scale()

void btSoftBody::scale ( const btVector3 scl)

◆ serialize()

const char * btSoftBody::serialize ( void dataBuffer,
class btSerializer serializer 
) const
virtual

fills the dataBuffer and returns the struct name (and 0 on failure)

Definition at line 4303 of file btSoftBody.cpp.

References btSoftBody::Config::aeromodel, btSerializer::allocate(), BT_ARRAY_CODE, BT_JOINT_COLLISION_OBJECT, BT_JOINT_RIGID_BODY, BT_JOINT_SOFT_BODY_CLUSTER, BT_SBMATERIAL_CODE, BT_SBNODE_CODE, btAssert, btRigidBodyData, btSoftBodyData, btSoftBodyDataName, btVector3Data, btSoftBody::Config::citerations, btSoftBody::Config::collisions, btSoftBody::Config::diterations, btSerializer::finalizeChunk(), btHashMap< Key, Value >::find(), btSerializer::findPointer(), float(), btSerializer::getUniquePointer(), btHashMap< Key, Value >::insert(), btSoftBody::Config::kAHR, btSoftBody::Config::kCHR, btSoftBody::Config::kDF, btSoftBody::Config::kDG, btSoftBody::Config::kDP, btSoftBody::Config::kKHR, btSoftBody::Config::kLF, btSoftBody::Config::kMT, btSoftBody::Config::kPR, btSoftBody::Config::kSHR, btSoftBody::Config::kSK_SPLT_CL, btSoftBody::Config::kSKHR_CL, btSoftBody::Config::kSR_SPLT_CL, btSoftBody::Config::kSRHR_CL, btSoftBody::Config::kSS_SPLT_CL, btSoftBody::Config::kSSHR_CL, btSoftBody::Config::kVC, btSoftBody::Config::kVCF, SoftBodyNodeData::m_accumulatedForce, SoftBodyClusterData::m_adamping, m_anchors, SoftBodyMaterialData::m_angularStiffness, btSoftBody::Pose::m_aqq, SoftBodyPoseData::m_aqq, SoftBodyNodeData::m_area, SoftBodyNodeData::m_attach, SoftBodyClusterData::m_av, SoftBodyLinkData::m_bbending, btSoftBody::Pose::m_bframe, SoftBodyPoseData::m_bframe, btSoftBodyJointData::m_bodyA, btSoftBodyJointData::m_bodyAtype, btSoftBodyJointData::m_bodyB, btSoftBodyJointData::m_bodyBtype, btSoftBody::Pose::m_bvolume, SoftBodyPoseData::m_bvolume, SoftBodyTetraData::m_c0, SoftRigidAnchorData::m_c0, SoftBodyTetraData::m_c1, SoftRigidAnchorData::m_c1, SoftBodyTetraData::m_c2, SoftRigidAnchorData::m_c2, m_cfg, btSoftBodyJointData::m_cfm, SoftBodyClusterData::m_clusterIndex, m_clusters, SoftBodyClusterData::m_collide, btSoftBody::Pose::m_com, SoftBodyPoseData::m_com, SoftBodyClusterData::m_com, SoftBodyClusterData::m_containsAnchor, btSoftBodyJointData::m_delete, SoftBodyClusterData::m_dimpulses, m_erp, btSoftBodyJointData::m_erp, m_faces, btSoftBody::Material::m_flags, SoftBodyMaterialData::m_flags, btVector3FloatData::m_floats, SoftBodyClusterData::m_framerefs, SoftBodyClusterData::m_framexform, SoftBodyClusterData::m_idmass, SoftBodyClusterData::m_imass, SoftBodyNodeData::m_inverseMass, SoftBodyClusterData::m_invwi, m_joints, btSoftBodyJointData::m_jointType, btSoftBody::Material::m_kAST, btSoftBody::Material::m_kLST, btSoftBody::Material::m_kVST, SoftBodyClusterData::m_ldamping, SoftBodyMaterialData::m_linearStiffness, m_links, SoftRigidAnchorData::m_localFrame, SoftBodyClusterData::m_locii, SoftBodyClusterData::m_lv, SoftBodyClusterData::m_masses, SoftBodyClusterData::m_matching, SoftBodyNodeData::m_material, SoftBodyLinkData::m_material, SoftBodyFaceData::m_material, SoftBodyTetraData::m_material, m_materials, SoftBodyClusterData::m_maxSelfCollisionImpulse, SoftBodyClusterData::m_ndamping, SoftBodyClusterData::m_ndimpulses, SoftRigidAnchorData::m_nodeIndex, SoftBodyLinkData::m_nodeIndices, SoftBodyFaceData::m_nodeIndices, SoftBodyTetraData::m_nodeIndices, SoftBodyClusterData::m_nodeIndices, m_nodes, SoftBodyNodeData::m_normal, SoftBodyFaceData::m_normal, SoftBodyClusterData::m_numFrameRefs, SoftBodyClusterData::m_numMasses, SoftBodyClusterData::m_numNodes, SoftBodyPoseData::m_numPositions, SoftBodyPoseData::m_numWeigts, SoftBodyClusterData::m_nvimpulses, btChunk::m_oldPtr, btSoftBody::Pose::m_pos, m_pose, SoftBodyNodeData::m_position, SoftBodyPoseData::m_positions, SoftBodyNodeData::m_previousPosition, btSoftBodyJointData::m_refs, btSoftBodyJointData::m_relPosition, SoftBodyFaceData::m_restArea, SoftBodyLinkData::m_restLength, SoftBodyTetraData::m_restVolume, SoftBodyPoseData::m_restVolume, SoftRigidAnchorData::m_rigidBody, btSoftBody::Pose::m_rot, SoftBodyPoseData::m_rot, SoftBodyPoseData::m_scale, btSoftBody::Pose::m_scl, SoftBodyClusterData::m_selfCollisionImpulseFactor, btSoftBodyJointData::m_split, m_tetras, SoftBodyNodeData::m_velocity, SoftBodyClusterData::m_vimpulses, btSoftBody::Pose::m_volume, SoftBodyMaterialData::m_volumeStiffness, SoftBodyPoseData::m_weights, btSoftBody::Pose::m_wgh, btSoftBody::Config::maxvolume, btSoftBody::Config::piterations, serialize(), btAlignedObjectArray< T >::size(), btSoftBody::Config::timescale, and btSoftBody::Config::viterations.

◆ setAngularVelocity()

void btSoftBody::setAngularVelocity ( const btVector3 angVel)

◆ setCollisionQuadrature()

void btSoftBody::setCollisionQuadrature ( int  N)

Definition at line 3828 of file btSoftBody.cpp.

References btVector3, m_quads, N, and btAlignedObjectArray< T >::push_back().

Referenced by btSoftBody().

◆ setCollisionShape()

virtual void btSoftBody::setCollisionShape ( btCollisionShape collisionShape)
inlinevirtual
Todo:
: avoid internal softbody shape hack and move collision code to collision library

Definition at line 873 of file btSoftBody.h.

◆ setDampingCoefficient()

void btSoftBody::setDampingCoefficient ( btScalar  damping_coeff)
inline

Definition at line 867 of file btSoftBody.h.

References m_dampingCoefficient.

◆ setGravityFactor()

void btSoftBody::setGravityFactor ( btScalar  gravFactor)

Definition at line 3443 of file btSoftBody.cpp.

References m_gravityFactor.

◆ setLinearVelocity()

void btSoftBody::setLinearVelocity ( const btVector3 linVel)

◆ setMass()

void btSoftBody::setMass ( int  node,
btScalar  mass 
)

◆ setMaxStress()

void btSoftBody::setMaxStress ( btScalar  maxStress)

Definition at line 3785 of file btSoftBody.cpp.

References m_cfg, and btSoftBody::Config::m_maxStress.

◆ setPose()

void btSoftBody::setPose ( bool  bvolume,
bool  bframe 
)

◆ setRestLengthScale()

void btSoftBody::setRestLengthScale ( btScalar  restLength)

◆ setSelfCollision()

void btSoftBody::setSelfCollision ( bool  useSelfCollision)

Definition at line 4041 of file btSoftBody.cpp.

References m_useSelfCollision, and useSelfCollision().

◆ setSoftBodySolver()

void btSoftBody::setSoftBodySolver ( btSoftBodySolver softBodySolver)
inline

◆ setSolver()

void btSoftBody::setSolver ( eSolverPresets::_  preset)

◆ setSpringStiffness()

void btSoftBody::setSpringStiffness ( btScalar  k)

Definition at line 3434 of file btSoftBody.cpp.

References m_links, m_repulsionStiffness, and btAlignedObjectArray< T >::size().

◆ setTotalDensity()

void btSoftBody::setTotalDensity ( btScalar  density)

Definition at line 979 of file btSoftBody.cpp.

References usdtokens::density(), getVolume(), and setTotalMass().

◆ setTotalMass()

void btSoftBody::setTotalMass ( btScalar  mass,
bool  fromfaces = false 
)

◆ setVelocity()

void btSoftBody::setVelocity ( const btVector3 velocity)

◆ setVolumeDensity()

void btSoftBody::setVolumeDensity ( btScalar  density)

◆ setVolumeMass()

void btSoftBody::setVolumeMass ( btScalar  mass)

◆ setWindVelocity()

void btSoftBody::setWindVelocity ( const btVector3 velocity)

Set a wind velocity for interaction with the air.

Definition at line 4286 of file btSoftBody.cpp.

References m_windVelocity.

◆ setZeroVelocity()

void btSoftBody::setZeroVelocity ( )

◆ solveClusters() [1/2]

void btSoftBody::solveClusters ( btScalar  sor)

◆ solveClusters() [2/2]

void btSoftBody::solveClusters ( const btAlignedObjectArray< btSoftBody * > &  bodies)
static

◆ solveCommonConstraints()

void btSoftBody::solveCommonConstraints ( btSoftBody **  bodies,
int  count,
int  iterations 
)
static

placeholder

Definition at line 2294 of file btSoftBody.cpp.

◆ solveConstraints()

void btSoftBody::solveConstraints ( )

◆ staticSolve()

void btSoftBody::staticSolve ( int  iterations)

◆ transform()

void btSoftBody::transform ( const btTransform trs)

◆ transformTo()

void btSoftBody::transformTo ( const btTransform trs)

Definition at line 1089 of file btSoftBody.cpp.

References btTransform, getRigidTransform(), and transform().

◆ translate()

void btSoftBody::translate ( const btVector3 trs)

Definition at line 1121 of file btSoftBody.cpp.

References btTransform, t, and transform().

◆ upcast() [1/2]

static btSoftBody* btSoftBody::upcast ( btCollisionObject colObj)
inlinestatic

Definition at line 1134 of file btSoftBody.h.

References CO_SOFT_BODY.

◆ upcast() [2/2]

static const btSoftBody* btSoftBody::upcast ( const btCollisionObject colObj)
inlinestatic

◆ updateArea()

void btSoftBody::updateArea ( bool  averageArea = true)

◆ updateBounds()

void btSoftBody::updateBounds ( )

◆ updateClusters()

void btSoftBody::updateClusters ( )

◆ updateConstants()

void btSoftBody::updateConstants ( )

◆ updateDeactivation()

void btSoftBody::updateDeactivation ( btScalar  timeStep)

◆ updateDeformation()

void btSoftBody::updateDeformation ( )

◆ updateFace()

template<class DBVTNODE >
void btSoftBody::updateFace ( DBVTNODE *  node,
bool  use_velocity,
bool  margin 
)
inline

◆ updateFaceTree()

void btSoftBody::updateFaceTree ( bool  use_velocity,
bool  margin 
)
inline

◆ updateLinkConstants()

void btSoftBody::updateLinkConstants ( )

Definition at line 3122 of file btSoftBody.cpp.

References l, btSoftBody::Material::m_kLST, m_links, and btAlignedObjectArray< T >::size().

Referenced by updateConstants().

◆ updateNode()

void btSoftBody::updateNode ( btDbvtNode node,
bool  use_velocity,
bool  margin 
)
inline

◆ updateNodeTree()

void btSoftBody::updateNodeTree ( bool  use_velocity,
bool  margin 
)
inline

Definition at line 1227 of file btSoftBody.h.

References m_ndbvt, btDbvt::m_root, and updateNode().

Referenced by btDeformableBodySolver::predictDeformableMotion().

◆ updateNormals()

void btSoftBody::updateNormals ( )

◆ updatePose()

void btSoftBody::updatePose ( )

◆ useSelfCollision()

bool btSoftBody::useSelfCollision ( )

◆ VSolve_Links()

void btSoftBody::VSolve_Links ( btSoftBody psb,
btScalar  kst 
)
static

◆ wantsSleeping()

bool btSoftBody::wantsSleeping ( )

Member Data Documentation

◆ __pad0__

Link btSoftBody::__pad0__

Definition at line 281 of file btSoftBody.h.

◆ m_anchors

tAnchorArray btSoftBody::m_anchors

◆ m_bbending

int btSoftBody::m_bbending

Definition at line 286 of file btSoftBody.h.

◆ m_bounds

btVector3 btSoftBody::m_bounds[2]

◆ m_bUpdateRtCst

bool btSoftBody::m_bUpdateRtCst

◆ m_c0

btScalar btSoftBody::m_c0

Definition at line 287 of file btSoftBody.h.

◆ m_c1

btScalar btSoftBody::m_c1

Definition at line 288 of file btSoftBody.h.

◆ m_c2

btScalar btSoftBody::m_c2

Definition at line 289 of file btSoftBody.h.

◆ m_cdbvt

btDbvt btSoftBody::m_cdbvt

◆ m_cfg

Config btSoftBody::m_cfg

◆ m_clusterConnectivity

btAlignedObjectArray<bool> btSoftBody::m_clusterConnectivity

Definition at line 838 of file btSoftBody.h.

Referenced by generateClusters(), and btSoftColliders::CollideCL_SS::Process().

◆ m_clusters

tClusterArray btSoftBody::m_clusters

◆ m_collisionDisabledObjects

btAlignedObjectArray<const class btCollisionObject*> btSoftBody::m_collisionDisabledObjects

Definition at line 77 of file btSoftBody.h.

Referenced by appendAnchor(), and btSoftRigidCollisionAlgorithm::processCollision().

◆ m_dampingCoefficient

btScalar btSoftBody::m_dampingCoefficient

Definition at line 824 of file btSoftBody.h.

Referenced by initDefaults(), and setDampingCoefficient().

◆ m_deformableAnchors

btAlignedObjectArray<DeformableNodeRigidAnchor> btSoftBody::m_deformableAnchors

◆ m_faceNodeContacts

btAlignedObjectArray<DeformableFaceNodeContact> btSoftBody::m_faceNodeContacts

◆ m_faceRigidContacts

btAlignedObjectArray<DeformableFaceRigidContact> btSoftBody::m_faceRigidContacts

◆ m_faces

tFaceArray btSoftBody::m_faces

◆ m_fdbvnt

btDbvntNode* btSoftBody::m_fdbvnt

◆ m_fdbvt

btDbvt btSoftBody::m_fdbvt

◆ m_gravityFactor

btScalar btSoftBody::m_gravityFactor

◆ m_joints

tJointArray btSoftBody::m_joints

◆ m_links

tLinkArray btSoftBody::m_links

◆ m_materials

tMaterialArray btSoftBody::m_materials

◆ m_maxSpeedSquared

btScalar btSoftBody::m_maxSpeedSquared

◆ m_n

Node* btSoftBody::m_n[2]

◆ m_ndbvt

btDbvt btSoftBody::m_ndbvt

◆ m_nodeRigidContacts

btAlignedObjectArray<DeformableNodeRigidContact> btSoftBody::m_nodeRigidContacts

◆ m_nodes

tNodeArray btSoftBody::m_nodes

Definition at line 799 of file btSoftBody.h.

Referenced by addAeroForceToNode(), addForce(), btDeformableLinearElasticityForce::addScaledDampingForce(), btDeformableLinearElasticityForce::addScaledDampingForceDifferential(), btDeformableGravityForce::addScaledGravityForce(), btDeformableLinearElasticityForce::addScaledHessian(), addVelocity(), appendAnchor(), appendDeformableAnchor(), appendFace(), appendLink(), appendNode(), appendTetra(), applyClusters(), btDeformableBackwardEulerObjective::applyExplicitForce(), btDeformableBackwardEulerObjective::applyForce(), applyForces(), btDeformableBodySolver::backupVelocity(), btSoftBody(), KKTPreconditioner::buildDiagonalA(), btDeformableBackwardEulerObjective::calculateContactForce(), checkFace(), checkLink(), btDefaultSoftBodySolver::copySoftBodyToVertexBuffer(), btSoftBodyHelpers::CreateFromTetGenData(), btSoftBodyHelpers::CreateFromVtkFile(), cutLink(), btSoftBodyHelpers::Draw(), btSoftBodyHelpers::DrawInfos(), evaluateCom(), generateBendingConstraints(), btSoftBodyHelpers::generateBoundaryFaces(), generateClusters(), getCenterOfMass(), getLinearVelocity(), getMass(), getRigidTransform(), getTotalMass(), getVolume(), indicesToPointers(), btDeformableBackwardEulerObjective::initialGuess(), btDeformableMultiBodyDynamicsWorld::integrateTransforms(), btDeformableBodySolver::kineticEnergy(), btDeformableBackwardEulerObjective::multiply(), btDeformableMultiBodyDynamicsWorld::performGeometricCollisions(), pointersToIndices(), btDeformableBodySolver::predictDeformableMotion(), predictMotion(), btDeformableBodySolver::predictMotion(), rebuildNodeTree(), refine(), MassPreconditioner::reinitialize(), KKTPreconditioner::reinitialize(), btDeformableBackwardEulerObjective::reinitialize(), removeAnchor(), btSoftBodyHelpers::ReoptimizeLinkOrder(), btDeformableBodySolver::revertVelocity(), scale(), serialize(), setAngularVelocity(), btDeformableContactProjection::setConstraints(), setLinearVelocity(), setMass(), setPose(), setTotalMass(), btDeformableBodySolver::setupDeformableSolve(), setVelocity(), setVolumeMass(), setZeroVelocity(), solveConstraints(), btDeformableBodySolver::solveDeformableConstraints(), btDeformableLagrangianForce::testDerivative(), btDeformableLagrangianForce::testHessian(), btDeformableLinearElasticityForce::totalDampingEnergy(), btDeformableMassSpringForce::totalDampingEnergy(), btDeformableNeoHookeanForce::totalDampingEnergy(), btDeformableGravityForce::totalEnergy(), transform(), updateArea(), updateBounds(), btDeformableBackwardEulerObjective::updateId(), updateNormals(), updatePose(), btDeformableBodySolver::updateTempPosition(), btDeformableBodySolver::updateVelocity(), btDeformableBackwardEulerObjective::updateVelocity(), and btSoftBodyHelpers::writeObj().

◆ m_notes

tNoteArray btSoftBody::m_notes

◆ m_pose

Pose btSoftBody::m_pose

◆ m_quads

btAlignedObjectArray<btVector3> btSoftBody::m_quads

Definition at line 827 of file btSoftBody.h.

Referenced by checkDeformableFaceContact(), and setCollisionQuadrature().

◆ m_rcontacts

tRContactArray btSoftBody::m_rcontacts

◆ m_renderFaces

tFaceArray btSoftBody::m_renderFaces

Definition at line 803 of file btSoftBody.h.

◆ m_renderNodes

tNodeArray btSoftBody::m_renderNodes

◆ m_renderNodesInterpolationWeights

btAlignedObjectArray<btVector4> btSoftBody::m_renderNodesInterpolationWeights

◆ m_renderNodesParents

btAlignedObjectArray<btAlignedObjectArray<const btSoftBody::Node*> > btSoftBody::m_renderNodesParents

◆ m_repulsionStiffness

btScalar btSoftBody::m_repulsionStiffness

Definition at line 828 of file btSoftBody.h.

Referenced by applyRepulsionForce(), initDefaults(), and setSpringStiffness().

◆ m_restLengthScale

btScalar btSoftBody::m_restLengthScale

Definition at line 842 of file btSoftBody.h.

Referenced by getRestLengthScale(), initDefaults(), and setRestLengthScale().

◆ m_rl

btScalar btSoftBody::m_rl

Definition at line 285 of file btSoftBody.h.

◆ m_scontacts

tSContactArray btSoftBody::m_scontacts

◆ m_sleepingThreshold

btScalar btSoftBody::m_sleepingThreshold

Definition at line 825 of file btSoftBody.h.

Referenced by initDefaults(), and updateDeactivation().

◆ m_softBodySolver

btSoftBodySolver* btSoftBody::m_softBodySolver

Definition at line 80 of file btSoftBody.h.

Referenced by getSoftBodySolver(), and setSoftBodySolver().

◆ m_softSoftCollision

bool btSoftBody::m_softSoftCollision

Definition at line 836 of file btSoftBody.h.

Referenced by defaultCollisionHandler(), and initDefaults().

◆ m_sst

SolverState btSoftBody::m_sst

◆ m_tag

void* btSoftBody::m_tag

Definition at line 796 of file btSoftBody.h.

Referenced by initDefaults().

◆ m_tetras

tTetraArray btSoftBody::m_tetras

◆ m_tetraScratches

btAlignedObjectArray<TetraScratch> btSoftBody::m_tetraScratches

◆ m_tetraScratchesTn

btAlignedObjectArray<TetraScratch> btSoftBody::m_tetraScratchesTn

◆ m_timeacc

btScalar btSoftBody::m_timeacc

Definition at line 816 of file btSoftBody.h.

Referenced by initDefaults().

◆ m_userIndexMapping

btAlignedObjectArray<int> btSoftBody::m_userIndexMapping

Definition at line 860 of file btSoftBody.h.

◆ m_useSelfCollision

bool btSoftBody::m_useSelfCollision

Definition at line 835 of file btSoftBody.h.

Referenced by initDefaults(), setSelfCollision(), and useSelfCollision().

◆ m_windVelocity

btVector3 btSoftBody::m_windVelocity

Definition at line 840 of file btSoftBody.h.

Referenced by applyForces(), getWindVelocity(), initDefaults(), and setWindVelocity().

◆ m_worldInfo

btSoftBodyWorldInfo* btSoftBody::m_worldInfo

◆ m_X

btAlignedObjectArray<btVector3> btSoftBody::m_X

Definition at line 830 of file btSoftBody.h.

Referenced by btSoftBody(), and getRigidTransform().

◆ m_z

btAlignedObjectArray<btScalar> btSoftBody::m_z

The documentation for this class was generated from the following files: