Blender V2.61 - r43446
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes

btSoftBody Class Reference

#include <btSoftBody.h>

List of all members.

Classes

struct  AJoint
struct  Anchor
struct  Body
struct  CJoint
struct  Cluster
struct  Config
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  Link
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

Public Types

typedef btAlignedObjectArray
< eVSolver::_
tVSolverArray
typedef btAlignedObjectArray
< ePSolver::_
tPSolverArray
typedef btAlignedObjectArray
< btScalar
tScalarArray
typedef btAlignedObjectArray
< btVector3 > 
tVector3Array
typedef void(* psolver_t )(btSoftBody *, btScalar, btScalar)
typedef void(* vsolver_t )(btSoftBody *, btScalar)
typedef btAlignedObjectArray
< Cluster * > 
tClusterArray
typedef btAlignedObjectArray
< Note
tNoteArray
typedef btAlignedObjectArray
< Node
tNodeArray
typedef btAlignedObjectArray
< btDbvtNode * > 
tLeafArray
typedef btAlignedObjectArray
< Link
tLinkArray
typedef btAlignedObjectArray
< Face
tFaceArray
typedef btAlignedObjectArray
< Tetra
tTetraArray
typedef btAlignedObjectArray
< Anchor
tAnchorArray
typedef btAlignedObjectArray
< RContact
tRContactArray
typedef btAlignedObjectArray
< SContact
tSContactArray
typedef btAlignedObjectArray
< Material * > 
tMaterialArray
typedef btAlignedObjectArray
< Joint * > 
tJointArray
typedef btAlignedObjectArray
< btSoftBody * > 
tSoftBodyArray

Public Member Functions

 btSoftBody (btSoftBodyWorldInfo *worldInfo, int node_count, const btVector3 *x, const btScalar *m)
 btSoftBody implementation by Nathanael Presson
 btSoftBody (btSoftBodyWorldInfo *worldInfo)
void initDefaults ()
virtual ~btSoftBody ()
btSoftBodyWorldInfogetWorldInfo ()
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 appendAnchor (int node, btRigidBody *body, bool disableCollisionBetweenLinkedBodies=false)
void appendAnchor (int node, btRigidBody *body, const btVector3 &localPivot, bool disableCollisionBetweenLinkedBodies=false)
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 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)
void transform (const btTransform &trs)
void translate (const btVector3 &trs)
void rotate (const btQuaternion &rot)
void scale (const btVector3 &scl)
void setPose (bool bvolume, bool bframe)
btScalar getVolume () 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!)
void setSolver (eSolverPresets::_ preset)
void predictMotion (btScalar dt)
void solveConstraints ()
void staticSolve (int iterations)
void integrateMotion ()
void defaultCollisionHandler (btCollisionObject *pco)
void defaultCollisionHandler (btSoftBody *psb)
void setWindVelocity (const btVector3 &velocity)
const btVector3 & getWindVelocity ()
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 ()
btVector3 evaluateCom () const
bool checkContact (btCollisionObject *colObj, const btVector3 &x, btScalar margin, btSoftBody::sCti &cti) const
void updateNormals ()
void updateBounds ()
void updatePose ()
void updateConstants ()
void initializeClusters ()
void updateClusters ()
void cleanupClusters ()
void prepareClusters (int iterations)
void solveClusters (btScalar sor)
void applyClusters (bool drift)
void dampClusters ()
void applyForces ()
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)

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)

Public Attributes

btAlignedObjectArray< class
btCollisionObject * > 
m_collisionDisabledObjects
btSoftBodySolverm_softBodySolver
Config m_cfg
SolverState m_sst
Pose m_pose
void * m_tag
btSoftBodyWorldInfom_worldInfo
tNoteArray m_notes
tNodeArray m_nodes
tLinkArray m_links
tFaceArray m_faces
tTetraArray m_tetras
tAnchorArray m_anchors
tRContactArray m_rcontacts
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
btDbvt m_cdbvt
tClusterArray m_clusters
btAlignedObjectArray< bool > m_clusterConnectivity
btTransform m_initialWorldTransform
btVector3 m_windVelocity
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 69 of file btSoftBody.h.


Member Typedef Documentation

Definition at line 622 of file btSoftBody.h.

