Bullet Collision Detection & Physics Library
|
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 Member Functions | |
btSoftBody (btSoftBodyWorldInfo *worldInfo, int node_count, const btVector3 *x, const btScalar *m) | |
btSoftBody implementation by Nathanael Presson More... | |
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) More... | |
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... | |
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. More... | |
const btVector3 & | getWindVelocity () |
Return the wind velocity for interaction with the air. More... | |
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) More... | |
Public Member Functions inherited from btCollisionObject | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
bool | mergesSimulationIslands () const |
const btVector3 & | getAnisotropicFriction () const |
void | setAnisotropicFriction (const btVector3 &anisotropicFriction, int frictionMode=CF_ANISOTROPIC_FRICTION) |
bool | hasAnisotropicFriction (int frictionMode=CF_ANISOTROPIC_FRICTION) const |
void | setContactProcessingThreshold (btScalar contactProcessingThreshold) |
the constraint solver can discard solving contacts, if the distance is above this threshold. More... | |
btScalar | getContactProcessingThreshold () const |
bool | isStaticObject () const |
bool | isKinematicObject () const |
bool | isStaticOrKinematicObject () const |
bool | hasContactResponse () const |
btCollisionObject () | |
virtual | ~btCollisionObject () |
const btCollisionShape * | getCollisionShape () const |
btCollisionShape * | getCollisionShape () |
void | setIgnoreCollisionCheck (const btCollisionObject *co, bool ignoreCollisionCheck) |
virtual bool | checkCollideWithOverride (const btCollisionObject *co) const |
void * | internalGetExtensionPointer () const |
Avoid using this internal API call, the extension pointer is used by some Bullet extensions. More... | |
void | internalSetExtensionPointer (void *pointer) |
Avoid using this internal API call, the extension pointer is used by some Bullet extensions If you need to store your own user pointer, use 'setUserPointer/getUserPointer' instead. More... | |
int | getActivationState () const |
void | setActivationState (int newState) const |
void | setDeactivationTime (btScalar time) |
btScalar | getDeactivationTime () const |
void | forceActivationState (int newState) const |
void | activate (bool forceActivation=false) const |
bool | isActive () const |
void | setRestitution (btScalar rest) |
btScalar | getRestitution () const |
void | setFriction (btScalar frict) |
btScalar | getFriction () const |
void | setRollingFriction (btScalar frict) |
btScalar | getRollingFriction () const |
void | setSpinningFriction (btScalar frict) |
btScalar | getSpinningFriction () const |
void | setContactStiffnessAndDamping (btScalar stiffness, btScalar damping) |
btScalar | getContactStiffness () const |
btScalar | getContactDamping () const |
int | getInternalType () const |
reserved for Bullet internal usage More... | |
btTransform & | getWorldTransform () |
const btTransform & | getWorldTransform () const |
void | setWorldTransform (const btTransform &worldTrans) |
btBroadphaseProxy * | getBroadphaseHandle () |
const btBroadphaseProxy * | getBroadphaseHandle () const |
void | setBroadphaseHandle (btBroadphaseProxy *handle) |
const btTransform & | getInterpolationWorldTransform () const |
btTransform & | getInterpolationWorldTransform () |
void | setInterpolationWorldTransform (const btTransform &trans) |
void | setInterpolationLinearVelocity (const btVector3 &linvel) |
void | setInterpolationAngularVelocity (const btVector3 &angvel) |
const btVector3 & | getInterpolationLinearVelocity () const |
const btVector3 & | getInterpolationAngularVelocity () const |
int | getIslandTag () const |
void | setIslandTag (int tag) |
int | getCompanionId () const |
void | setCompanionId (int id) |
int | getWorldArrayIndex () const |
void | setWorldArrayIndex (int ix) |
btScalar | getHitFraction () const |
void | setHitFraction (btScalar hitFraction) |
int | getCollisionFlags () const |
void | setCollisionFlags (int flags) |
btScalar | getCcdSweptSphereRadius () const |
Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm:: More... | |
void | setCcdSweptSphereRadius (btScalar radius) |
Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm:: More... | |
btScalar | getCcdMotionThreshold () const |
btScalar | getCcdSquareMotionThreshold () const |
void | setCcdMotionThreshold (btScalar ccdMotionThreshold) |
Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold. More... | |
void * | getUserPointer () const |
users can point to their objects, userPointer is not used by Bullet More... | |
int | getUserIndex () const |
int | getUserIndex2 () const |
void | setUserPointer (void *userPointer) |
users can point to their objects, userPointer is not used by Bullet More... | |
void | setUserIndex (int index) |
users can point to their objects, userPointer is not used by Bullet More... | |
void | setUserIndex2 (int index) |
int | getUpdateRevisionInternal () const |
void | setCustomDebugColor (const btVector3 &colorRGB) |
void | removeCustomDebugColor () |
bool | getCustomDebugColor (btVector3 &colorRGB) const |
bool | checkCollideWith (const btCollisionObject *co) const |
virtual void | serializeSingleObject (class btSerializer *serializer) const |
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) |
Additional Inherited Members | |
Protected Attributes inherited from btCollisionObject | |
btTransform | m_worldTransform |
btTransform | m_interpolationWorldTransform |
m_interpolationWorldTransform is used for CCD and interpolation it can be either previous or future (predicted) transform More... | |
btVector3 | m_interpolationLinearVelocity |
btVector3 | m_interpolationAngularVelocity |
btVector3 | m_anisotropicFriction |
int | m_hasAnisotropicFriction |
btScalar | m_contactProcessingThreshold |
btBroadphaseProxy * | m_broadphaseHandle |
btCollisionShape * | m_collisionShape |
void * | m_extensionPointer |
m_extensionPointer is used by some internal low-level Bullet extensions. More... | |
btCollisionShape * | m_rootCollisionShape |
m_rootCollisionShape is temporarily used to store the original collision shape The m_collisionShape might be temporarily replaced by a child collision shape during collision detection purposes If it is NULL, the m_collisionShape is not temporarily replaced. More... | |
int | m_collisionFlags |
int | m_islandTag1 |
int | m_companionId |
int | m_worldArrayIndex |
int | m_activationState1 |
btScalar | m_deactivationTime |
btScalar | m_friction |
btScalar | m_restitution |
btScalar | m_rollingFriction |
btScalar | m_spinningFriction |
btScalar | m_contactDamping |
btScalar | m_contactStiffness |
int | m_internalType |
m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody, btSoftBody, btGhostObject etc. More... | |
void * | m_userObjectPointer |
users can point to their objects, m_userPointer is not used by Bullet, see setUserPointer/getUserPointer More... | |
int | m_userIndex2 |
int | m_userIndex |
btScalar | m_hitFraction |
time of impact calculation More... | |
btScalar | m_ccdSweptSphereRadius |
Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm:: More... | |
btScalar | m_ccdMotionThreshold |
Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold. More... | |
int | m_checkCollideWith |
If some object should have elaborate collision filtering by sub-classes. More... | |
btAlignedObjectArray< const btCollisionObject * > | m_objectsWithoutCollisionCheck |
int | m_updateRevision |
internal update revision number. It will be increased when the object changes. This allows some subsystems to perform lazy evaluation. More... | |
btVector3 | m_customDebugColorRGB |
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 71 of file btSoftBody.h.
typedef void(* btSoftBody::psolver_t) (btSoftBody *, btScalar, btScalar) |
Definition at line 633 of file btSoftBody.h.
Definition at line 642 of file btSoftBody.h.
Definition at line 635 of file btSoftBody.h.
Definition at line 640 of file btSoftBody.h.
typedef btAlignedObjectArray<Joint*> btSoftBody::tJointArray |
Definition at line 646 of file btSoftBody.h.
Definition at line 638 of file btSoftBody.h.
Definition at line 639 of file btSoftBody.h.
Definition at line 645 of file btSoftBody.h.
Definition at line 637 of file btSoftBody.h.
Definition at line 636 of file btSoftBody.h.
Definition at line 129 of file btSoftBody.h.
Definition at line 643 of file btSoftBody.h.
Definition at line 182 of file btSoftBody.h.
Definition at line 644 of file btSoftBody.h.
Definition at line 647 of file btSoftBody.h.
Definition at line 641 of file btSoftBody.h.
Definition at line 183 of file btSoftBody.h.
Definition at line 128 of file btSoftBody.h.
typedef void(* btSoftBody::vsolver_t) (btSoftBody *, btScalar) |
Definition at line 634 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 26 of file btSoftBody.cpp.
btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo | ) |
Definition at line 57 of file btSoftBody.cpp.
|
virtual |
Definition at line 119 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToFace | ( | const btVector3 & | windVelocity, |
int | faceIndex | ||
) |
Definition at line 547 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToNode | ( | const btVector3 & | windVelocity, |
int | nodeIndex | ||
) |
Definition at line 458 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force | ) |
Definition at line 443 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force, |
int | node | ||
) |
Definition at line 449 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 644 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity, |
int | node | ||
) |
Definition at line 664 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, |
btRigidBody * | body, | ||
bool | disableCollisionBetweenLinkedBodies = false , |
||
btScalar | influence = 1 |
||
) |
Definition at line 363 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, |
btRigidBody * | body, | ||
const btVector3 & | localPivot, | ||
bool | disableCollisionBetweenLinkedBodies = false , |
||
btScalar | influence = 1 |
||
) |
Definition at line 370 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
Cluster * | body0, | ||
Body | body1 | ||
) |
Definition at line 416 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
Body | body = Body() |
||
) |
Definition at line 431 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
btSoftBody * | body | ||
) |
Definition at line 437 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | model = -1 , |
Material * | mat = 0 |
||
) |
Definition at line 299 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | node0, |
int | node1, | ||
int | node2, | ||
Material * | mat = 0 |
||
) |
Definition at line 310 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
Cluster * | body0, | ||
Body | body1 | ||
) |
Definition at line 390 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
Body | body = Body() |
||
) |
Definition at line 404 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
btSoftBody * | body | ||
) |
Definition at line 410 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | model = -1 , |
Material * | mat = 0 |
||
) |
Definition at line 262 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | node0, |
int | node1, | ||
Material * | mat = 0 , |
||
bool | bcheckexist = false |
||
) |
Definition at line 273 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | Node * | node0, |
Node * | node1, | ||
Material * | mat = 0 , |
||
bool | bcheckexist = false |
||
) |
Definition at line 282 of file btSoftBody.cpp.
btSoftBody::Material * btSoftBody::appendMaterial | ( | ) |
Definition at line 176 of file btSoftBody.cpp.
Definition at line 242 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 188 of file btSoftBody.cpp.
Definition at line 213 of file btSoftBody.cpp.
Definition at line 221 of file btSoftBody.cpp.
Definition at line 231 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | model, |
Material * | mat | ||
) |
Definition at line 334 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | node0, |
int | node1, | ||
int | node2, | ||
int | node3, | ||
Material * | mat = 0 |
||
) |
Definition at line 345 of file btSoftBody.cpp.
void btSoftBody::applyClusters | ( | bool | drift | ) |
Definition at line 2689 of file btSoftBody.cpp.
void btSoftBody::applyForces | ( | ) |
Definition at line 2935 of file btSoftBody.cpp.
|
virtual |
Reimplemented from btCollisionObject.
Definition at line 3309 of file btSoftBody.cpp.
bool btSoftBody::checkContact | ( | const btCollisionObjectWrapper * | colObjWrap, |
const btVector3 & | x, | ||
btScalar | margin, | ||
btSoftBody::sCti & | cti | ||
) | const |
Definition at line 2248 of file btSoftBody.cpp.
bool btSoftBody::checkFace | ( | int | node0, |
int | node1, | ||
int | node2 | ||
) | const |
Definition at line 155 of file btSoftBody.cpp.
bool btSoftBody::checkLink | ( | int | node0, |
int | node1 | ||
) | const |
Definition at line 133 of file btSoftBody.cpp.
Definition at line 139 of file btSoftBody.cpp.
void btSoftBody::cleanupClusters | ( | ) |
Definition at line 2656 of file btSoftBody.cpp.
Definition at line 1019 of file btSoftBody.cpp.
Definition at line 953 of file btSoftBody.cpp.
btVector3 btSoftBody::clusterCom | ( | int | cluster | ) | const |
Definition at line 964 of file btSoftBody.cpp.
int btSoftBody::clusterCount | ( | ) | const |
Definition at line 947 of file btSoftBody.cpp.
Definition at line 1011 of file btSoftBody.cpp.
Definition at line 1026 of file btSoftBody.cpp.
|
static |
Definition at line 986 of file btSoftBody.cpp.
|
static |
Definition at line 996 of file btSoftBody.cpp.
Definition at line 1003 of file btSoftBody.cpp.
Definition at line 970 of file btSoftBody.cpp.
|
static |
Definition at line 976 of file btSoftBody.cpp.
bool btSoftBody::cutLink | ( | int | node0, |
int | node1, | ||
btScalar | position | ||
) |
Definition at line 1644 of file btSoftBody.cpp.
Definition at line 1638 of file btSoftBody.cpp.
void btSoftBody::dampClusters | ( | ) |
Definition at line 2740 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | const btCollisionObjectWrapper * | pcoWrap | ) |
Definition at line 3205 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | btSoftBody * | psb | ) |
Definition at line 3246 of file btSoftBody.cpp.
btVector3 btSoftBody::evaluateCom | ( | ) | const |
Definition at line 2234 of file btSoftBody.cpp.
int btSoftBody::generateBendingConstraints | ( | int | distance, |
Material * | mat = 0 |
||
) |
generic Floyd's algorithm
Definition at line 1040 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 1194 of file btSoftBody.cpp.
Definition at line 953 of file btSoftBody.h.
btScalar btSoftBody::getMass | ( | int | node | ) | const |
Definition at line 681 of file btSoftBody.cpp.
btScalar btSoftBody::getRestLengthScale | ( | ) |
Definition at line 846 of file btSoftBody.cpp.
|
inline |
Definition at line 918 of file btSoftBody.h.
|
inline |
Definition at line 926 of file btSoftBody.h.
|
static |
Definition at line 3172 of file btSoftBody.cpp.
|
static |
Definition at line 3192 of file btSoftBody.cpp.
btScalar btSoftBody::getTotalMass | ( | ) | const |
Definition at line 687 of file btSoftBody.cpp.
btScalar btSoftBody::getVolume | ( | ) | const |
Definition at line 928 of file btSoftBody.cpp.
const btVector3 & btSoftBody::getWindVelocity | ( | ) |
Return the wind velocity for interaction with the air.
Definition at line 3302 of file btSoftBody.cpp.
|
inline |
Definition at line 702 of file btSoftBody.h.
void btSoftBody::indicesToPointers | ( | const int * | map = 0 | ) |
Definition at line 2100 of file btSoftBody.cpp.
void btSoftBody::initDefaults | ( | ) |
for now, create a collision shape internally
Definition at line 64 of file btSoftBody.cpp.
void btSoftBody::initializeClusters | ( | ) |
Definition at line 2472 of file btSoftBody.cpp.
void btSoftBody::initializeFaceTree | ( | ) |
Definition at line 2223 of file btSoftBody.cpp.
void btSoftBody::integrateMotion | ( | ) |
Definition at line 1990 of file btSoftBody.cpp.
void btSoftBody::pointersToIndices | ( | ) |
Definition at line 2057 of file btSoftBody.cpp.
void btSoftBody::predictMotion | ( | btScalar | dt | ) |
Definition at line 1741 of file btSoftBody.cpp.
void btSoftBody::prepareClusters | ( | int | iterations | ) |
Definition at line 2670 of file btSoftBody.cpp.
|
static |
Definition at line 3004 of file btSoftBody.cpp.
|
static |
Definition at line 3135 of file btSoftBody.cpp.
|
static |
Definition at line 3026 of file btSoftBody.cpp.
|
static |
Definition at line 3100 of file btSoftBody.cpp.
void btSoftBody::randomizeConstraints | ( | ) |
Definition at line 1160 of file btSoftBody.cpp.
Ray casting using rayFrom and rayTo in worldspace, (not direction!)
Definition at line 1699 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 2144 of file btSoftBody.cpp.
void btSoftBody::refine | ( | ImplicitFn * | ifn, |
btScalar | accurary, | ||
bool | cut | ||
) |
Definition at line 1387 of file btSoftBody.cpp.
void btSoftBody::releaseCluster | ( | int | index | ) |
Definition at line 1178 of file btSoftBody.cpp.
void btSoftBody::releaseClusters | ( | ) |
Definition at line 1188 of file btSoftBody.cpp.
void btSoftBody::resetLinkRestLengths | ( | ) |
Definition at line 917 of file btSoftBody.cpp.
void btSoftBody::rotate | ( | const btQuaternion & | rot | ) |
Definition at line 817 of file btSoftBody.cpp.
void btSoftBody::scale | ( | const btVector3 & | scl | ) |
Definition at line 826 of file btSoftBody.cpp.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btCollisionObject.
Definition at line 3316 of file btSoftBody.cpp.
|
inlinevirtual |
Reimplemented from btCollisionObject.
Definition at line 708 of file btSoftBody.h.
void btSoftBody::setMass | ( | int | node, |
btScalar | mass | ||
) |
Definition at line 674 of file btSoftBody.cpp.
void btSoftBody::setPose | ( | bool | bvolume, |
bool | bframe | ||
) |
Definition at line 867 of file btSoftBody.cpp.
void btSoftBody::setRestLengthScale | ( | btScalar | restLength | ) |
Definition at line 852 of file btSoftBody.cpp.
|
inline |
Definition at line 910 of file btSoftBody.h.
void btSoftBody::setSolver | ( | eSolverPresets::_ | preset | ) |
Definition at line 1715 of file btSoftBody.cpp.
void btSoftBody::setTotalDensity | ( | btScalar | density | ) |
Definition at line 735 of file btSoftBody.cpp.
void btSoftBody::setTotalMass | ( | btScalar | mass, |
bool | fromfaces = false |
||
) |
Definition at line 698 of file btSoftBody.cpp.
void btSoftBody::setVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 650 of file btSoftBody.cpp.
void btSoftBody::setVolumeDensity | ( | btScalar | density | ) |
Definition at line 771 of file btSoftBody.cpp.
void btSoftBody::setVolumeMass | ( | btScalar | mass | ) |
Definition at line 741 of file btSoftBody.cpp.
void btSoftBody::setWindVelocity | ( | const btVector3 & | velocity | ) |
Set a wind velocity for interaction with the air.
Definition at line 3296 of file btSoftBody.cpp.
|
static |
Definition at line 1961 of file btSoftBody.cpp.
void btSoftBody::solveClusters | ( | btScalar | sor | ) |
Definition at line 2680 of file btSoftBody.cpp.
|
static |
placeholder
Definition at line 1955 of file btSoftBody.cpp.
void btSoftBody::solveConstraints | ( | ) |
Definition at line 1849 of file btSoftBody.cpp.
void btSoftBody::staticSolve | ( | int | iterations | ) |
Definition at line 1943 of file btSoftBody.cpp.
void btSoftBody::transform | ( | const btTransform & | trs | ) |
Definition at line 786 of file btSoftBody.cpp.
void btSoftBody::translate | ( | const btVector3 & | trs | ) |
Definition at line 808 of file btSoftBody.cpp.
|
inlinestatic |
Definition at line 936 of file btSoftBody.h.
|
inlinestatic |
Definition at line 942 of file btSoftBody.h.
void btSoftBody::updateArea | ( | bool | averageArea = true | ) |
Definition at line 2384 of file btSoftBody.cpp.
void btSoftBody::updateBounds | ( | ) |
Definition at line 2306 of file btSoftBody.cpp.
void btSoftBody::updateClusters | ( | ) |
Definition at line 2538 of file btSoftBody.cpp.
void btSoftBody::updateConstants | ( | ) |
Definition at line 2462 of file btSoftBody.cpp.
void btSoftBody::updateLinkConstants | ( | ) |
Definition at line 2449 of file btSoftBody.cpp.
void btSoftBody::updateNormals | ( | ) |
Definition at line 2277 of file btSoftBody.cpp.
void btSoftBody::updatePose | ( | ) |
Definition at line 2348 of file btSoftBody.cpp.
|
static |
Definition at line 3158 of file btSoftBody.cpp.
tAnchorArray btSoftBody::m_anchors |
Definition at line 663 of file btSoftBody.h.
btVector3 btSoftBody::m_bounds[2] |
Definition at line 669 of file btSoftBody.h.
bool btSoftBody::m_bUpdateRtCst |
Definition at line 670 of file btSoftBody.h.
btDbvt btSoftBody::m_cdbvt |
Definition at line 673 of file btSoftBody.h.
Config btSoftBody::m_cfg |
Definition at line 653 of file btSoftBody.h.
btAlignedObjectArray<bool> btSoftBody::m_clusterConnectivity |
Definition at line 676 of file btSoftBody.h.
tClusterArray btSoftBody::m_clusters |
Definition at line 674 of file btSoftBody.h.
btAlignedObjectArray<const class btCollisionObject*> btSoftBody::m_collisionDisabledObjects |
Definition at line 74 of file btSoftBody.h.
tFaceArray btSoftBody::m_faces |
Definition at line 661 of file btSoftBody.h.
btDbvt btSoftBody::m_fdbvt |
Definition at line 672 of file btSoftBody.h.
btTransform btSoftBody::m_initialWorldTransform |
Definition at line 678 of file btSoftBody.h.
tJointArray btSoftBody::m_joints |
Definition at line 666 of file btSoftBody.h.
tLinkArray btSoftBody::m_links |
Definition at line 660 of file btSoftBody.h.
tMaterialArray btSoftBody::m_materials |
Definition at line 667 of file btSoftBody.h.
btDbvt btSoftBody::m_ndbvt |
Definition at line 671 of file btSoftBody.h.
tNodeArray btSoftBody::m_nodes |
Definition at line 659 of file btSoftBody.h.
tNoteArray btSoftBody::m_notes |
Definition at line 658 of file btSoftBody.h.
Pose btSoftBody::m_pose |
Definition at line 655 of file btSoftBody.h.
tRContactArray btSoftBody::m_rcontacts |
Definition at line 664 of file btSoftBody.h.
btScalar btSoftBody::m_restLengthScale |
Definition at line 682 of file btSoftBody.h.
tSContactArray btSoftBody::m_scontacts |
Definition at line 665 of file btSoftBody.h.
btSoftBodySolver* btSoftBody::m_softBodySolver |
Definition at line 77 of file btSoftBody.h.
SolverState btSoftBody::m_sst |
Definition at line 654 of file btSoftBody.h.
void* btSoftBody::m_tag |
Definition at line 656 of file btSoftBody.h.
tTetraArray btSoftBody::m_tetras |
Definition at line 662 of file btSoftBody.h.
btScalar btSoftBody::m_timeacc |
Definition at line 668 of file btSoftBody.h.
btAlignedObjectArray<int> btSoftBody::m_userIndexMapping |
Definition at line 700 of file btSoftBody.h.
btVector3 btSoftBody::m_windVelocity |
Definition at line 680 of file btSoftBody.h.
btSoftBodyWorldInfo* btSoftBody::m_worldInfo |
Definition at line 657 of file btSoftBody.h.