The btSoftBody is an class to simulate cloth and volumetric soft bodies. More...
#include <btSoftBody.h>


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 49 of file btSoftBody.h.
| typedef void(* btSoftBody::psolver_t)(btSoftBody *, btScalar, btScalar) |
Definition at line 595 of file btSoftBody.h.
Definition at line 604 of file btSoftBody.h.
Definition at line 597 of file btSoftBody.h.
Definition at line 602 of file btSoftBody.h.
| typedef btAlignedObjectArray<Joint*> btSoftBody::tJointArray |
Definition at line 608 of file btSoftBody.h.
Definition at line 600 of file btSoftBody.h.
Definition at line 601 of file btSoftBody.h.
Definition at line 607 of file btSoftBody.h.
Definition at line 599 of file btSoftBody.h.
Definition at line 598 of file btSoftBody.h.
Definition at line 101 of file btSoftBody.h.
Definition at line 605 of file btSoftBody.h.
Definition at line 153 of file btSoftBody.h.
Definition at line 606 of file btSoftBody.h.
Definition at line 609 of file btSoftBody.h.
Definition at line 603 of file btSoftBody.h.
Definition at line 154 of file btSoftBody.h.
Definition at line 100 of file btSoftBody.h.
| typedef void(* btSoftBody::vsolver_t)(btSoftBody *, btScalar) |
Definition at line 596 of file btSoftBody.h.
| btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo, | |
| int | node_count, | |||
| const btVector3 * | x, | |||
| const btScalar * | m | |||
| ) |
btSoftBody implementation by Nathanael Presson
for now, create a collision shape internally
Definition at line 20 of file btSoftBody.cpp.
| btSoftBody::~btSoftBody | ( | ) | [virtual] |
Definition at line 94 of file btSoftBody.cpp.
| void btSoftBody::addForce | ( | const btVector3 & | force, | |
| int | node | |||
| ) |
Definition at line 415 of file btSoftBody.cpp.
| void btSoftBody::addForce | ( | const btVector3 & | force | ) |
Definition at line 409 of file btSoftBody.cpp.
| void btSoftBody::addVelocity | ( | const btVector3 & | velocity, | |
| int | node | |||
| ) |
Definition at line 445 of file btSoftBody.cpp.
| void btSoftBody::addVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 425 of file btSoftBody.cpp.
| void btSoftBody::appendAnchor | ( | int | node, | |
| btRigidBody * | body, | |||
| bool | disableCollisionBetweenLinkedBodies = false | |||
| ) |
Definition at line 337 of file btSoftBody.cpp.
| void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, | |
| btSoftBody * | body | |||
| ) |
Definition at line 403 of file btSoftBody.cpp.
| void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, | |
| Body | body = Body() | |||
| ) |
Definition at line 397 of file btSoftBody.cpp.
| void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, | |
| Cluster * | body0, | |||
| Body | body1 | |||
| ) |
Definition at line 382 of file btSoftBody.cpp.
| void btSoftBody::appendFace | ( | int | node0, | |
| int | node1, | |||
| int | node2, | |||
| Material * | mat = 0 | |||
| ) |
Definition at line 285 of file btSoftBody.cpp.
| void btSoftBody::appendFace | ( | int | model = -1, |
|
| Material * | mat = 0 | |||
| ) |
Definition at line 274 of file btSoftBody.cpp.
| void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, | |
| btSoftBody * | body | |||
| ) |
Definition at line 376 of file btSoftBody.cpp.
| void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, | |
| Body | body = Body() | |||
| ) |
Definition at line 370 of file btSoftBody.cpp.
| void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, | |
| Cluster * | body0, | |||
| Body | body1 | |||
| ) |
Definition at line 356 of file btSoftBody.cpp.
| void btSoftBody::appendLink | ( | Node * | node0, | |
| Node * | node1, | |||
| Material * | mat = 0, |
|||
| bool | bcheckexist = false | |||
| ) |
Definition at line 257 of file btSoftBody.cpp.
| void btSoftBody::appendLink | ( | int | node0, | |
| int | node1, | |||
| Material * | mat = 0, |
|||
| bool | bcheckexist = false | |||
| ) |
Definition at line 248 of file btSoftBody.cpp.
| void btSoftBody::appendLink | ( | int | model = -1, |
|
| Material * | mat = 0 | |||
| ) |
Definition at line 237 of file btSoftBody.cpp.
| btSoftBody::Material * btSoftBody::appendMaterial | ( | ) |
Definition at line 151 of file btSoftBody.cpp.
Definition at line 217 of file btSoftBody.cpp.
Definition at line 206 of file btSoftBody.cpp.
Definition at line 196 of file btSoftBody.cpp.
Definition at line 188 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 163 of file btSoftBody.cpp.
| void btSoftBody::appendTetra | ( | int | node0, | |
| int | node1, | |||
| int | node2, | |||
| int | node3, | |||
| Material * | mat = 0 | |||
| ) |
Definition at line 320 of file btSoftBody.cpp.
| void btSoftBody::appendTetra | ( | int | model, | |
| Material * | mat | |||
| ) |
Definition at line 309 of file btSoftBody.cpp.
| void btSoftBody::applyClusters | ( | bool | drift | ) |
Definition at line 2327 of file btSoftBody.cpp.
| void btSoftBody::applyForces | ( | ) |
Definition at line 2570 of file btSoftBody.cpp.
| bool btSoftBody::checkContact | ( | btCollisionObject * | colObj, | |
| const btVector3 & | x, | |||
| btScalar | margin, | |||
| btSoftBody::sCti & | cti | |||
| ) | const |
Definition at line 1946 of file btSoftBody.cpp.
| bool btSoftBody::checkFace | ( | int | node0, | |
| int | node1, | |||
| int | node2 | |||
| ) | const |
Definition at line 130 of file btSoftBody.cpp.
Definition at line 114 of file btSoftBody.cpp.
| bool btSoftBody::checkLink | ( | int | node0, | |
| int | node1 | |||
| ) | const |
Definition at line 108 of file btSoftBody.cpp.
| void btSoftBody::cleanupClusters | ( | ) |
Definition at line 2294 of file btSoftBody.cpp.
Definition at line 767 of file btSoftBody.cpp.
| btVector3 btSoftBody::clusterCom | ( | int | cluster | ) | const |
Definition at line 712 of file btSoftBody.cpp.
Definition at line 701 of file btSoftBody.cpp.
| int btSoftBody::clusterCount | ( | ) | const |
Definition at line 695 of file btSoftBody.cpp.
Definition at line 759 of file btSoftBody.cpp.
Definition at line 774 of file btSoftBody.cpp.
| void btSoftBody::clusterDImpulse | ( | Cluster * | cluster, | |
| const btVector3 & | rpos, | |||
| const btVector3 & | impulse | |||
| ) | [static] |
Definition at line 734 of file btSoftBody.cpp.
| void btSoftBody::clusterImpulse | ( | Cluster * | cluster, | |
| const btVector3 & | rpos, | |||
| const Impulse & | impulse | |||
| ) | [static] |
Definition at line 744 of file btSoftBody.cpp.
Definition at line 751 of file btSoftBody.cpp.
Definition at line 718 of file btSoftBody.cpp.
| void btSoftBody::clusterVImpulse | ( | Cluster * | cluster, | |
| const btVector3 & | rpos, | |||
| const btVector3 & | impulse | |||
| ) | [static] |
Definition at line 724 of file btSoftBody.cpp.
Definition at line 1386 of file btSoftBody.cpp.
| bool btSoftBody::cutLink | ( | int | node0, | |
| int | node1, | |||
| btScalar | position | |||
| ) |
Definition at line 1392 of file btSoftBody.cpp.
| void btSoftBody::dampClusters | ( | ) |
Definition at line 2375 of file btSoftBody.cpp.
| void btSoftBody::defaultCollisionHandler | ( | btSoftBody * | psb | ) |
Definition at line 2885 of file btSoftBody.cpp.
| void btSoftBody::defaultCollisionHandler | ( | btCollisionObject * | pco | ) |
Definition at line 2845 of file btSoftBody.cpp.
| btVector3 btSoftBody::evaluateCom | ( | ) | const |
Definition at line 1932 of file btSoftBody.cpp.
| int btSoftBody::generateBendingConstraints | ( | int | distance, | |
| Material * | mat = 0 | |||
| ) |
generic Floyd's algorithm
Definition at line 788 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 942 of file btSoftBody.cpp.
| virtual void btSoftBody::getAabb | ( | btVector3 & | aabbMin, | |
| btVector3 & | aabbMax | |||
| ) | const [inline, virtual] |
Definition at line 851 of file btSoftBody.h.
| btScalar btSoftBody::getMass | ( | int | node | ) | const |
Definition at line 462 of file btSoftBody.cpp.
| btSoftBody::vsolver_t btSoftBody::getSolver | ( | eVSolver::_ | solver | ) | [static] |
Definition at line 2832 of file btSoftBody.cpp.
| btSoftBody::psolver_t btSoftBody::getSolver | ( | ePSolver::_ | solver | ) | [static] |
Definition at line 2812 of file btSoftBody.cpp.
| btScalar btSoftBody::getTotalMass | ( | ) | const |
Definition at line 468 of file btSoftBody.cpp.
| btScalar btSoftBody::getVolume | ( | ) | const |
Definition at line 676 of file btSoftBody.cpp.
| btSoftBodyWorldInfo* btSoftBody::getWorldInfo | ( | ) | [inline] |
Definition at line 656 of file btSoftBody.h.
| void btSoftBody::indicesToPointers | ( | const int * | map = 0 |
) |
Definition at line 1830 of file btSoftBody.cpp.
| void btSoftBody::initializeClusters | ( | ) |
Definition at line 2110 of file btSoftBody.cpp.
| void btSoftBody::initializeFaceTree | ( | ) |
Definition at line 1921 of file btSoftBody.cpp.
| void btSoftBody::integrateMotion | ( | ) |
Definition at line 1720 of file btSoftBody.cpp.
| void btSoftBody::pointersToIndices | ( | ) |
Definition at line 1787 of file btSoftBody.cpp.
| void btSoftBody::predictMotion | ( | btScalar | dt | ) |
Definition at line 1489 of file btSoftBody.cpp.
| void btSoftBody::prepareClusters | ( | int | iterations | ) |
Definition at line 2308 of file btSoftBody.cpp.
| void btSoftBody::PSolve_Anchors | ( | btSoftBody * | psb, | |
| btScalar | kst, | |||
| btScalar | ti | |||
| ) | [static] |
Definition at line 2699 of file btSoftBody.cpp.
| void btSoftBody::PSolve_Links | ( | btSoftBody * | psb, | |
| btScalar | kst, | |||
| btScalar | ti | |||
| ) | [static] |
Definition at line 2779 of file btSoftBody.cpp.
| void btSoftBody::PSolve_RContacts | ( | btSoftBody * | psb, | |
| btScalar | kst, | |||
| btScalar | ti | |||
| ) | [static] |
Definition at line 2719 of file btSoftBody.cpp.
| void btSoftBody::PSolve_SContacts | ( | btSoftBody * | psb, | |
| btScalar | , | |||
| btScalar | ti | |||
| ) | [static] |
Definition at line 2746 of file btSoftBody.cpp.
| void btSoftBody::randomizeConstraints | ( | ) |
Definition at line 908 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 1874 of file btSoftBody.cpp.
Ray casting using rayFrom and rayTo in worldspace, (not direction!).
Definition at line 1447 of file btSoftBody.cpp.
| void btSoftBody::refine | ( | ImplicitFn * | ifn, | |
| btScalar | accurary, | |||
| bool | cut | |||
| ) |
Definition at line 1135 of file btSoftBody.cpp.
| void btSoftBody::releaseCluster | ( | int | index | ) |
Definition at line 926 of file btSoftBody.cpp.
| void btSoftBody::releaseClusters | ( | ) |
Definition at line 936 of file btSoftBody.cpp.
| void btSoftBody::rotate | ( | const btQuaternion & | rot | ) |
Definition at line 598 of file btSoftBody.cpp.
| void btSoftBody::scale | ( | const btVector3 & | scl | ) |
Definition at line 607 of file btSoftBody.cpp.
| virtual void btSoftBody::setCollisionShape | ( | btCollisionShape * | collisionShape | ) | [inline, virtual] |
Reimplemented from btCollisionObject.
Definition at line 662 of file btSoftBody.h.
| void btSoftBody::setMass | ( | int | node, | |
| btScalar | mass | |||
| ) |
Definition at line 455 of file btSoftBody.cpp.
| void btSoftBody::setPose | ( | bool | bvolume, | |
| bool | bframe | |||
| ) |
Definition at line 626 of file btSoftBody.cpp.
| void btSoftBody::setSolver | ( | eSolverPresets::_ | preset | ) |
Definition at line 1463 of file btSoftBody.cpp.
| void btSoftBody::setTotalDensity | ( | btScalar | density | ) |
Definition at line 516 of file btSoftBody.cpp.
| void btSoftBody::setTotalMass | ( | btScalar | mass, | |
| bool | fromfaces = false | |||
| ) |
Definition at line 479 of file btSoftBody.cpp.
| void btSoftBody::setVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 431 of file btSoftBody.cpp.
| void btSoftBody::setVolumeDensity | ( | btScalar | density | ) |
Definition at line 552 of file btSoftBody.cpp.
| void btSoftBody::setVolumeMass | ( | btScalar | mass | ) |
Definition at line 522 of file btSoftBody.cpp.
| void btSoftBody::solveClusters | ( | btScalar | sor | ) |
Definition at line 2318 of file btSoftBody.cpp.
| void btSoftBody::solveClusters | ( | const btAlignedObjectArray< btSoftBody * > & | bodies | ) | [static] |
Definition at line 1691 of file btSoftBody.cpp.
| void btSoftBody::solveCommonConstraints | ( | btSoftBody ** | bodies, | |
| int | count, | |||
| int | iterations | |||
| ) | [static] |
placeholder
Definition at line 1685 of file btSoftBody.cpp.
| void btSoftBody::solveConstraints | ( | ) |
Definition at line 1580 of file btSoftBody.cpp.
| void btSoftBody::staticSolve | ( | int | iterations | ) |
Definition at line 1673 of file btSoftBody.cpp.
| void btSoftBody::transform | ( | const btTransform & | trs | ) |
Definition at line 567 of file btSoftBody.cpp.
| void btSoftBody::translate | ( | const btVector3 & | trs | ) |
Definition at line 589 of file btSoftBody.cpp.
| static btSoftBody* btSoftBody::upcast | ( | btCollisionObject * | colObj | ) | [inline, static] |
Definition at line 840 of file btSoftBody.h.
| static const btSoftBody* btSoftBody::upcast | ( | const btCollisionObject * | colObj | ) | [inline, static] |
Definition at line 834 of file btSoftBody.h.
| void btSoftBody::updateBounds | ( | ) |
Definition at line 1999 of file btSoftBody.cpp.
| void btSoftBody::updateClusters | ( | ) |
Definition at line 2176 of file btSoftBody.cpp.
| void btSoftBody::updateConstants | ( | ) |
Definition at line 2064 of file btSoftBody.cpp.
| void btSoftBody::updateNormals | ( | ) |
Definition at line 1971 of file btSoftBody.cpp.
| void btSoftBody::updatePose | ( | ) |
Definition at line 2028 of file btSoftBody.cpp.
| void btSoftBody::VSolve_Links | ( | btSoftBody * | psb, | |
| btScalar | kst | |||
| ) | [static] |
Definition at line 2799 of file btSoftBody.cpp.
Definition at line 625 of file btSoftBody.h.
Definition at line 631 of file btSoftBody.h.
Definition at line 632 of file btSoftBody.h.
Definition at line 635 of file btSoftBody.h.
Definition at line 615 of file btSoftBody.h.
Definition at line 638 of file btSoftBody.h.
Definition at line 636 of file btSoftBody.h.
Definition at line 52 of file btSoftBody.h.
Definition at line 623 of file btSoftBody.h.
Definition at line 634 of file btSoftBody.h.
Definition at line 640 of file btSoftBody.h.
Definition at line 628 of file btSoftBody.h.
Definition at line 622 of file btSoftBody.h.
Definition at line 629 of file btSoftBody.h.
Definition at line 633 of file btSoftBody.h.
Definition at line 621 of file btSoftBody.h.
Definition at line 620 of file btSoftBody.h.
Definition at line 617 of file btSoftBody.h.
Definition at line 626 of file btSoftBody.h.
Definition at line 627 of file btSoftBody.h.
Definition at line 616 of file btSoftBody.h.
| void* btSoftBody::m_tag |
Definition at line 618 of file btSoftBody.h.
Definition at line 624 of file btSoftBody.h.
Definition at line 630 of file btSoftBody.h.
Definition at line 654 of file btSoftBody.h.
Definition at line 619 of file btSoftBody.h.
1.6.1