BulletSoftBody (object)

The BulletSoftBody is an class to simulate cloth and volumetric soft bodies. There is two-way interaction between BulletSoftBody and BulletRigidBody/BulletICollisionObject.

BulletSoftBody BulletSoftBody BulletSoftBody BulletICollisionObject BulletICollisionObject BulletSoftBody->BulletICollisionObject

Members

Data pointer  
BulletSoftBodyWorldInfo __worldInfo  
BulletCollisionShape __collisionShape  
BulletSoftBodySolver __softBodySolver  
Object __userPointer  

Methods

  BulletSoftBody ( in BulletSoftBody other )
  BulletSoftBody ( in BulletSoftBodyWorldInfo worldInfo )
  BulletSoftBody ( in BulletSoftBodyWorldInfo worldInfo, in Vec3 x[] )
  BulletSoftBody ( in BulletSoftBodyWorldInfo worldInfo, in Vec3 x[], in Scalar m[] )
  BulletSoftBody ()
Data __appendMaterial ! ()
  __construct ! ( in BulletSoftBodyWorldInfo worldInfo )
  __construct ! ( in BulletSoftBodyWorldInfo worldInfo, in Vec3 x[], in Scalar m[] )
  __destroy ! ()
Integer __generateClusters ? ( in Integer k, in Integer maxiterations )
BulletSoftBodyCollisionShape __getCollisionShape ? ()
Data __getConfigData ? ()
  __setCollisionShape ! ( in BulletCollisionShape collisionShape )
  __setSoftBodySolver ! ( in BulletSoftBodySolver softBodySolver )
  activate ! ( in Boolean forceActivation )
  activate ! ()
  addForce ! ( in Vec3 force )
  addForce ! ( in Vec3 force, in Integer node )
  addVelocity ! ( in Vec3 velocity )
  addVelocity ! ( in Vec3 velocity, in Integer node )
  appendAnchor ! ( in Integer node, in BulletRigidBody body )
  appendAnchor ! ( in Integer node, in BulletRigidBody body, in Boolean disableCollisionBetweenLinkedBodies, in Scalar influence )
  appendAnchor ! ( in Integer node, in BulletRigidBody body, in Vec3 localPivot )
  appendAnchor ! ( in Integer node, in BulletRigidBody body, in Vec3 localPivot, in Boolean disableCollisionBetweenLinkedBodies, in Scalar influence )
  appendFace ! ( in Integer model )
  appendFace ! ( in Integer model, in BulletSoftBodyMaterial mat )
  appendFace ! ( in Integer node0, in Integer node1, in Integer node2 )
  appendFace ! ( in Integer node0, in Integer node1, in Integer node2, in BulletSoftBodyMaterial mat )
  appendFace ! ()
  appendLink ! ( in Integer model )
  appendLink ! ( in Integer model, in BulletSoftBodyMaterial mat )
  appendLink ! ( in Integer node0, in Integer node1 )
  appendLink ! ( in Integer node0, in Integer node1, in BulletSoftBodyMaterial mat )
  appendLink ! ( in Integer node0, in Integer node1, in BulletSoftBodyMaterial mat, in Boolean bcheckexist )
  appendLink ! ()
BulletSoftBodyMaterial appendMaterial ! ()
BulletSoftBody clone ? ()
  forceActivationState ! ( in Integer newState )