Definition at line 631 of file btSoftBody.h.

Definition at line 624 of file btSoftBody.h.

Definition at line 629 of file btSoftBody.h.

Definition at line 635 of file btSoftBody.h.

Definition at line 627 of file btSoftBody.h.

Definition at line 628 of file btSoftBody.h.

Definition at line 634 of file btSoftBody.h.

Definition at line 626 of file btSoftBody.h.

Definition at line 625 of file btSoftBody.h.

Definition at line 124 of file btSoftBody.h.

Definition at line 632 of file btSoftBody.h.

Definition at line 176 of file btSoftBody.h.

Definition at line 633 of file btSoftBody.h.

Definition at line 636 of file btSoftBody.h.

Definition at line 630 of file btSoftBody.h.

Definition at line 177 of file btSoftBody.h.

Definition at line 123 of file btSoftBody.h.

Definition at line 623 of file btSoftBody.h.


Constructor & Destructor Documentation

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

Definition at line 54 of file btSoftBody.cpp.

References initDefaults().

btSoftBody::~btSoftBody ( ) [virtual]

Member Function Documentation

void btSoftBody::addForce ( const btVector3 &  force)

Definition at line 439 of file btSoftBody.cpp.

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

Referenced by CcdPhysicsController::ApplyForce().

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

Definition at line 445 of file btSoftBody.cpp.

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

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

Definition at line 475 of file btSoftBody.cpp.

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

void btSoftBody::addVelocity ( const btVector3 &  velocity)

Definition at line 455 of file btSoftBody.cpp.

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

Referenced by predictMotion().

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

Definition at line 360 of file btSoftBody.cpp.

References m_nodes.

Referenced by CcdPhysicsEnvironment::createConstraint().

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

Definition at line 427 of file btSoftBody.cpp.

References appendAngularJoint(), and m_clusters.

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

Definition at line 433 of file btSoftBody.cpp.

References appendAngularJoint(), and m_clusters.

void btSoftBody::appendAngularJoint ( const AJoint::Specs specs,
Cluster body0,
Body  body1 
)
void btSoftBody::appendFace ( int  model = -1,
Material mat = 0 
)
void btSoftBody::appendFace ( int  node0,
int  node1,
int  node2,
Material mat = 0 
)
void btSoftBody::appendLinearJoint ( const LJoint::Specs specs,
Cluster body0,
Body  body1 
)
void btSoftBody::appendLinearJoint ( const LJoint::Specs specs,
Body  body = Body() 
)

Definition at line 400 of file btSoftBody.cpp.

References appendLinearJoint(), and m_clusters.

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

Definition at line 406 of file btSoftBody.cpp.

References appendLinearJoint(), and m_clusters.

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

Definition at line 270 of file btSoftBody.cpp.

References appendLink(), and m_nodes.

void btSoftBody::appendLink ( Node node0,
Node node1,
Material mat = 0,
bool  bcheckexist = false 
)
btSoftBody::Material * btSoftBody::appendMaterial ( )
void btSoftBody::appendNode ( const btVector3 &  x,
btScalar  m 
)
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 
)
void btSoftBody::appendNote ( const char *  text,
const btVector3 &  o,
Node feature 
)

Definition at line 210 of file btSoftBody.cpp.

References appendNote().

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

Definition at line 218 of file btSoftBody.cpp.

References appendNote(), btSoftBody::Link::m_n, and simple_enum_gen::w.

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

Definition at line 228 of file btSoftBody.cpp.

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

void btSoftBody::appendTetra ( int  model,
Material mat 
)
void btSoftBody::appendTetra ( int  node0,
int  node1,
int  node2,
int  node3,
Material mat = 0 
)
void btSoftBody::applyClusters ( bool  drift)
void btSoftBody::applyForces ( )
int btSoftBody::calculateSerializeBufferSize ( ) const [virtual]

Definition at line 3008 of file btSoftBody.cpp.

References btSoftBodyData.

bool btSoftBody::checkContact ( btCollisionObject *  colObj,
const btVector3 &  x,
btScalar  margin,
btSoftBody::sCti cti 
) const
bool btSoftBody::checkFace ( int  node0,
int  node1,
int  node2 
) const
bool btSoftBody::checkLink ( const Node node0,
const Node node1 
) const

