The btSoftBody is an class to simulate cloth and volumetric soft bodies. More...
#include <btSoftBody.h>
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 () |
btSoftBodyWorldInfo * | getWorldInfo () |
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 |
Material * | appendMaterial () |
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, btScalar influence=1) |
void | appendAnchor (int node, btRigidBody *body, const btVector3 &localPivot, bool disableCollisionBetweenLinkedBodies=false, btScalar influence=1) |
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) |
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 |
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) |
generateClusters with k=0 will create a convex cluster for each tetrahedron or triangle otherwise an approximation will be used (better performance) | |
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 (const btCollisionObjectWrapper *pcoWrap) |
void | defaultCollisionHandler (btSoftBody *psb) |
void | setWindVelocity (const btVector3 &velocity) |
Set a wind velocity for interaction with the air. | |
const btVector3 & | getWindVelocity () |
Return the wind velocity for interaction with the air. | |
void | setSoftBodySolver (btSoftBodySolver *softBodySolver) |
btSoftBodySolver * | getSoftBodySolver () |
btSoftBodySolver * | getSoftBodySolver () 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 (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 | 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 btSoftBody * | upcast (const btCollisionObject *colObj) |
static btSoftBody * | upcast (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< const class btCollisionObject * > | m_collisionDisabledObjects |
btSoftBodySolver * | m_softBodySolver |
Config | m_cfg |
SolverState | m_sst |
Pose | m_pose |
void * | m_tag |
btSoftBodyWorldInfo * | m_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 |
btScalar | m_restLengthScale |
btAlignedObjectArray< int > | m_userIndexMapping |
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.
typedef void(* btSoftBody::psolver_t)(btSoftBody *, btScalar, btScalar) |
Definition at line 626 of file btSoftBody.h.
Definition at line 635 of file btSoftBody.h.
Definition at line 628 of file btSoftBody.h.
Definition at line 633 of file btSoftBody.h.
typedef btAlignedObjectArray<Joint*> btSoftBody::tJointArray |
Definition at line 639 of file btSoftBody.h.
Definition at line 631 of file btSoftBody.h.
Definition at line 632 of file btSoftBody.h.
Definition at line 638 of file btSoftBody.h.
Definition at line 630 of file btSoftBody.h.
Definition at line 629 of file btSoftBody.h.
Definition at line 127 of file btSoftBody.h.
Definition at line 636 of file btSoftBody.h.
Definition at line 179 of file btSoftBody.h.
Definition at line 637 of file btSoftBody.h.
Definition at line 640 of file btSoftBody.h.
Definition at line 634 of file btSoftBody.h.
Definition at line 180 of file btSoftBody.h.
Definition at line 126 of file btSoftBody.h.
typedef void(* btSoftBody::vsolver_t)(btSoftBody *, btScalar) |
Definition at line 627 of file btSoftBody.h.
btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo, | |
int | node_count, | |||
const btVector3 * | x, | |||
const btScalar * | m | |||
) |
btSoftBody implementation by Nathanael Presson
Definition at line 24 of file btSoftBody.cpp.
btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo | ) |
Definition at line 55 of file btSoftBody.cpp.
btSoftBody::~btSoftBody | ( | ) | [virtual] |
Definition at line 117 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToFace | ( | const btVector3 & | windVelocity, | |
int | faceIndex | |||
) |
Definition at line 545 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToNode | ( | const btVector3 & | windVelocity, | |
int | nodeIndex | |||
) |
Definition at line 456 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force | ) |
Definition at line 441 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force, | |
int | node | |||
) |
Definition at line 447 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 642 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity, | |
int | node | |||
) |
Definition at line 662 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, | |
btRigidBody * | body, | |||
const btVector3 & | localPivot, | |||
bool | disableCollisionBetweenLinkedBodies = false , |
|||
btScalar | influence = 1 | |||
) |
Definition at line 368 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, | |
btRigidBody * | body, | |||
bool | disableCollisionBetweenLinkedBodies = false , |
|||
btScalar | influence = 1 | |||
) |
Definition at line 361 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, | |
Body | body = Body() | |||
) |
Definition at line 429 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, | |
btSoftBody * | body | |||
) |
Definition at line 435 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, | |
Cluster * | body0, | |||
Body | body1 | |||
) |
Definition at line 414 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | model = -1 , |
|
Material * | mat = 0 | |||
) |
Definition at line 297 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | node0, | |
int | node1, | |||
int | node2, | |||
Material * | mat = 0 | |||
) |
Definition at line 308 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, | |
Cluster * | body0, | |||
Body | body1 | |||
) |
Definition at line 388 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, | |
Body | body = Body() | |||
) |
Definition at line 402 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, | |
btSoftBody * | body | |||
) |
Definition at line 408 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | model = -1 , |
|
Material * | mat = 0 | |||
) |
Definition at line 260 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | node0, | |
int | node1, | |||
Material * | mat = 0 , |
|||
bool | bcheckexist = false | |||
) |
Definition at line 271 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | Node * | node0, | |
Node * | node1, | |||
Material * | mat = 0 , |
|||
bool | bcheckexist = false | |||
) |
Definition at line 280 of file btSoftBody.cpp.
btSoftBody::Material * btSoftBody::appendMaterial | ( | ) |
Definition at line 174 of file btSoftBody.cpp.
Definition at line 240 of file btSoftBody.cpp.
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 | |||
) |
Definition at line 186 of file btSoftBody.cpp.
Definition at line 211 of file btSoftBody.cpp.
Definition at line 219 of file btSoftBody.cpp.
Definition at line 229 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | model, | |
Material * | mat | |||
) |
Definition at line 332 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | node0, | |
int | node1, | |||
int | node2, | |||
int | node3, | |||
Material * | mat = 0 | |||
) |
Definition at line 343 of file btSoftBody.cpp.
void btSoftBody::applyClusters | ( | bool | drift | ) |
Definition at line 2671 of file btSoftBody.cpp.
void btSoftBody::applyForces | ( | ) |
Definition at line 2917 of file btSoftBody.cpp.
int btSoftBody::calculateSerializeBufferSize | ( | ) | const [virtual] |
Reimplemented from btCollisionObject.
Definition at line 3239 of file btSoftBody.cpp.
bool btSoftBody::checkContact | ( | const btCollisionObjectWrapper * | colObjWrap, | |
const btVector3 & | x, | |||
btScalar | margin, | |||
btSoftBody::sCti & | cti | |||
) | const |
Definition at line 2230 of file btSoftBody.cpp.
bool btSoftBody::checkFace | ( | int | node0, | |
int | node1, | |||
int | node2 | |||
) | const |
Definition at line 153 of file btSoftBody.cpp.
Definition at line 137 of file btSoftBody.cpp.
bool btSoftBody::checkLink | ( | int | node0, | |
int | node1 | |||
) | const |
Definition at line 131 of file btSoftBody.cpp.
void btSoftBody::cleanupClusters | ( | ) |
Definition at line 2638 of file btSoftBody.cpp.
Definition at line 1017 of file btSoftBody.cpp.
Definition at line 951 of file btSoftBody.cpp.
btVector3 btSoftBody::clusterCom | ( | int | cluster | ) | const |
Definition at line 962 of file btSoftBody.cpp.
int btSoftBody::clusterCount | ( | ) | const |
Definition at line 945 of file btSoftBody.cpp.
Definition at line 1009 of file btSoftBody.cpp.
Definition at line 1024 of file btSoftBody.cpp.
void btSoftBody::clusterDImpulse | ( | Cluster * | cluster, | |
const btVector3 & | rpos, | |||
const btVector3 & | impulse | |||
) | [static] |
Definition at line 984 of file btSoftBody.cpp.
void btSoftBody::clusterImpulse | ( | Cluster * | cluster, | |
const btVector3 & | rpos, | |||
const Impulse & | impulse | |||
) | [static] |
Definition at line 994 of file btSoftBody.cpp.
Definition at line 1001 of file btSoftBody.cpp.
Definition at line 968 of file btSoftBody.cpp.
void btSoftBody::clusterVImpulse | ( | Cluster * | cluster, | |
const btVector3 & | rpos, | |||
const btVector3 & | impulse | |||
) | [static] |
Definition at line 974 of file btSoftBody.cpp.
bool btSoftBody::cutLink | ( | int | node0, | |
int | node1, | |||
btScalar | position | |||
) |
Definition at line 1642 of file btSoftBody.cpp.
Definition at line 1636 of file btSoftBody.cpp.
void btSoftBody::dampClusters | ( | ) |
Definition at line 2722 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | const btCollisionObjectWrapper * | pcoWrap | ) |
Definition at line 3135 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | btSoftBody * | psb | ) |
Definition at line 3176 of file btSoftBody.cpp.
btVector3 btSoftBody::evaluateCom | ( | ) | const |
Definition at line 2216 of file btSoftBody.cpp.
int btSoftBody::generateBendingConstraints | ( | int | distance, | |
Material * | mat = 0 | |||
) |
generic Floyd's algorithm
Definition at line 1038 of file btSoftBody.cpp.
int btSoftBody::generateClusters | ( | int | k, | |
int | maxiterations = 8192 | |||
) |
generateClusters with k=0 will create a convex cluster for each tetrahedron or triangle otherwise an approximation will be used (better performance)
Definition at line 1192 of file btSoftBody.cpp.
virtual void btSoftBody::getAabb | ( | btVector3 & | aabbMin, | |
btVector3 & | aabbMax | |||
) | const [inline, virtual] |
Definition at line 946 of file btSoftBody.h.
btScalar btSoftBody::getMass | ( | int | node | ) | const |
Definition at line 679 of file btSoftBody.cpp.
btScalar btSoftBody::getRestLengthScale | ( | ) |
Definition at line 844 of file btSoftBody.cpp.
btSoftBodySolver* btSoftBody::getSoftBodySolver | ( | ) | [inline] |
Definition at line 911 of file btSoftBody.h.
btSoftBodySolver* btSoftBody::getSoftBodySolver | ( | ) | const [inline] |
Definition at line 919 of file btSoftBody.h.
btSoftBody::psolver_t btSoftBody::getSolver | ( | ePSolver::_ | solver | ) | [static] |
Definition at line 3102 of file btSoftBody.cpp.
btSoftBody::vsolver_t btSoftBody::getSolver | ( | eVSolver::_ | solver | ) | [static] |
Definition at line 3122 of file btSoftBody.cpp.
btScalar btSoftBody::getTotalMass | ( | ) | const |
Definition at line 685 of file btSoftBody.cpp.
btScalar btSoftBody::getVolume | ( | ) | const |
Definition at line 926 of file btSoftBody.cpp.
const btVector3 & btSoftBody::getWindVelocity | ( | ) |
Return the wind velocity for interaction with the air.
Definition at line 3232 of file btSoftBody.cpp.
btSoftBodyWorldInfo* btSoftBody::getWorldInfo | ( | ) | [inline] |
Definition at line 695 of file btSoftBody.h.
void btSoftBody::indicesToPointers | ( | const int * | map = 0 |
) |
Definition at line 2082 of file btSoftBody.cpp.
void btSoftBody::initDefaults | ( | ) |
for now, create a collision shape internally
Definition at line 62 of file btSoftBody.cpp.
void btSoftBody::initializeClusters | ( | ) |
Definition at line 2454 of file btSoftBody.cpp.
void btSoftBody::initializeFaceTree | ( | ) |
Definition at line 2205 of file btSoftBody.cpp.
void btSoftBody::integrateMotion | ( | ) |
Definition at line 1972 of file btSoftBody.cpp.
void btSoftBody::pointersToIndices | ( | ) |
Definition at line 2039 of file btSoftBody.cpp.
void btSoftBody::predictMotion | ( | btScalar | dt | ) |
Definition at line 1739 of file btSoftBody.cpp.
void btSoftBody::prepareClusters | ( | int | iterations | ) |
Definition at line 2652 of file btSoftBody.cpp.
void btSoftBody::PSolve_Anchors | ( | btSoftBody * | psb, | |
btScalar | kst, | |||
btScalar | ti | |||
) | [static] |
Definition at line 2986 of file btSoftBody.cpp.
void btSoftBody::PSolve_Links | ( | btSoftBody * | psb, | |
btScalar | kst, | |||
btScalar | ti | |||
) | [static] |
Definition at line 3067 of file btSoftBody.cpp.
void btSoftBody::PSolve_RContacts | ( | btSoftBody * | psb, | |
btScalar | kst, | |||
btScalar | ti | |||
) | [static] |
Definition at line 3006 of file btSoftBody.cpp.
void btSoftBody::PSolve_SContacts | ( | btSoftBody * | psb, | |
btScalar | , | |||
btScalar | ti | |||
) | [static] |
Definition at line 3034 of file btSoftBody.cpp.
void btSoftBody::randomizeConstraints | ( | ) |
Definition at line 1158 of file btSoftBody.cpp.
Ray casting using rayFrom and rayTo in worldspace, (not direction!).
Definition at line 1697 of file btSoftBody.cpp.
int btSoftBody::rayTest | ( | const btVector3 & | rayFrom, | |
const btVector3 & | rayTo, | |||
btScalar & | mint, | |||
eFeature::_ & | feature, | |||
int & | index, | |||
bool | bcountonly | |||
) | const |
Definition at line 2126 of file btSoftBody.cpp.
void btSoftBody::refine | ( | ImplicitFn * | ifn, | |
btScalar | accurary, | |||
bool | cut | |||
) |
Definition at line 1385 of file btSoftBody.cpp.
void btSoftBody::releaseCluster | ( | int | index | ) |
Definition at line 1176 of file btSoftBody.cpp.
void btSoftBody::releaseClusters | ( | ) |
Definition at line 1186 of file btSoftBody.cpp.
void btSoftBody::resetLinkRestLengths | ( | ) |
Definition at line 915 of file btSoftBody.cpp.
void btSoftBody::rotate | ( | const btQuaternion & | rot | ) |
Definition at line 815 of file btSoftBody.cpp.
void btSoftBody::scale | ( | const btVector3 & | scl | ) |
Definition at line 824 of file btSoftBody.cpp.
const char * btSoftBody::serialize | ( | void * | dataBuffer, | |
class btSerializer * | serializer | |||
) | const [virtual] |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btCollisionObject.
Definition at line 3246 of file btSoftBody.cpp.
virtual void btSoftBody::setCollisionShape | ( | btCollisionShape * | collisionShape | ) | [inline, virtual] |
Reimplemented from btCollisionObject.
Definition at line 701 of file btSoftBody.h.
void btSoftBody::setMass | ( | int | node, | |
btScalar | mass | |||
) |
Definition at line 672 of file btSoftBody.cpp.
void btSoftBody::setPose | ( | bool | bvolume, | |
bool | bframe | |||
) |
Definition at line 865 of file btSoftBody.cpp.
void btSoftBody::setRestLengthScale | ( | btScalar | restLength | ) |
Definition at line 850 of file btSoftBody.cpp.
void btSoftBody::setSoftBodySolver | ( | btSoftBodySolver * | softBodySolver | ) | [inline] |
Definition at line 903 of file btSoftBody.h.
void btSoftBody::setSolver | ( | eSolverPresets::_ | preset | ) |
Definition at line 1713 of file btSoftBody.cpp.
void btSoftBody::setTotalDensity | ( | btScalar | density | ) |
Definition at line 733 of file btSoftBody.cpp.
void btSoftBody::setTotalMass | ( | btScalar | mass, | |
bool | fromfaces = false | |||
) |
Definition at line 696 of file btSoftBody.cpp.
void btSoftBody::setVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 648 of file btSoftBody.cpp.
void btSoftBody::setVolumeDensity | ( | btScalar | density | ) |
Definition at line 769 of file btSoftBody.cpp.
void btSoftBody::setVolumeMass | ( | btScalar | mass | ) |
Definition at line 739 of file btSoftBody.cpp.
void btSoftBody::setWindVelocity | ( | const btVector3 & | velocity | ) |
Set a wind velocity for interaction with the air.
Definition at line 3226 of file btSoftBody.cpp.
void btSoftBody::solveClusters | ( | const btAlignedObjectArray< btSoftBody * > & | bodies | ) | [static] |
Definition at line 1943 of file btSoftBody.cpp.
void btSoftBody::solveClusters | ( | btScalar | sor | ) |
Definition at line 2662 of file btSoftBody.cpp.
void btSoftBody::solveCommonConstraints | ( | btSoftBody ** | bodies, | |
int | count, | |||
int | iterations | |||
) | [static] |
placeholder
Definition at line 1937 of file btSoftBody.cpp.
void btSoftBody::solveConstraints | ( | ) |
Definition at line 1831 of file btSoftBody.cpp.
void btSoftBody::staticSolve | ( | int | iterations | ) |
Definition at line 1925 of file btSoftBody.cpp.
void btSoftBody::transform | ( | const btTransform & | trs | ) |
Definition at line 784 of file btSoftBody.cpp.
void btSoftBody::translate | ( | const btVector3 & | trs | ) |
Definition at line 806 of file btSoftBody.cpp.
static btSoftBody* btSoftBody::upcast | ( | btCollisionObject * | colObj | ) | [inline, static] |
Definition at line 935 of file btSoftBody.h.
static const btSoftBody* btSoftBody::upcast | ( | const btCollisionObject * | colObj | ) | [inline, static] |
Definition at line 929 of file btSoftBody.h.
void btSoftBody::updateArea | ( | bool | averageArea = true |
) |
Definition at line 2366 of file btSoftBody.cpp.
void btSoftBody::updateBounds | ( | ) |
Definition at line 2288 of file btSoftBody.cpp.
void btSoftBody::updateClusters | ( | ) |
Definition at line 2520 of file btSoftBody.cpp.
void btSoftBody::updateConstants | ( | ) |
Definition at line 2444 of file btSoftBody.cpp.
void btSoftBody::updateLinkConstants | ( | ) |
Definition at line 2431 of file btSoftBody.cpp.
void btSoftBody::updateNormals | ( | ) |
Definition at line 2259 of file btSoftBody.cpp.
void btSoftBody::updatePose | ( | ) |
Definition at line 2330 of file btSoftBody.cpp.
void btSoftBody::VSolve_Links | ( | btSoftBody * | psb, | |
btScalar | kst | |||
) | [static] |
Definition at line 3089 of file btSoftBody.cpp.
Definition at line 656 of file btSoftBody.h.
Definition at line 662 of file btSoftBody.h.
Definition at line 663 of file btSoftBody.h.
Definition at line 666 of file btSoftBody.h.
Definition at line 646 of file btSoftBody.h.
Definition at line 669 of file btSoftBody.h.
Definition at line 667 of file btSoftBody.h.
Definition at line 72 of file btSoftBody.h.
Definition at line 654 of file btSoftBody.h.
Definition at line 665 of file btSoftBody.h.
Definition at line 671 of file btSoftBody.h.
Definition at line 659 of file btSoftBody.h.
Definition at line 653 of file btSoftBody.h.
Definition at line 660 of file btSoftBody.h.
Definition at line 664 of file btSoftBody.h.
Definition at line 652 of file btSoftBody.h.
Definition at line 651 of file btSoftBody.h.
Definition at line 648 of file btSoftBody.h.
Definition at line 657 of file btSoftBody.h.
Definition at line 675 of file btSoftBody.h.
Definition at line 658 of file btSoftBody.h.
Definition at line 75 of file btSoftBody.h.
Definition at line 647 of file btSoftBody.h.
void* btSoftBody::m_tag |
Definition at line 649 of file btSoftBody.h.
Definition at line 655 of file btSoftBody.h.
Definition at line 661 of file btSoftBody.h.
Definition at line 693 of file btSoftBody.h.
Definition at line 673 of file btSoftBody.h.
Definition at line 650 of file btSoftBody.h.