Integer generateBendingConstraints ? ( in Integer distance )
Integer generateBendingConstraints ? ( in Integer distance, in BulletSoftBodyMaterial mat )
Integer generateClusters ? ( in Integer k )
Integer getActivationState ? ()
Vec3 getAnisotropicFriction ? ()
BulletBroadphaseProxy getBroadphaseHandle ? ()
Scalar getCcdMotionThreshold ? ()
Scalar getCcdSquareMotionThreshold ? ()
Scalar getCcdSweptSphereRadius ? ()
Integer getCollisionFlags ? ()
BulletCollisionShape getCollisionShape ? ()
Integer getCompanionId ? ()
BulletSoftBodyConfig getConfig ? ()
Scalar getContactProcessingThreshold ? ()
Scalar getDeactivationTime ? ()
Scalar getFriction ? ()
Scalar getHitFraction ? ()
Xfo getInitialWorldTransform ? ()
Vec3 getInterpolationAngularVelocity ? ()
Vec3 getInterpolationLinearVelocity ? ()
Xfo getInterpolationWorldTransform ? ()
Integer getIslandTag ? ()
Scalar getMass ? ( in Integer node )
Data[] getMaterialDatas ? ()
BulletSoftBodyMaterial[] getMaterials ? ()
BulletSoftBodyNode getNode ? ( in Integer nodeIndex )
UInt32 getNumNodes ? ()
Object getObject ? ()
Data getPointer ? ()
Scalar getRestitution ? ()
BulletSoftBodySolver getSoftBodySolver ? ()
Scalar getTotalMass ? ()
Object getUserPointer ? ()
Scalar getVolume ? ()
BulletSoftBodyWorldInfo getWorldInfo ? ()
Xfo getWorldTransform ? ()
Boolean hasAnisotropicFriction ? ()
Boolean hasContactResponse ? ()
Boolean isActive ? ()
Boolean isKinematicObject ? ()
Boolean isStaticObject ? ()
Boolean isStaticOrKinematicObject ? ()
Boolean mergesSimulationIslands ? ()
  randomizeConstraints ! ()
  rotate ! ( in Quat rot )
  scale ! ( in Vec3 scl )
  setActivationState ! ( in Integer newState )
  setAnisotropicFriction ! ( in Vec3 anisotropicFriction )
  setCcdMotionThreshold ! ( in Scalar ccdMotionThreshold )
  setCcdSweptSphereRadius ! ( in Scalar radius )
  setCollisionFlags ! ( in Integer flags )
  setCollisionShape ! ( in BulletCollisionShape collisionShape )
  setCompanionId ! ( in Integer id )
  setContactProcessingThreshold ! ( in Scalar contactProcessingThreshold )
  setDeactivationTime ! ( in Scalar time )
  setFriction ! ( in Scalar frict )
  setHitFraction ! ( in Scalar hitFraction )
  setInterpolationAngularVelocity ! ( in Vec3 angvel )
  setInterpolationLinearVelocity ! ( in Vec3 linvel )
  setInterpolationWorldTransform ! ( in Xfo trans )
  setIslandTag ! ( in Integer tag )
  setMass ! ( in Integer node, in Scalar mass )
  setNode ! ( in Integer nodeIndex, in BulletSoftBodyNode node )
  setPose ! ( in Boolean bvolume, in Boolean bframe )
  setRestitution ! ( in Scalar rest )
  setSoftBodySolver ! ( in BulletSoftBodySolver softBodySolver )
  setTotalDensity ! ( in Scalar density )
  setTotalMass ! ( in Scalar mas )
  setTotalMass ! ( in Scalar mass, in Boolean fromfaces )
  setUserPointer ! ( in Object userPointer )
  setVelocity ! ( in Vec3 velocity )
  setVolumeDensity ! ( in Scalar density )
  setVolumeMass ! ( in Scalar mass )
  setWorldTransform ! ( in Xfo worldTrans )
  transform ! ( in Xfo trs )
  translate ! ( in Vec3 trs )
  ~BulletSoftBody ()

Methods in detail

BulletSoftBody ( in BulletSoftBody other )

copy constructor


BulletSoftBody ( in BulletSoftBodyWorldInfo worldInfo )


BulletSoftBody ( in BulletSoftBodyWorldInfo worldInfo, in Vec3 x[] )


BulletSoftBody ( in BulletSoftBodyWorldInfo worldInfo, in Vec3 x[], in Scalar m[] )


BulletSoftBody ()


Data BulletSoftBody.__appendMaterial! ()


BulletSoftBody.__construct! ( in BulletSoftBodyWorldInfo worldInfo )


BulletSoftBody.__construct! ( in BulletSoftBodyWorldInfo worldInfo, in Vec3 x[], in Scalar m[] )


BulletSoftBody.__destroy! ()


Integer BulletSoftBody.__generateClusters? ( in Integer k, in Integer maxiterations )


BulletSoftBodyCollisionShape BulletSoftBody.__getCollisionShape? ()


Data BulletSoftBody.__getConfigData? ()


BulletSoftBody.__setCollisionShape! ( in BulletCollisionShape collisionShape )


