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 | DeformableFaceNodeContact |
class | DeformableFaceRigidContact |
class | DeformableNodeRigidAnchor |
class | DeformableNodeRigidContact |
class | DeformableRigidContact |
struct | eAeroModel |
eAeroModel More... | |
struct | eFeature |
eFeature More... | |
struct | Element |
struct | ePSolver |
ePSolver : positions solvers More... | |
struct | eSolverPresets |
eSolverPresets More... | |
struct | eVSolver |
eVSolver : velocities solvers More... | |
struct | Face |
struct | fCollision |
fCollision More... | |
struct | Feature |
struct | fMaterial |
fMaterial More... | |
struct | ImplicitFn |
struct | Impulse |
struct | Joint |
struct | 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 | RenderFace |
struct | RenderNode |
struct | SContact |
struct | sCti |
struct | sMedium |
struct | SolverState |
struct | sRayCast |
struct | Tetra |
struct | TetraScratch |
Public Member Functions | |
btSoftBody (btSoftBodyWorldInfo *worldInfo, int node_count, const btVector3 *x, const btScalar *m) | |
btSoftBody (btSoftBodyWorldInfo *worldInfo) | |
void | initDefaults () |
virtual | ~btSoftBody () |
btSoftBodyWorldInfo * | getWorldInfo () |
void | setDampingCoefficient (btScalar damping_coeff) |
virtual void | setCollisionShape (btCollisionShape *collisionShape) |
bool | checkLink (int node0, int node1) const |
bool | checkLink (const Node *node0, const Node *node1) const |
bool | checkFace (int node0, int node1, int node2) const |
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 | appendDeformableAnchor (int node, btRigidBody *body) |
void | appendDeformableAnchor (int node, btMultiBodyLinkCollider *link) |
void | appendAnchor (int node, btRigidBody *body, bool disableCollisionBetweenLinkedBodies=false, btScalar influence=1) |
void | appendAnchor (int node, btRigidBody *body, const btVector3 &localPivot, bool disableCollisionBetweenLinkedBodies=false, btScalar influence=1) |
void | removeAnchor (int node) |
void | appendLinearJoint (const LJoint::Specs &specs, Cluster *body0, Body body1) |
void | appendLinearJoint (const LJoint::Specs &specs, Body body=Body()) |
void | appendLinearJoint (const LJoint::Specs &specs, btSoftBody *body) |
void | appendAngularJoint (const AJoint::Specs &specs, Cluster *body0, Body body1) |
void | appendAngularJoint (const AJoint::Specs &specs, Body body=Body()) |
void | appendAngularJoint (const AJoint::Specs &specs, btSoftBody *body) |
void | addForce (const btVector3 &force) |
void | addForce (const btVector3 &force, int node) |
void | addAeroForceToNode (const btVector3 &windVelocity, int nodeIndex) |
void | addAeroForceToFace (const btVector3 &windVelocity, int faceIndex) |
void | addVelocity (const btVector3 &velocity) |
void | setVelocity (const btVector3 &velocity) |
void | addVelocity (const btVector3 &velocity, int node) |
void | setMass (int node, btScalar mass) |
btScalar | getMass (int node) const |
btScalar | getTotalMass () const |
void | setTotalMass (btScalar mass, bool fromfaces=false) |
void | setTotalDensity (btScalar density) |
void | setVolumeMass (btScalar mass) |
void | setVolumeDensity (btScalar density) |
btVector3 | getLinearVelocity () |
void | setLinearVelocity (const btVector3 &linVel) |
void | setAngularVelocity (const btVector3 &angVel) |
btTransform | getRigidTransform () |
void | transformTo (const btTransform &trs) |
void | transform (const btTransform &trs) |
void | translate (const btVector3 &trs) |
void | rotate (const btQuaternion &rot) |
void | scale (const btVector3 &scl) |
btScalar | getRestLengthScale () |
void | setRestLengthScale (btScalar restLength) |
void | setPose (bool bvolume, bool bframe) |
void | resetLinkRestLengths () |
btScalar | getVolume () const |
btVector3 | getCenterOfMass () const |
int | clusterCount () const |
btVector3 | clusterCom (int cluster) const |
int | generateBendingConstraints (int distance, Material *mat=0) |
void | randomizeConstraints () |
void | releaseCluster (int index) |
void | releaseClusters () |
int | generateClusters (int k, int maxiterations=8192) |
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... | |
bool | rayFaceTest (const btVector3 &rayFrom, const btVector3 &rayTo, sRayCast &results) |
int | rayFaceTest (const btVector3 &rayFrom, const btVector3 &rayTo, btScalar &mint, int &index) const |
void | setSolver (eSolverPresets::_ preset) |
void | predictMotion (btScalar dt) |
void | solveConstraints () |
void | staticSolve (int iterations) |
void | integrateMotion () |
void | defaultCollisionHandler (const btCollisionObjectWrapper *pcoWrap) |
void | defaultCollisionHandler (btSoftBody *psb) |
void | setSelfCollision (bool useSelfCollision) |
bool | useSelfCollision () |
void | updateDeactivation (btScalar timeStep) |
void | setZeroVelocity () |
bool | wantsSleeping () |
void | setWindVelocity (const btVector3 &velocity) |
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 () |
void | rebuildNodeTree () |
btVector3 | evaluateCom () const |
bool | checkDeformableContact (const btCollisionObjectWrapper *colObjWrap, const btVector3 &x, btScalar margin, btSoftBody::sCti &cti, bool predict=false) const |
bool | checkDeformableFaceContact (const btCollisionObjectWrapper *colObjWrap, Face &f, btVector3 &contact_point, btVector3 &bary, btScalar margin, btSoftBody::sCti &cti, bool predict=false) const |
bool | checkContact (const btCollisionObjectWrapper *colObjWrap, const btVector3 &x, btScalar margin, btSoftBody::sCti &cti) const |
void | updateNormals () |
void | updateBounds () |
void | updatePose () |
void | updateConstants () |
void | updateLinkConstants () |
void | updateArea (bool averageArea=true) |
void | initializeClusters () |
void | updateClusters () |
void | cleanupClusters () |
void | prepareClusters (int iterations) |
void | solveClusters (btScalar sor) |
void | applyClusters (bool drift) |
void | dampClusters () |
void | setSpringStiffness (btScalar k) |
void | setGravityFactor (btScalar gravFactor) |
void | setCacheBarycenter (bool cacheBarycenter) |
void | initializeDmInverse () |
void | updateDeformation () |
void | advanceDeformation () |
void | applyForces () |
void | setMaxStress (btScalar maxStress) |
void | interpolateRenderMesh () |
void | setCollisionQuadrature (int N) |
void | geometricCollisionHandler (btSoftBody *psb) |
void | updateNode (btDbvtNode *node, bool use_velocity, bool margin) |
void | updateNodeTree (bool use_velocity, bool margin) |
template<class DBVTNODE > | |
void | updateFace (DBVTNODE *node, bool use_velocity, bool margin) |
void | updateFaceTree (bool use_velocity, bool margin) |
void | applyRepulsionForce (btScalar timeStep, bool applySpringForce) |
virtual int | calculateSerializeBufferSize () const |
virtual const char * | serialize (void *dataBuffer, class btSerializer *serializer) const |
fills the dataBuffer and returns the struct name (and 0 on failure) More... | |
![]() | |
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) |
int | getNumObjectsWithoutCollision () const |
const btCollisionObject * | getObjectWithoutCollision (int index) |
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 |
int | getUserIndex3 () 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) |
void | setUserIndex3 (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) |
template<typename T > | |
static T | BaryEval (const T &a, const T &b, const T &c, const btVector3 &coord) |
Additional Inherited Members | |
![]() | |
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 |
int | m_userIndex3 |
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 74 of file btSoftBody.h.
typedef void(* btSoftBody::psolver_t) (btSoftBody *, btScalar, btScalar) |
Definition at line 786 of file btSoftBody.h.
Definition at line 797 of file btSoftBody.h.
Definition at line 788 of file btSoftBody.h.
Definition at line 794 of file btSoftBody.h.
typedef btAlignedObjectArray<Joint*> btSoftBody::tJointArray |
Definition at line 801 of file btSoftBody.h.
Definition at line 792 of file btSoftBody.h.
Definition at line 793 of file btSoftBody.h.
Definition at line 800 of file btSoftBody.h.
Definition at line 790 of file btSoftBody.h.
Definition at line 789 of file btSoftBody.h.
Definition at line 152 of file btSoftBody.h.
Definition at line 798 of file btSoftBody.h.
Definition at line 795 of file btSoftBody.h.
Definition at line 791 of file btSoftBody.h.
Definition at line 220 of file btSoftBody.h.
Definition at line 799 of file btSoftBody.h.
Definition at line 802 of file btSoftBody.h.
Definition at line 796 of file btSoftBody.h.
Definition at line 221 of file btSoftBody.h.
Definition at line 151 of file btSoftBody.h.
typedef void(* btSoftBody::vsolver_t) (btSoftBody *, btScalar) |
Definition at line 787 of file btSoftBody.h.
btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo, |
int | node_count, | ||
const btVector3 * | x, | ||
const btScalar * | m | ||
) |
Definition at line 130 of file btSoftBody.cpp.
btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo | ) |
Definition at line 164 of file btSoftBody.cpp.
|
virtual |
Definition at line 237 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToFace | ( | const btVector3 & | windVelocity, |
int | faceIndex | ||
) |
Definition at line 794 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToNode | ( | const btVector3 & | windVelocity, |
int | nodeIndex | ||
) |
Definition at line 705 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force | ) |
Definition at line 690 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force, |
int | node | ||
) |
Definition at line 696 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 890 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity, |
int | node | ||
) |
Definition at line 910 of file btSoftBody.cpp.
void btSoftBody::advanceDeformation | ( | ) |
Definition at line 3544 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, |
btRigidBody * | body, | ||
bool | disableCollisionBetweenLinkedBodies = false , |
||
btScalar | influence = 1 |
||
) |
Definition at line 501 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, |
btRigidBody * | body, | ||
const btVector3 & | localPivot, | ||
bool | disableCollisionBetweenLinkedBodies = false , |
||
btScalar | influence = 1 |
||
) |
Definition at line 508 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
Body | body = Body() |
||
) |
Definition at line 678 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
btSoftBody * | body | ||
) |
Definition at line 684 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
Cluster * | body0, | ||
Body | body1 | ||
) |
Definition at line 663 of file btSoftBody.cpp.
void btSoftBody::appendDeformableAnchor | ( | int | node, |
btMultiBodyLinkCollider * | link | ||
) |
Definition at line 581 of file btSoftBody.cpp.
void btSoftBody::appendDeformableAnchor | ( | int | node, |
btRigidBody * | body | ||
) |
Definition at line 528 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | model = -1 , |
Material * | mat = 0 |
||
) |
Definition at line 429 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | node0, |
int | node1, | ||
int | node2, | ||
Material * | mat = 0 |
||
) |
Definition at line 445 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
Body | body = Body() |
||
) |
Definition at line 651 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
btSoftBody * | body | ||
) |
Definition at line 657 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
Cluster * | body0, | ||
Body | body1 | ||
) |
Definition at line 637 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | model = -1 , |
Material * | mat = 0 |
||
) |
Definition at line 389 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | node0, |
int | node1, | ||
Material * | mat = 0 , |
||
bool | bcheckexist = false |
||
) |
Definition at line 403 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | Node * | node0, |
Node * | node1, | ||
Material * | mat = 0 , |
||
bool | bcheckexist = false |
||
) |
Definition at line 412 of file btSoftBody.cpp.
btSoftBody::Material * btSoftBody::appendMaterial | ( | ) |
Definition at line 299 of file btSoftBody.cpp.
Definition at line 369 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 311 of file btSoftBody.cpp.
Definition at line 358 of file btSoftBody.cpp.
Definition at line 348 of file btSoftBody.cpp.
Definition at line 340 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | model, |
Material * | mat | ||
) |
Definition at line 469 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | node0, |
int | node1, | ||
int | node2, | ||
int | node3, | ||
Material * | mat = 0 |
||
) |
Definition at line 483 of file btSoftBody.cpp.
void btSoftBody::applyClusters | ( | bool | drift | ) |
Definition at line 3359 of file btSoftBody.cpp.
void btSoftBody::applyForces | ( | ) |
Definition at line 3723 of file btSoftBody.cpp.
|
inline |
Definition at line 1304 of file btSoftBody.h.
|
inlinestatic |
Definition at line 1296 of file btSoftBody.h.
|
virtual |
Reimplemented from btCollisionObject.
Definition at line 4302 of file btSoftBody.cpp.
bool btSoftBody::checkContact | ( | const btCollisionObjectWrapper * | colObjWrap, |
const btVector3 & | x, | ||
btScalar | margin, | ||
btSoftBody::sCti & | cti | ||
) | const |
Definition at line 2730 of file btSoftBody.cpp.
bool btSoftBody::checkDeformableContact | ( | const btCollisionObjectWrapper * | colObjWrap, |
const btVector3 & | x, | ||
btScalar | margin, | ||
btSoftBody::sCti & | cti, | ||
bool | predict = false |
||
) | const |
Definition at line 2759 of file btSoftBody.cpp.
bool btSoftBody::checkDeformableFaceContact | ( | const btCollisionObjectWrapper * | colObjWrap, |
Face & | f, | ||
btVector3 & | contact_point, | ||
btVector3 & | bary, | ||
btScalar | margin, | ||
btSoftBody::sCti & | cti, | ||
bool | predict = false |
||
) | const |
Definition at line 2807 of file btSoftBody.cpp.
bool btSoftBody::checkFace | ( | int | node0, |
int | node1, | ||
int | node2 | ||
) | const |
Definition at line 275 of file btSoftBody.cpp.
Definition at line 259 of file btSoftBody.cpp.
bool btSoftBody::checkLink | ( | int | node0, |
int | node1 | ||
) | const |
Definition at line 253 of file btSoftBody.cpp.
void btSoftBody::cleanupClusters | ( | ) |
Definition at line 3327 of file btSoftBody.cpp.
Definition at line 1335 of file btSoftBody.cpp.
Definition at line 1266 of file btSoftBody.cpp.
btVector3 btSoftBody::clusterCom | ( | int | cluster | ) | const |
Definition at line 1277 of file btSoftBody.cpp.
int btSoftBody::clusterCount | ( | ) | const |
Definition at line 1260 of file btSoftBody.cpp.
Definition at line 1327 of file btSoftBody.cpp.
Definition at line 1342 of file btSoftBody.cpp.
|
static |
Definition at line 1301 of file btSoftBody.cpp.
|
static |
Definition at line 1311 of file btSoftBody.cpp.
Definition at line 1318 of file btSoftBody.cpp.
Definition at line 1283 of file btSoftBody.cpp.
|
static |
Definition at line 1289 of file btSoftBody.cpp.
Definition at line 1960 of file btSoftBody.cpp.
bool btSoftBody::cutLink | ( | int | node0, |
int | node1, | ||
btScalar | position | ||
) |
Definition at line 1966 of file btSoftBody.cpp.
void btSoftBody::dampClusters | ( | ) |
Definition at line 3410 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | btSoftBody * | psb | ) |
Definition at line 4140 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | const btCollisionObjectWrapper * | pcoWrap | ) |
Definition at line 4058 of file btSoftBody.cpp.
btVector3 btSoftBody::evaluateCom | ( | ) | const |
Definition at line 2717 of file btSoftBody.cpp.
int btSoftBody::generateBendingConstraints | ( | int | distance, |
Material * | mat = 0 |
||
) |
generic Floyd's algorithm
Definition at line 1354 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 1503 of file btSoftBody.cpp.
void btSoftBody::geometricCollisionHandler | ( | btSoftBody * | psb | ) |
Definition at line 4240 of file btSoftBody.cpp.
Definition at line 1161 of file btSoftBody.h.
|
inline |
Definition at line 1027 of file btSoftBody.h.
btVector3 btSoftBody::getLinearVelocity | ( | ) |
Definition at line 1031 of file btSoftBody.cpp.
btScalar btSoftBody::getMass | ( | int | node | ) | const |
Definition at line 927 of file btSoftBody.cpp.
btScalar btSoftBody::getRestLengthScale | ( | ) |
Definition at line 1161 of file btSoftBody.cpp.
btTransform btSoftBody::getRigidTransform | ( | ) |
Definition at line 1064 of file btSoftBody.cpp.
|
inline |
Definition at line 1127 of file btSoftBody.h.
|
inline |
Definition at line 1135 of file btSoftBody.h.
|
static |
Definition at line 4014 of file btSoftBody.cpp.
|
static |
Definition at line 4034 of file btSoftBody.cpp.
btScalar btSoftBody::getTotalMass | ( | ) | const |
Definition at line 933 of file btSoftBody.cpp.
btScalar btSoftBody::getVolume | ( | ) | const |
Definition at line 1241 of file btSoftBody.cpp.
const btVector3 & btSoftBody::getWindVelocity | ( | ) |
Return the wind velocity for interaction with the air.
Definition at line 4297 of file btSoftBody.cpp.
|
inline |
Definition at line 878 of file btSoftBody.h.
void btSoftBody::indicesToPointers | ( | const int * | map = 0 | ) |
Definition at line 2441 of file btSoftBody.cpp.
void btSoftBody::initDefaults | ( | ) |
for now, create a collision shape internally
Definition at line 170 of file btSoftBody.cpp.
void btSoftBody::initializeClusters | ( | ) |
Definition at line 3144 of file btSoftBody.cpp.
void btSoftBody::initializeDmInverse | ( | ) |
Definition at line 3454 of file btSoftBody.cpp.
void btSoftBody::initializeFaceTree | ( | ) |
Definition at line 2624 of file btSoftBody.cpp.
void btSoftBody::integrateMotion | ( | ) |
Definition at line 2330 of file btSoftBody.cpp.
void btSoftBody::interpolateRenderMesh | ( | ) |
Definition at line 3797 of file btSoftBody.cpp.
void btSoftBody::pointersToIndices | ( | ) |
Definition at line 2398 of file btSoftBody.cpp.
void btSoftBody::predictMotion | ( | btScalar | dt | ) |
Definition at line 2081 of file btSoftBody.cpp.
void btSoftBody::prepareClusters | ( | int | iterations | ) |
Definition at line 3341 of file btSoftBody.cpp.
|
static |
Definition at line 3846 of file btSoftBody.cpp.
|
static |
Definition at line 3977 of file btSoftBody.cpp.
|
static |
Definition at line 3867 of file btSoftBody.cpp.
|
static |
Definition at line 3942 of file btSoftBody.cpp.
void btSoftBody::randomizeConstraints | ( | ) |
Definition at line 1469 of file btSoftBody.cpp.
int btSoftBody::rayFaceTest | ( | const btVector3 & | rayFrom, |
const btVector3 & | rayTo, | ||
btScalar & | mint, | ||
int & | index | ||
) | const |
Definition at line 2559 of file btSoftBody.cpp.
bool btSoftBody::rayFaceTest | ( | const btVector3 & | rayFrom, |
const btVector3 & | rayTo, | ||
sRayCast & | results | ||
) |
Definition at line 2036 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 2484 of file btSoftBody.cpp.
Ray casting using rayFrom and rayTo in worldspace, (not direction!)
Definition at line 2021 of file btSoftBody.cpp.
void btSoftBody::rebuildNodeTree | ( | ) |
Definition at line 2679 of file btSoftBody.cpp.
void btSoftBody::refine | ( | ImplicitFn * | ifn, |
btScalar | accurary, | ||
bool | cut | ||
) |
Definition at line 1696 of file btSoftBody.cpp.
void btSoftBody::releaseCluster | ( | int | index | ) |
Definition at line 1487 of file btSoftBody.cpp.
void btSoftBody::releaseClusters | ( | ) |
Definition at line 1497 of file btSoftBody.cpp.
void btSoftBody::removeAnchor | ( | int | node | ) |
Definition at line 563 of file btSoftBody.cpp.
void btSoftBody::resetLinkRestLengths | ( | ) |
Definition at line 1230 of file btSoftBody.cpp.
void btSoftBody::rotate | ( | const btQuaternion & | rot | ) |
Definition at line 1131 of file btSoftBody.cpp.
void btSoftBody::scale | ( | const btVector3 & | scl | ) |
Definition at line 1140 of file btSoftBody.cpp.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btCollisionObject.
Definition at line 4309 of file btSoftBody.cpp.
void btSoftBody::setAngularVelocity | ( | const btVector3 & | angVel | ) |
Definition at line 1053 of file btSoftBody.cpp.
void btSoftBody::setCacheBarycenter | ( | bool | cacheBarycenter | ) |
Definition at line 3449 of file btSoftBody.cpp.
void btSoftBody::setCollisionQuadrature | ( | int | N | ) |
Definition at line 3834 of file btSoftBody.cpp.
|
inlinevirtual |
Reimplemented from btCollisionObject.
Definition at line 889 of file btSoftBody.h.
|
inline |
Definition at line 883 of file btSoftBody.h.
void btSoftBody::setGravityFactor | ( | btScalar | gravFactor | ) |
Definition at line 3444 of file btSoftBody.cpp.
void btSoftBody::setLinearVelocity | ( | const btVector3 & | linVel | ) |
Definition at line 1044 of file btSoftBody.cpp.
void btSoftBody::setMass | ( | int | node, |
btScalar | mass | ||
) |
Definition at line 920 of file btSoftBody.cpp.
void btSoftBody::setMaxStress | ( | btScalar | maxStress | ) |
Definition at line 3791 of file btSoftBody.cpp.
void btSoftBody::setPose | ( | bool | bvolume, |
bool | bframe | ||
) |
Definition at line 1182 of file btSoftBody.cpp.
void btSoftBody::setRestLengthScale | ( | btScalar | restLength | ) |
Definition at line 1167 of file btSoftBody.cpp.
void btSoftBody::setSelfCollision | ( | bool | useSelfCollision | ) |
Definition at line 4047 of file btSoftBody.cpp.
|
inline |
Definition at line 1119 of file btSoftBody.h.
void btSoftBody::setSolver | ( | eSolverPresets::_ | preset | ) |
Definition at line 2056 of file btSoftBody.cpp.
void btSoftBody::setSpringStiffness | ( | btScalar | k | ) |
Definition at line 3435 of file btSoftBody.cpp.
void btSoftBody::setTotalDensity | ( | btScalar | density | ) |
Definition at line 980 of file btSoftBody.cpp.
void btSoftBody::setTotalMass | ( | btScalar | mass, |
bool | fromfaces = false |
||
) |
Definition at line 944 of file btSoftBody.cpp.
void btSoftBody::setVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 896 of file btSoftBody.cpp.
void btSoftBody::setVolumeDensity | ( | btScalar | density | ) |
Definition at line 1016 of file btSoftBody.cpp.
void btSoftBody::setVolumeMass | ( | btScalar | mass | ) |
Definition at line 986 of file btSoftBody.cpp.
void btSoftBody::setWindVelocity | ( | const btVector3 & | velocity | ) |
Set a wind velocity for interaction with the air.
Definition at line 4292 of file btSoftBody.cpp.
void btSoftBody::setZeroVelocity | ( | ) |
Definition at line 4705 of file btSoftBody.cpp.
void btSoftBody::solveClusters | ( | btScalar | sor | ) |
Definition at line 3350 of file btSoftBody.cpp.
|
static |
Definition at line 2301 of file btSoftBody.cpp.
|
static |
placeholder
Definition at line 2295 of file btSoftBody.cpp.
void btSoftBody::solveConstraints | ( | ) |
Definition at line 2190 of file btSoftBody.cpp.
void btSoftBody::staticSolve | ( | int | iterations | ) |
Definition at line 2283 of file btSoftBody.cpp.
void btSoftBody::transform | ( | const btTransform & | trs | ) |
Definition at line 1100 of file btSoftBody.cpp.
void btSoftBody::transformTo | ( | const btTransform & | trs | ) |
Definition at line 1090 of file btSoftBody.cpp.
void btSoftBody::translate | ( | const btVector3 & | trs | ) |
Definition at line 1122 of file btSoftBody.cpp.
|
inlinestatic |
Definition at line 1150 of file btSoftBody.h.
|
inlinestatic |
Definition at line 1144 of file btSoftBody.h.
void btSoftBody::updateArea | ( | bool | averageArea = true | ) |
Definition at line 3059 of file btSoftBody.cpp.
void btSoftBody::updateBounds | ( | ) |
Definition at line 2948 of file btSoftBody.cpp.
void btSoftBody::updateClusters | ( | ) |
Definition at line 3211 of file btSoftBody.cpp.
void btSoftBody::updateConstants | ( | ) |
Definition at line 3136 of file btSoftBody.cpp.
void btSoftBody::updateDeactivation | ( | btScalar | timeStep | ) |
Definition at line 4689 of file btSoftBody.cpp.
void btSoftBody::updateDeformation | ( | ) |
Definition at line 3506 of file btSoftBody.cpp.
|
inline |
Definition at line 1251 of file btSoftBody.h.
|
inline |
Definition at line 1287 of file btSoftBody.h.
void btSoftBody::updateLinkConstants | ( | ) |
Definition at line 3123 of file btSoftBody.cpp.
|
inline |
Definition at line 1212 of file btSoftBody.h.
|
inline |
Definition at line 1244 of file btSoftBody.h.
void btSoftBody::updateNormals | ( | ) |
Definition at line 2919 of file btSoftBody.cpp.
void btSoftBody::updatePose | ( | ) |
Definition at line 3022 of file btSoftBody.cpp.
bool btSoftBody::useSelfCollision | ( | ) |
Definition at line 4052 of file btSoftBody.cpp.
|
static |
Definition at line 4000 of file btSoftBody.cpp.
bool btSoftBody::wantsSleeping | ( | ) |
Definition at line 4713 of file btSoftBody.cpp.
tAnchorArray btSoftBody::m_anchors |
Definition at line 822 of file btSoftBody.h.
btVector3 btSoftBody::m_bounds[2] |
Definition at line 832 of file btSoftBody.h.
bool btSoftBody::m_bUpdateRtCst |
Definition at line 833 of file btSoftBody.h.
bool btSoftBody::m_cacheBarycenter |
Definition at line 845 of file btSoftBody.h.
btDbvt btSoftBody::m_cdbvt |
Definition at line 837 of file btSoftBody.h.
Config btSoftBody::m_cfg |
Definition at line 808 of file btSoftBody.h.
btAlignedObjectArray<bool> btSoftBody::m_clusterConnectivity |
Definition at line 854 of file btSoftBody.h.
tClusterArray btSoftBody::m_clusters |
Definition at line 838 of file btSoftBody.h.
btAlignedObjectArray<const class btCollisionObject*> btSoftBody::m_collisionDisabledObjects |
Definition at line 77 of file btSoftBody.h.
btScalar btSoftBody::m_dampingCoefficient |
Definition at line 839 of file btSoftBody.h.
btAlignedObjectArray<DeformableNodeRigidAnchor> btSoftBody::m_deformableAnchors |
Definition at line 823 of file btSoftBody.h.
btAlignedObjectArray<DeformableFaceNodeContact> btSoftBody::m_faceNodeContacts |
Definition at line 826 of file btSoftBody.h.
btAlignedObjectArray<DeformableFaceRigidContact> btSoftBody::m_faceRigidContacts |
Definition at line 827 of file btSoftBody.h.
tFaceArray btSoftBody::m_faces |
Definition at line 817 of file btSoftBody.h.
btDbvntNode* btSoftBody::m_fdbvnt |
Definition at line 836 of file btSoftBody.h.
btDbvt btSoftBody::m_fdbvt |
Definition at line 835 of file btSoftBody.h.
btScalar btSoftBody::m_gravityFactor |
Definition at line 844 of file btSoftBody.h.
tJointArray btSoftBody::m_joints |
Definition at line 829 of file btSoftBody.h.
tLinkArray btSoftBody::m_links |
Definition at line 816 of file btSoftBody.h.
tMaterialArray btSoftBody::m_materials |
Definition at line 830 of file btSoftBody.h.
btScalar btSoftBody::m_maxSpeedSquared |
Definition at line 841 of file btSoftBody.h.
btDbvt btSoftBody::m_ndbvt |
Definition at line 834 of file btSoftBody.h.
btAlignedObjectArray<DeformableNodeRigidContact> btSoftBody::m_nodeRigidContacts |
Definition at line 825 of file btSoftBody.h.
tNodeArray btSoftBody::m_nodes |
Definition at line 814 of file btSoftBody.h.
tNoteArray btSoftBody::m_notes |
Definition at line 813 of file btSoftBody.h.
Pose btSoftBody::m_pose |
Definition at line 810 of file btSoftBody.h.
btAlignedObjectArray<btVector3> btSoftBody::m_quads |
Definition at line 842 of file btSoftBody.h.
tRContactArray btSoftBody::m_rcontacts |
Definition at line 824 of file btSoftBody.h.
tRenderFaceArray btSoftBody::m_renderFaces |
Definition at line 818 of file btSoftBody.h.
tRenderNodeArray btSoftBody::m_renderNodes |
Definition at line 815 of file btSoftBody.h.
btAlignedObjectArray<btVector4> btSoftBody::m_renderNodesInterpolationWeights |
Definition at line 848 of file btSoftBody.h.
btAlignedObjectArray<btAlignedObjectArray<const btSoftBody::Node*> > btSoftBody::m_renderNodesParents |
Definition at line 849 of file btSoftBody.h.
btScalar btSoftBody::m_repulsionStiffness |
Definition at line 843 of file btSoftBody.h.
btScalar btSoftBody::m_restLengthScale |
Definition at line 858 of file btSoftBody.h.
tSContactArray btSoftBody::m_scontacts |
Definition at line 828 of file btSoftBody.h.
btScalar btSoftBody::m_sleepingThreshold |
Definition at line 840 of file btSoftBody.h.
btSoftBodySolver* btSoftBody::m_softBodySolver |
Definition at line 80 of file btSoftBody.h.
bool btSoftBody::m_softSoftCollision |
Definition at line 852 of file btSoftBody.h.
SolverState btSoftBody::m_sst |
Definition at line 809 of file btSoftBody.h.
void* btSoftBody::m_tag |
Definition at line 811 of file btSoftBody.h.
tTetraArray btSoftBody::m_tetras |
Definition at line 819 of file btSoftBody.h.
btAlignedObjectArray<TetraScratch> btSoftBody::m_tetraScratches |
Definition at line 820 of file btSoftBody.h.
btAlignedObjectArray<TetraScratch> btSoftBody::m_tetraScratchesTn |
Definition at line 821 of file btSoftBody.h.
btScalar btSoftBody::m_timeacc |
Definition at line 831 of file btSoftBody.h.
btAlignedObjectArray<int> btSoftBody::m_userIndexMapping |
Definition at line 876 of file btSoftBody.h.
bool btSoftBody::m_useSelfCollision |
Definition at line 851 of file btSoftBody.h.
btVector3 btSoftBody::m_windVelocity |
Definition at line 856 of file btSoftBody.h.
btSoftBodyWorldInfo* btSoftBody::m_worldInfo |
Definition at line 812 of file btSoftBody.h.
btAlignedObjectArray<btVector3> btSoftBody::m_X |
Definition at line 846 of file btSoftBody.h.
btAlignedObjectArray<btScalar> btSoftBody::m_z |
Definition at line 850 of file btSoftBody.h.