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 | 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 implementation by Nathanael Presson More... | |
btSoftBody (btSoftBodyWorldInfo *worldInfo) | |
void | initDefaults () |
virtual | ~btSoftBody () |
btSoftBodyWorldInfo * | getWorldInfo () |
void | setDampingCoefficient (btScalar damping_coeff) |
void | setUseFaceContact (bool useFaceContact) |
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 | 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 |
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... | |
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 () |
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 | initializeDmInverse () |
void | updateDeformation () |
void | advanceDeformation () |
void | applyForces () |
void | setMaxStress (btScalar maxStress) |
void | interpolateRenderMesh () |
void | setCollisionQuadrature (int N) |
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) |
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) |
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 72 of file btSoftBody.h.
typedef void(* btSoftBody::psolver_t) (btSoftBody *, btScalar, btScalar) |
Definition at line 751 of file btSoftBody.h.
Definition at line 760 of file btSoftBody.h.
Definition at line 753 of file btSoftBody.h.
Definition at line 758 of file btSoftBody.h.
typedef btAlignedObjectArray<Joint*> btSoftBody::tJointArray |
Definition at line 764 of file btSoftBody.h.
Definition at line 756 of file btSoftBody.h.
Definition at line 757 of file btSoftBody.h.
Definition at line 763 of file btSoftBody.h.
Definition at line 755 of file btSoftBody.h.
Definition at line 754 of file btSoftBody.h.
Definition at line 150 of file btSoftBody.h.
Definition at line 761 of file btSoftBody.h.
Definition at line 214 of file btSoftBody.h.
Definition at line 762 of file btSoftBody.h.
Definition at line 765 of file btSoftBody.h.
Definition at line 759 of file btSoftBody.h.
Definition at line 215 of file btSoftBody.h.
Definition at line 149 of file btSoftBody.h.
typedef void(* btSoftBody::vsolver_t) (btSoftBody *, btScalar) |
Definition at line 752 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 28 of file btSoftBody.cpp.
btSoftBody::btSoftBody | ( | btSoftBodyWorldInfo * | worldInfo | ) |
Definition at line 58 of file btSoftBody.cpp.
|
virtual |
Definition at line 126 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToFace | ( | const btVector3 & | windVelocity, |
int | faceIndex | ||
) |
Definition at line 664 of file btSoftBody.cpp.
void btSoftBody::addAeroForceToNode | ( | const btVector3 & | windVelocity, |
int | nodeIndex | ||
) |
Definition at line 575 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force | ) |
Definition at line 560 of file btSoftBody.cpp.
void btSoftBody::addForce | ( | const btVector3 & | force, |
int | node | ||
) |
Definition at line 566 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 760 of file btSoftBody.cpp.
void btSoftBody::addVelocity | ( | const btVector3 & | velocity, |
int | node | ||
) |
Definition at line 779 of file btSoftBody.cpp.
void btSoftBody::advanceDeformation | ( | ) |
Definition at line 3120 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, |
btRigidBody * | body, | ||
bool | disableCollisionBetweenLinkedBodies = false , |
||
btScalar | influence = 1 |
||
) |
Definition at line 388 of file btSoftBody.cpp.
void btSoftBody::appendAnchor | ( | int | node, |
btRigidBody * | body, | ||
const btVector3 & | localPivot, | ||
bool | disableCollisionBetweenLinkedBodies = false , |
||
btScalar | influence = 1 |
||
) |
Definition at line 395 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
Body | body = Body() |
||
) |
Definition at line 548 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
btSoftBody * | body | ||
) |
Definition at line 554 of file btSoftBody.cpp.
void btSoftBody::appendAngularJoint | ( | const AJoint::Specs & | specs, |
Cluster * | body0, | ||
Body | body1 | ||
) |
Definition at line 533 of file btSoftBody.cpp.
void btSoftBody::appendDeformableAnchor | ( | int | node, |
btMultiBodyLinkCollider * | link | ||
) |
Definition at line 451 of file btSoftBody.cpp.
void btSoftBody::appendDeformableAnchor | ( | int | node, |
btRigidBody * | body | ||
) |
Definition at line 415 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | model = -1 , |
Material * | mat = 0 |
||
) |
Definition at line 316 of file btSoftBody.cpp.
void btSoftBody::appendFace | ( | int | node0, |
int | node1, | ||
int | node2, | ||
Material * | mat = 0 |
||
) |
Definition at line 332 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
Body | body = Body() |
||
) |
Definition at line 521 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
btSoftBody * | body | ||
) |
Definition at line 527 of file btSoftBody.cpp.
void btSoftBody::appendLinearJoint | ( | const LJoint::Specs & | specs, |
Cluster * | body0, | ||
Body | body1 | ||
) |
Definition at line 507 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | model = -1 , |
Material * | mat = 0 |
||
) |
Definition at line 276 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | int | node0, |
int | node1, | ||
Material * | mat = 0 , |
||
bool | bcheckexist = false |
||
) |
Definition at line 290 of file btSoftBody.cpp.
void btSoftBody::appendLink | ( | Node * | node0, |
Node * | node1, | ||
Material * | mat = 0 , |
||
bool | bcheckexist = false |
||
) |
Definition at line 299 of file btSoftBody.cpp.
btSoftBody::Material * btSoftBody::appendMaterial | ( | ) |
Definition at line 186 of file btSoftBody.cpp.
Definition at line 256 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 198 of file btSoftBody.cpp.
Definition at line 245 of file btSoftBody.cpp.
Definition at line 235 of file btSoftBody.cpp.
Definition at line 227 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | model, |
Material * | mat | ||
) |
Definition at line 356 of file btSoftBody.cpp.
void btSoftBody::appendTetra | ( | int | node0, |
int | node1, | ||
int | node2, | ||
int | node3, | ||
Material * | mat = 0 |
||
) |
Definition at line 370 of file btSoftBody.cpp.
void btSoftBody::applyClusters | ( | bool | drift | ) |
Definition at line 2996 of file btSoftBody.cpp.
void btSoftBody::applyForces | ( | ) |
Definition at line 3299 of file btSoftBody.cpp.
|
virtual |
Reimplemented from btCollisionObject.
Definition at line 3850 of file btSoftBody.cpp.
bool btSoftBody::checkContact | ( | const btCollisionObjectWrapper * | colObjWrap, |
const btVector3 & | x, | ||
btScalar | margin, | ||
btSoftBody::sCti & | cti | ||
) | const |
Definition at line 2367 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 2396 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 2445 of file btSoftBody.cpp.
bool btSoftBody::checkFace | ( | int | node0, |
int | node1, | ||
int | node2 | ||
) | const |
Definition at line 162 of file btSoftBody.cpp.
Definition at line 146 of file btSoftBody.cpp.
bool btSoftBody::checkLink | ( | int | node0, |
int | node1 | ||
) | const |
Definition at line 140 of file btSoftBody.cpp.
void btSoftBody::cleanupClusters | ( | ) |
Definition at line 2964 of file btSoftBody.cpp.
Definition at line 1136 of file btSoftBody.cpp.
Definition at line 1067 of file btSoftBody.cpp.
btVector3 btSoftBody::clusterCom | ( | int | cluster | ) | const |
Definition at line 1078 of file btSoftBody.cpp.
int btSoftBody::clusterCount | ( | ) | const |
Definition at line 1061 of file btSoftBody.cpp.
Definition at line 1128 of file btSoftBody.cpp.
Definition at line 1143 of file btSoftBody.cpp.
|
static |
Definition at line 1102 of file btSoftBody.cpp.
|
static |
Definition at line 1112 of file btSoftBody.cpp.
Definition at line 1119 of file btSoftBody.cpp.
Definition at line 1084 of file btSoftBody.cpp.
|
static |
Definition at line 1090 of file btSoftBody.cpp.
Definition at line 1761 of file btSoftBody.cpp.
bool btSoftBody::cutLink | ( | int | node0, |
int | node1, | ||
btScalar | position | ||
) |
Definition at line 1767 of file btSoftBody.cpp.
void btSoftBody::dampClusters | ( | ) |
Definition at line 3047 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | btSoftBody * | psb | ) |
Definition at line 3740 of file btSoftBody.cpp.
void btSoftBody::defaultCollisionHandler | ( | const btCollisionObjectWrapper * | pcoWrap | ) |
Definition at line 3613 of file btSoftBody.cpp.
btVector3 btSoftBody::evaluateCom | ( | ) | const |
Definition at line 2354 of file btSoftBody.cpp.
int btSoftBody::generateBendingConstraints | ( | int | distance, |
Material * | mat = 0 |
||
) |
generic Floyd's algorithm
Definition at line 1155 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 1304 of file btSoftBody.cpp.
Definition at line 1109 of file btSoftBody.h.
|
inline |
Definition at line 980 of file btSoftBody.h.
btScalar btSoftBody::getMass | ( | int | node | ) | const |
Definition at line 796 of file btSoftBody.cpp.
btScalar btSoftBody::getRestLengthScale | ( | ) |
Definition at line 962 of file btSoftBody.cpp.
|
inline |
Definition at line 1075 of file btSoftBody.h.
|
inline |
Definition at line 1083 of file btSoftBody.h.
|
static |
Definition at line 3569 of file btSoftBody.cpp.
|
static |
Definition at line 3589 of file btSoftBody.cpp.
btScalar btSoftBody::getTotalMass | ( | ) | const |
Definition at line 802 of file btSoftBody.cpp.
btScalar btSoftBody::getVolume | ( | ) | const |
Definition at line 1042 of file btSoftBody.cpp.
const btVector3 & btSoftBody::getWindVelocity | ( | ) |
Return the wind velocity for interaction with the air.
Definition at line 3845 of file btSoftBody.cpp.
|
inline |
Definition at line 837 of file btSoftBody.h.
void btSoftBody::indicesToPointers | ( | const int * | map = 0 | ) |
Definition at line 2224 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 2781 of file btSoftBody.cpp.
void btSoftBody::initializeDmInverse | ( | ) |
Definition at line 3080 of file btSoftBody.cpp.
void btSoftBody::initializeFaceTree | ( | ) |
Definition at line 2343 of file btSoftBody.cpp.
void btSoftBody::integrateMotion | ( | ) |
Definition at line 2113 of file btSoftBody.cpp.
void btSoftBody::interpolateRenderMesh | ( | ) |
Definition at line 3373 of file btSoftBody.cpp.
void btSoftBody::pointersToIndices | ( | ) |
Definition at line 2181 of file btSoftBody.cpp.
void btSoftBody::predictMotion | ( | btScalar | dt | ) |
Definition at line 1863 of file btSoftBody.cpp.
void btSoftBody::prepareClusters | ( | int | iterations | ) |
Definition at line 2978 of file btSoftBody.cpp.
|
static |
Definition at line 3401 of file btSoftBody.cpp.
|
static |
Definition at line 3532 of file btSoftBody.cpp.
|
static |
Definition at line 3422 of file btSoftBody.cpp.
|
static |
Definition at line 3497 of file btSoftBody.cpp.
void btSoftBody::randomizeConstraints | ( | ) |
Definition at line 1270 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 2267 of file btSoftBody.cpp.
Ray casting using rayFrom and rayTo in worldspace, (not direction!)
Definition at line 1822 of file btSoftBody.cpp.
void btSoftBody::refine | ( | ImplicitFn * | ifn, |
btScalar | accurary, | ||
bool | cut | ||
) |
Definition at line 1497 of file btSoftBody.cpp.
void btSoftBody::releaseCluster | ( | int | index | ) |
Definition at line 1288 of file btSoftBody.cpp.
void btSoftBody::releaseClusters | ( | ) |
Definition at line 1298 of file btSoftBody.cpp.
void btSoftBody::resetLinkRestLengths | ( | ) |
Definition at line 1031 of file btSoftBody.cpp.
void btSoftBody::rotate | ( | const btQuaternion & | rot | ) |
Definition at line 932 of file btSoftBody.cpp.
void btSoftBody::scale | ( | const btVector3 & | scl | ) |
Definition at line 941 of file btSoftBody.cpp.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btCollisionObject.
Definition at line 3857 of file btSoftBody.cpp.
void btSoftBody::setCollisionQuadrature | ( | int | N | ) |
Definition at line 3389 of file btSoftBody.cpp.
|
inlinevirtual |
Reimplemented from btCollisionObject.
Definition at line 853 of file btSoftBody.h.
|
inline |
Definition at line 842 of file btSoftBody.h.
void btSoftBody::setMass | ( | int | node, |
btScalar | mass | ||
) |
Definition at line 789 of file btSoftBody.cpp.
void btSoftBody::setMaxStress | ( | btScalar | maxStress | ) |
Definition at line 3367 of file btSoftBody.cpp.
void btSoftBody::setPose | ( | bool | bvolume, |
bool | bframe | ||
) |
Definition at line 983 of file btSoftBody.cpp.
void btSoftBody::setRestLengthScale | ( | btScalar | restLength | ) |
Definition at line 968 of file btSoftBody.cpp.
void btSoftBody::setSelfCollision | ( | bool | useSelfCollision | ) |
Definition at line 3602 of file btSoftBody.cpp.
|
inline |
Definition at line 1067 of file btSoftBody.h.
void btSoftBody::setSolver | ( | eSolverPresets::_ | preset | ) |
Definition at line 1838 of file btSoftBody.cpp.
void btSoftBody::setSpringStiffness | ( | btScalar | k | ) |
Definition at line 3072 of file btSoftBody.cpp.
void btSoftBody::setTotalDensity | ( | btScalar | density | ) |
Definition at line 849 of file btSoftBody.cpp.
void btSoftBody::setTotalMass | ( | btScalar | mass, |
bool | fromfaces = false |
||
) |
Definition at line 813 of file btSoftBody.cpp.
|
inline |
Definition at line 847 of file btSoftBody.h.
void btSoftBody::setVelocity | ( | const btVector3 & | velocity | ) |
Definition at line 766 of file btSoftBody.cpp.
void btSoftBody::setVolumeDensity | ( | btScalar | density | ) |
Definition at line 885 of file btSoftBody.cpp.
void btSoftBody::setVolumeMass | ( | btScalar | mass | ) |
Definition at line 855 of file btSoftBody.cpp.
void btSoftBody::setWindVelocity | ( | const btVector3 & | velocity | ) |
Set a wind velocity for interaction with the air.
Definition at line 3840 of file btSoftBody.cpp.
void btSoftBody::setZeroVelocity | ( | ) |
Definition at line 4254 of file btSoftBody.cpp.
void btSoftBody::solveClusters | ( | btScalar | sor | ) |
Definition at line 2987 of file btSoftBody.cpp.
|
static |
Definition at line 2084 of file btSoftBody.cpp.
|
static |
placeholder
Definition at line 2078 of file btSoftBody.cpp.
void btSoftBody::solveConstraints | ( | ) |
Definition at line 1973 of file btSoftBody.cpp.
void btSoftBody::staticSolve | ( | int | iterations | ) |
Definition at line 2066 of file btSoftBody.cpp.
void btSoftBody::transform | ( | const btTransform & | trs | ) |
Definition at line 900 of file btSoftBody.cpp.
void btSoftBody::translate | ( | const btVector3 & | trs | ) |
Definition at line 923 of file btSoftBody.cpp.
|
inlinestatic |
Definition at line 1098 of file btSoftBody.h.
|
inlinestatic |
Definition at line 1092 of file btSoftBody.h.
void btSoftBody::updateArea | ( | bool | averageArea = true | ) |
Definition at line 2696 of file btSoftBody.cpp.
void btSoftBody::updateBounds | ( | ) |
Definition at line 2585 of file btSoftBody.cpp.
void btSoftBody::updateClusters | ( | ) |
Definition at line 2848 of file btSoftBody.cpp.
void btSoftBody::updateConstants | ( | ) |
Definition at line 2773 of file btSoftBody.cpp.
void btSoftBody::updateDeactivation | ( | btScalar | timeStep | ) |
Definition at line 4237 of file btSoftBody.cpp.
void btSoftBody::updateDeformation | ( | ) |
Definition at line 3098 of file btSoftBody.cpp.
void btSoftBody::updateLinkConstants | ( | ) |
Definition at line 2760 of file btSoftBody.cpp.
void btSoftBody::updateNormals | ( | ) |
Definition at line 2556 of file btSoftBody.cpp.
void btSoftBody::updatePose | ( | ) |
Definition at line 2659 of file btSoftBody.cpp.
bool btSoftBody::useSelfCollision | ( | ) |
Definition at line 3607 of file btSoftBody.cpp.
|
static |
Definition at line 3555 of file btSoftBody.cpp.
bool btSoftBody::wantsSleeping | ( | ) |
Definition at line 4262 of file btSoftBody.cpp.
tAnchorArray btSoftBody::m_anchors |
Definition at line 785 of file btSoftBody.h.
btVector3 btSoftBody::m_bounds[2] |
Definition at line 795 of file btSoftBody.h.
bool btSoftBody::m_bUpdateRtCst |
Definition at line 796 of file btSoftBody.h.
btDbvt btSoftBody::m_cdbvt |
Definition at line 799 of file btSoftBody.h.
Config btSoftBody::m_cfg |
Definition at line 771 of file btSoftBody.h.
btAlignedObjectArray<bool> btSoftBody::m_clusterConnectivity |
Definition at line 811 of file btSoftBody.h.
tClusterArray btSoftBody::m_clusters |
Definition at line 800 of file btSoftBody.h.
btAlignedObjectArray<const class btCollisionObject*> btSoftBody::m_collisionDisabledObjects |
Definition at line 75 of file btSoftBody.h.
btScalar btSoftBody::m_dampingCoefficient |
Definition at line 801 of file btSoftBody.h.
btAlignedObjectArray<DeformableNodeRigidAnchor> btSoftBody::m_deformableAnchors |
Definition at line 786 of file btSoftBody.h.
btAlignedObjectArray<DeformableFaceNodeContact> btSoftBody::m_faceNodeContacts |
Definition at line 789 of file btSoftBody.h.
btAlignedObjectArray<DeformableFaceRigidContact> btSoftBody::m_faceRigidContacts |
Definition at line 790 of file btSoftBody.h.
tFaceArray btSoftBody::m_faces |
Definition at line 780 of file btSoftBody.h.
btDbvt btSoftBody::m_fdbvt |
Definition at line 798 of file btSoftBody.h.
btTransform btSoftBody::m_initialWorldTransform |
Definition at line 813 of file btSoftBody.h.
tJointArray btSoftBody::m_joints |
Definition at line 792 of file btSoftBody.h.
tLinkArray btSoftBody::m_links |
Definition at line 779 of file btSoftBody.h.
tMaterialArray btSoftBody::m_materials |
Definition at line 793 of file btSoftBody.h.
btScalar btSoftBody::m_maxSpeedSquared |
Definition at line 803 of file btSoftBody.h.
btDbvt btSoftBody::m_ndbvt |
Definition at line 797 of file btSoftBody.h.
btAlignedObjectArray<DeformableNodeRigidContact> btSoftBody::m_nodeRigidContacts |
Definition at line 788 of file btSoftBody.h.
tNodeArray btSoftBody::m_nodes |
Definition at line 777 of file btSoftBody.h.
tNoteArray btSoftBody::m_notes |
Definition at line 776 of file btSoftBody.h.
Pose btSoftBody::m_pose |
Definition at line 773 of file btSoftBody.h.
btAlignedObjectArray<btVector3> btSoftBody::m_quads |
Definition at line 805 of file btSoftBody.h.
tRContactArray btSoftBody::m_rcontacts |
Definition at line 787 of file btSoftBody.h.
tFaceArray btSoftBody::m_renderFaces |
Definition at line 781 of file btSoftBody.h.
tNodeArray btSoftBody::m_renderNodes |
Definition at line 778 of file btSoftBody.h.
btAlignedObjectArray<btVector4> btSoftBody::m_renderNodesInterpolationWeights |
Definition at line 807 of file btSoftBody.h.
btAlignedObjectArray<btAlignedObjectArray<const btSoftBody::Node*> > btSoftBody::m_renderNodesParents |
Definition at line 808 of file btSoftBody.h.
btScalar btSoftBody::m_restLengthScale |
Definition at line 817 of file btSoftBody.h.
tSContactArray btSoftBody::m_scontacts |
Definition at line 791 of file btSoftBody.h.
btScalar btSoftBody::m_sleepingThreshold |
Definition at line 802 of file btSoftBody.h.
btSoftBodySolver* btSoftBody::m_softBodySolver |
Definition at line 78 of file btSoftBody.h.
SolverState btSoftBody::m_sst |
Definition at line 772 of file btSoftBody.h.
void* btSoftBody::m_tag |
Definition at line 774 of file btSoftBody.h.
tTetraArray btSoftBody::m_tetras |
Definition at line 782 of file btSoftBody.h.
btAlignedObjectArray<TetraScratch> btSoftBody::m_tetraScratches |
Definition at line 783 of file btSoftBody.h.
btAlignedObjectArray<TetraScratch> btSoftBody::m_tetraScratchesTn |
Definition at line 784 of file btSoftBody.h.
btScalar btSoftBody::m_timeacc |
Definition at line 794 of file btSoftBody.h.
bool btSoftBody::m_useFaceContact |
Definition at line 804 of file btSoftBody.h.
btAlignedObjectArray<int> btSoftBody::m_userIndexMapping |
Definition at line 835 of file btSoftBody.h.
bool btSoftBody::m_useSelfCollision |
Definition at line 809 of file btSoftBody.h.
btVector3 btSoftBody::m_windVelocity |
Definition at line 815 of file btSoftBody.h.
btSoftBodyWorldInfo* btSoftBody::m_worldInfo |
Definition at line 775 of file btSoftBody.h.