BulletSoftBody.__setSoftBodySolver! ( in BulletSoftBodySolver softBodySolver )


BulletSoftBody.activate! ( in Boolean forceActivation )


BulletSoftBody.activate! ()


BulletSoftBody.addForce! ( in Vec3 force )


BulletSoftBody.addForce! ( in Vec3 force, in Integer node )


BulletSoftBody.addVelocity! ( in Vec3 velocity )


BulletSoftBody.addVelocity! ( in Vec3 velocity, in Integer node )


BulletSoftBody.appendAnchor! ( in Integer node, in BulletRigidBody body )


BulletSoftBody.appendAnchor! ( in Integer node, in BulletRigidBody body, in Boolean disableCollisionBetweenLinkedBodies, in Scalar influence )


BulletSoftBody.appendAnchor! ( in Integer node, in BulletRigidBody body, in Vec3 localPivot )


BulletSoftBody.appendAnchor! ( in Integer node, in BulletRigidBody body, in Vec3 localPivot, in Boolean disableCollisionBetweenLinkedBodies, in Scalar influence )


BulletSoftBody.appendFace! ( in Integer model )


BulletSoftBody.appendFace! ( in Integer model, in BulletSoftBodyMaterial mat )


BulletSoftBody.appendFace! ( in Integer node0, in Integer node1, in Integer node2 )


BulletSoftBody.appendFace! ( in Integer node0, in Integer node1, in Integer node2, in BulletSoftBodyMaterial mat )


BulletSoftBody.appendFace! ()


BulletSoftBody.appendLink! ( in Integer model )


BulletSoftBody.appendLink! ( in Integer model, in BulletSoftBodyMaterial mat )


BulletSoftBody.appendLink! ( in Integer node0, in Integer node1 )


BulletSoftBody.appendLink! ( in Integer node0, in Integer node1, in BulletSoftBodyMaterial mat )


BulletSoftBody.appendLink! ( in Integer node0, in Integer node1, in BulletSoftBodyMaterial mat, in Boolean bcheckexist )


BulletSoftBody.appendLink! ()


BulletSoftBodyMaterial BulletSoftBody.appendMaterial! ()


BulletSoftBody BulletSoftBody.clone? ()

clone method


BulletSoftBody.forceActivationState! ( in Integer newState )


Integer BulletSoftBody.generateBendingConstraints? ( in Integer distance )


Integer BulletSoftBody.generateBendingConstraints? ( in Integer distance, in BulletSoftBodyMaterial mat )


Integer BulletSoftBody.generateClusters? ( in Integer k )

generateClusters with k=0 will create a convex cluster for each tetrahedron or triangle otherwise an approximation will be used (better performance)


Integer BulletSoftBody.getActivationState? ()


Vec3 BulletSoftBody.getAnisotropicFriction? ()


BulletBroadphaseProxy BulletSoftBody.getBroadphaseHandle? ()


Scalar BulletSoftBody.getCcdMotionThreshold? ()


Scalar BulletSoftBody.getCcdSquareMotionThreshold? ()


Scalar BulletSoftBody.getCcdSweptSphereRadius? ()

Swept sphere radius (0.0 by default), see BulletConvexConvexAlgorithm:


Integer BulletSoftBody.getCollisionFlags? ()


BulletCollisionShape BulletSoftBody.getCollisionShape? ()


Integer BulletSoftBody.getCompanionId? ()


BulletSoftBodyConfig BulletSoftBody.getConfig? ()


Scalar BulletSoftBody.getContactProcessingThreshold? ()


Scalar BulletSoftBody.getDeactivationTime? ()


Scalar BulletSoftBody.getFriction? ()


Scalar BulletSoftBody.getHitFraction? ()


Xfo BulletSoftBody.getInitialWorldTransform? ()


Vec3 BulletSoftBody.getInterpolationAngularVelocity? ()


Vec3 BulletSoftBody.getInterpolationLinearVelocity? ()


Xfo BulletSoftBody.getInterpolationWorldTransform? ()


Integer BulletSoftBody.getIslandTag? ()


Scalar BulletSoftBody.getMass? ( in Integer node )


Data[] BulletSoftBody.getMaterialDatas? ()