Definition at line 136 of file btSoftBody.cpp.

References i, m_links, btSoftBody::Link::m_n, and btAlignedObjectArray< T >::size().

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

Definition at line 130 of file btSoftBody.cpp.

References m_nodes.

Referenced by appendLink().

void btSoftBody::cleanupClusters ( )
void btSoftBody::clusterAImpulse ( Cluster cluster,
const Impulse impulse 
) [static]
btVector3 btSoftBody::clusterCom ( const Cluster cluster) [static]
btVector3 btSoftBody::clusterCom ( int  cluster) const

Definition at line 743 of file btSoftBody.cpp.

References clusterCom(), and m_clusters.

int btSoftBody::clusterCount ( ) const

Definition at line 726 of file btSoftBody.cpp.

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

void btSoftBody::clusterDAImpulse ( Cluster cluster,
const btVector3 &  impulse 
) [static]
void btSoftBody::clusterDCImpulse ( Cluster cluster,
const btVector3 &  impulse 
) [static]
void btSoftBody::clusterDImpulse ( Cluster cluster,
const btVector3 &  rpos,
const btVector3 &  impulse 
) [static]
void btSoftBody::clusterImpulse ( Cluster cluster,
const btVector3 &  rpos,
const Impulse impulse 
) [static]
void btSoftBody::clusterVAImpulse ( Cluster cluster,
const btVector3 &  impulse 
) [static]
btVector3 btSoftBody::clusterVelocity ( const Cluster cluster,
const btVector3 &  rpos 
) [static]

Definition at line 749 of file btSoftBody.cpp.

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

void btSoftBody::clusterVImpulse ( Cluster cluster,
const btVector3 &  rpos,
const btVector3 &  impulse 
) [static]
bool btSoftBody::cutLink ( const Node node0,
const Node node1,
btScalar  position 
)

Definition at line 1417 of file btSoftBody.cpp.

References cutLink(), and m_nodes.

bool btSoftBody::cutLink ( int  node0,
int  node1,
btScalar  position 
)
void btSoftBody::dampClusters ( )
void btSoftBody::defaultCollisionHandler ( btCollisionObject *  pco)
void btSoftBody::defaultCollisionHandler ( btSoftBody psb)
btVector3 btSoftBody::evaluateCom ( ) const
int btSoftBody::generateBendingConstraints ( int  distance,
Material mat = 0 
)
int btSoftBody::generateClusters ( int  k,
int  maxiterations = 8192 
)
virtual void btSoftBody::getAabb ( btVector3 &  aabbMin,
btVector3 &  aabbMax 
) const [inline, virtual]
btScalar btSoftBody::getMass ( int  node) const

Definition at line 492 of file btSoftBody.cpp.

References m_nodes.

Referenced by getTotalMass(), and refine().

btSoftBodySolver* btSoftBody::getSoftBodySolver ( ) [inline]
btSoftBodySolver* btSoftBody::getSoftBodySolver ( ) const [inline]

Definition at line 900 of file btSoftBody.h.

References m_softBodySolver.

btSoftBody::psolver_t btSoftBody::getSolver ( ePSolver::_  solver) [static]
btSoftBody::vsolver_t btSoftBody::getSolver ( eVSolver::_  solver) [static]

Definition at line 2891 of file btSoftBody.cpp.

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

btScalar btSoftBody::getTotalMass ( ) const

Definition at line 498 of file btSoftBody.cpp.

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

Referenced by setPose(), and setTotalMass().

btScalar btSoftBody::getVolume ( ) const
const btVector3 & btSoftBody::getWindVelocity ( )

Return the wind velocity for interaction with the air.

Definition at line 3001 of file btSoftBody.cpp.

References m_windVelocity.

btSoftBodyWorldInfo* btSoftBody::getWorldInfo ( ) [inline]

Definition at line 688 of file btSoftBody.h.

References m_worldInfo.

Referenced by btSoftBodyTriangleCallback::clearCache().

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

Definition at line 1863 of file btSoftBody.cpp.

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

Referenced by appendNode().

void btSoftBody::initDefaults ( )
void btSoftBody::initializeClusters ( )
void btSoftBody::initializeFaceTree ( )
void btSoftBody::integrateMotion ( )