BulletSoftBodyMaterial[] BulletSoftBody.getMaterials? ()


BulletSoftBodyNode BulletSoftBody.getNode? ( in Integer nodeIndex )


UInt32 BulletSoftBody.getNumNodes? ()


Object BulletSoftBody.getObject? ()


Data BulletSoftBody.getPointer? ()


Scalar BulletSoftBody.getRestitution? ()


BulletSoftBodySolver BulletSoftBody.getSoftBodySolver? ()


Scalar BulletSoftBody.getTotalMass? ()


Object BulletSoftBody.getUserPointer? ()

users can point to their objects, userPointer is not used by Bullet


Scalar BulletSoftBody.getVolume? ()


BulletSoftBodyWorldInfo BulletSoftBody.getWorldInfo? ()


Xfo BulletSoftBody.getWorldTransform? ()


Boolean BulletSoftBody.hasAnisotropicFriction? ()


Boolean BulletSoftBody.hasContactResponse? ()


Boolean BulletSoftBody.isActive? ()


Boolean BulletSoftBody.isKinematicObject? ()


Boolean BulletSoftBody.isStaticObject? ()


Boolean BulletSoftBody.isStaticOrKinematicObject? ()


Boolean BulletSoftBody.mergesSimulationIslands? ()


BulletSoftBody.randomizeConstraints! ()


BulletSoftBody.rotate! ( in Quat rot )


BulletSoftBody.scale! ( in Vec3 scl )


BulletSoftBody.setActivationState! ( in Integer newState )


BulletSoftBody.setAnisotropicFriction! ( in Vec3 anisotropicFriction )


BulletSoftBody.setCcdMotionThreshold! ( in Scalar ccdMotionThreshold )

Don’t do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold


BulletSoftBody.setCcdSweptSphereRadius! ( in Scalar radius )

Swept sphere radius (0.0 by default), see BulletConvexConvexAlgorithm:


BulletSoftBody.setCollisionFlags! ( in Integer flags )


BulletSoftBody.setCollisionShape! ( in BulletCollisionShape collisionShape )


BulletSoftBody.setCompanionId! ( in Integer id )


BulletSoftBody.setContactProcessingThreshold! ( in Scalar contactProcessingThreshold )

the constraint solver can discard solving contacts, if the distance is above this threshold. 0 by default. Note that using contacts with positive distance can improve stability. It increases, however, the chance of colliding with delegate contacts, such as ‘interior’ triangle edges


BulletSoftBody.setDeactivationTime! ( in Scalar time )


BulletSoftBody.setFriction! ( in Scalar frict )


BulletSoftBody.setHitFraction! ( in Scalar hitFraction )


BulletSoftBody.setInterpolationAngularVelocity! ( in Vec3 angvel )


BulletSoftBody.setInterpolationLinearVelocity! ( in Vec3 linvel )


BulletSoftBody.setInterpolationWorldTransform! ( in Xfo trans )


BulletSoftBody.setIslandTag! ( in Integer tag )


BulletSoftBody.setMass! ( in Integer node, in Scalar mass )


BulletSoftBody.setNode! ( in Integer nodeIndex, in BulletSoftBodyNode node )


BulletSoftBody.setPose! ( in Boolean bvolume, in Boolean bframe )


BulletSoftBody.setRestitution! ( in Scalar rest )


BulletSoftBody.setSoftBodySolver! ( in BulletSoftBodySolver softBodySolver )


BulletSoftBody.setTotalDensity! ( in Scalar density )


BulletSoftBody.setTotalMass! ( in Scalar mas )


BulletSoftBody.setTotalMass! ( in Scalar mass, in Boolean fromfaces )


BulletSoftBody.setUserPointer! ( in Object userPointer )

users can point to their objects, userPointer is not used by Bullet


BulletSoftBody.setVelocity! ( in Vec3 velocity )


BulletSoftBody.setVolumeDensity! ( in Scalar density )


BulletSoftBody.setVolumeMass! ( in Scalar mass )


BulletSoftBody.setWorldTransform! ( in Xfo worldTrans )


BulletSoftBody.transform! ( in Xfo trs )


BulletSoftBody.translate! ( in Vec3 trs )


~ BulletSoftBody ()