Definition at line 1753 of file btSoftBody.cpp.

References updateNormals().

Referenced by btDefaultSoftBodySolver::updateSoftBodies().

void btSoftBody::pointersToIndices ( )

Definition at line 1820 of file btSoftBody.cpp.

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

Referenced by appendNode().

void btSoftBody::predictMotion ( btScalar  dt)
void btSoftBody::prepareClusters ( int  iterations)
void btSoftBody::PSolve_Anchors ( btSoftBody psb,
btScalar  kst,
btScalar  ti 
) [static]
void btSoftBody::PSolve_Links ( btSoftBody psb,
btScalar  kst,
btScalar  ti 
) [static]
void btSoftBody::PSolve_RContacts ( btSoftBody psb,
btScalar  kst,
btScalar  ti 
) [static]
void btSoftBody::PSolve_SContacts ( btSoftBody psb,
btScalar  ,
btScalar  ti 
) [static]
void btSoftBody::randomizeConstraints ( )
bool btSoftBody::rayTest ( const btVector3 &  rayFrom,
const btVector3 &  rayTo,
sRayCast results 
)
int btSoftBody::rayTest ( const btVector3 &  rayFrom,
const btVector3 &  rayTo,
btScalar mint,
eFeature::_ feature,
int &  index,
bool  bcountonly 
) const
void btSoftBody::refine ( ImplicitFn ifn,
btScalar  accurary,
bool  cut 
)
void btSoftBody::releaseCluster ( int  index)
void btSoftBody::releaseClusters ( )

Definition at line 967 of file btSoftBody.cpp.

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

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

void btSoftBody::rotate ( const btQuaternion rot)
void btSoftBody::scale ( const btVector3 &  scl)
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 3015 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(), btSerializer::getUniquePointer(), i, 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, SoftBodyPoseData::m_aqq, SoftBodyNodeData::m_area, SoftBodyNodeData::m_attach, SoftBodyClusterData::m_av, SoftBodyLinkData::m_bbending, SoftBodyPoseData::m_bframe, btSoftBodyJointData::m_bodyA, btSoftBodyJointData::m_bodyAtype, btSoftBodyJointData::m_bodyB, btSoftBodyJointData::m_bodyBtype, SoftBodyPoseData::m_bvolume, SoftRigidAnchorData::m_c0, SoftBodyTetraData::m_c0, SoftRigidAnchorData::m_c1, SoftBodyTetraData::m_c1, SoftRigidAnchorData::m_c2, SoftBodyTetraData::m_c2, m_cfg, btSoftBodyJointData::m_cfm, SoftBodyClusterData::m_clusterIndex, m_clusters, SoftBodyClusterData::m_collide, SoftBodyClusterData::m_com, SoftBodyPoseData::m_com, SoftBodyClusterData::m_containsAnchor, btSoftBodyJointData::m_delete, SoftBodyClusterData::m_dimpulses, btSoftBodyJointData::m_erp, m_faces, 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, SoftBodyClusterData::m_ldamping, SoftBodyMaterialData::m_linearStiffness, m_links, SoftRigidAnchorData::m_localFrame, SoftBodyClusterData::m_locii, SoftBodyClusterData::m_lv, SoftBodyClusterData::m_masses, SoftBodyClusterData::m_matching, SoftBodyLinkData::m_material, SoftBodyFaceData::m_material, SoftBodyTetraData::m_material, SoftBodyNodeData::m_material, m_materials, SoftBodyClusterData::m_maxSelfCollisionImpulse, SoftBodyClusterData::m_ndamping, SoftBodyClusterData::m_ndimpulses, SoftRigidAnchorData::m_nodeIndex, SoftBodyFaceData::m_nodeIndices, SoftBodyTetraData::m_nodeIndices, SoftBodyLinkData::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, m_pose, SoftBodyNodeData::m_position, SoftBodyPoseData::m_positions, SoftBodyNodeData::m_previousPosition, btSoftBodyJointData::m_refs, btSoftBodyJointData::m_relPosition, SoftBodyFaceData::m_restArea, SoftBodyLinkData::m_restLength, SoftBodyPoseData::m_restVolume, SoftBodyTetraData::m_restVolume, SoftRigidAnchorData::m_rigidBody, SoftBodyPoseData::m_rot, SoftBodyPoseData::m_scale, SoftBodyClusterData::m_selfCollisionImpulseFactor, btSoftBodyJointData::m_split, m_tetras, SoftBodyNodeData::m_velocity, SoftBodyClusterData::m_vimpulses, SoftBodyMaterialData::m_volumeStiffness, SoftBodyPoseData::m_weights, btSoftBody::Config::maxvolume, btSoftBody::Config::piterations, btAlignedObjectArray< T >::size(), btSoftBody::Config::timescale, and btSoftBody::Config::viterations.

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

Definition at line 694 of file btSoftBody.h.

void btSoftBody::setMass ( int  node,
btScalar  mass 
)
void btSoftBody::setPose ( bool  bvolume,
bool  bframe 
)
void btSoftBody::setSoftBodySolver ( btSoftBodySolver softBodySolver) [inline]

Definition at line 884 of file btSoftBody.h.

References m_softBodySolver.

Referenced by btSoftRigidDynamicsWorld::addSoftBody().

void btSoftBody::setSolver ( eSolverPresets::_  preset)
void btSoftBody::setTotalDensity ( btScalar  density)

Definition at line 546 of file btSoftBody.cpp.

References getVolume(), and setTotalMass().

void btSoftBody::setTotalMass ( btScalar  mass,
bool  fromfaces = false 
)
void btSoftBody::setVelocity ( const btVector3 &  velocity)
void btSoftBody::setVolumeDensity ( btScalar  density)
void btSoftBody::setVolumeMass ( btScalar  mass)
void btSoftBody::setWindVelocity ( const btVector3 &  velocity)

Set a wind velocity for interaction with the air.

Definition at line 2995 of file btSoftBody.cpp.

References m_windVelocity.

void btSoftBody::solveClusters ( const btAlignedObjectArray< btSoftBody * > &  bodies) [static]
void btSoftBody::solveClusters ( btScalar  sor)
void btSoftBody::solveCommonConstraints ( btSoftBody **  bodies,
int  count,
int  iterations 
) [static]

placeholder

Definition at line 1718 of file btSoftBody.cpp.

void btSoftBody::solveConstraints ( )
void btSoftBody::staticSolve ( int  iterations)
void btSoftBody::transform ( const btTransform trs)
void btSoftBody::translate ( const btVector3 &  trs)

Definition at line 619 of file btSoftBody.cpp.

References btTransform::setIdentity(), btTransform::setOrigin(), and transform().

static btSoftBody* btSoftBody::upcast ( btCollisionObject *  colObj) [inline, static]

Definition at line 916 of file btSoftBody.h.

static const btSoftBody* btSoftBody::upcast ( const btCollisionObject *  colObj) [inline, static]
void btSoftBody::updateBounds ( )
void btSoftBody::updateClusters ( )
void btSoftBody::updateConstants ( )
void btSoftBody::updateNormals ( )
void btSoftBody::updatePose ( )
void btSoftBody::VSolve_Links ( btSoftBody psb,
btScalar  kst 
) [static]

Member Data Documentation

btVector3 btSoftBody::m_bounds[2]

Definition at line 665 of file btSoftBody.h.

Referenced by generateClusters().

Definition at line 72 of file btSoftBody.h.

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

Definition at line 667 of file btSoftBody.h.

Referenced by CcdPhysicsEnvironment::createConstraint(), initDefaults(), and transform().

Definition at line 653 of file btSoftBody.h.

Referenced by btSoftBodyHelpers::Draw(), predictMotion(), and PSolve_RContacts().

Definition at line 654 of file btSoftBody.h.

Referenced by predictMotion(), and PSolve_SContacts().

Definition at line 75 of file btSoftBody.h.

Referenced by getSoftBodySolver(), and setSoftBodySolver().

Definition at line 645 of file btSoftBody.h.

Referenced by initDefaults().

Definition at line 657 of file btSoftBody.h.

Referenced by initDefaults().

Definition at line 686 of file btSoftBody.h.

Definition at line 669 of file btSoftBody.h.

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

Definition at line 646 of file btSoftBody.h.

Referenced by applyForces(), checkContact(), getWorldInfo(), predictMotion(), and updateBounds().


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