Bullet Collision Detection & Physics Library
Public Types | Public Member Functions | Private Attributes | List of all members
btDeformableMassSpringForce Class Reference

#include <btDeformableMassSpringForce.h>

Inheritance diagram for btDeformableMassSpringForce:
Inheritance graph
[legend]
Collaboration diagram for btDeformableMassSpringForce:
Collaboration graph
[legend]

Public Types

typedef btAlignedObjectArray< btVector3TVStack
 
- Public Types inherited from btDeformableLagrangianForce
typedef btAlignedObjectArray< btVector3TVStack
 

Public Member Functions

 btDeformableMassSpringForce ()
 
 btDeformableMassSpringForce (btScalar k, btScalar d, bool conserve_angular=true, double bending_k=-1)
 
virtual void addScaledForces (btScalar scale, TVStack &force)
 
virtual void addScaledExplicitForce (btScalar scale, TVStack &force)
 
virtual void addScaledDampingForce (btScalar scale, TVStack &force)
 
virtual void addScaledElasticForce (btScalar scale, TVStack &force)
 
virtual void addScaledDampingForceDifferential (btScalar scale, const TVStack &dv, TVStack &df)
 
virtual void buildDampingForceDifferentialDiagonal (btScalar scale, TVStack &diagA)
 
virtual double totalElasticEnergy (btScalar dt)
 
virtual double totalDampingEnergy (btScalar dt)
 
virtual void addScaledElasticForceDifferential (btScalar scale, const TVStack &dx, TVStack &df)
 
virtual btDeformableLagrangianForceType getForceType ()
 
- Public Member Functions inherited from btDeformableLagrangianForce
 btDeformableLagrangianForce ()
 
virtual ~btDeformableLagrangianForce ()
 
virtual void addScaledForces (btScalar scale, TVStack &force)=0
 
virtual void addScaledDampingForceDifferential (btScalar scale, const TVStack &dv, TVStack &df)=0
 
virtual void buildDampingForceDifferentialDiagonal (btScalar scale, TVStack &diagA)=0
 
virtual void addScaledElasticForceDifferential (btScalar scale, const TVStack &dx, TVStack &df)=0
 
virtual void addScaledExplicitForce (btScalar scale, TVStack &force)=0
 
virtual void addScaledDampingForce (btScalar scale, TVStack &force)=0
 
virtual void addScaledHessian (btScalar scale)
 
virtual btDeformableLagrangianForceType getForceType ()=0
 
virtual void reinitialize (bool nodeUpdated)
 
virtual int getNumNodes ()
 
virtual void addSoftBody (btSoftBody *psb)
 
virtual void removeSoftBody (btSoftBody *psb)
 
virtual void setIndices (const btAlignedObjectArray< btSoftBody::Node * > *nodes)
 
virtual btMatrix3x3 Ds (int id0, int id1, int id2, int id3, const TVStack &dx)
 
virtual btMatrix3x3 DsFromVelocity (const btSoftBody::Node *n0, const btSoftBody::Node *n1, const btSoftBody::Node *n2, const btSoftBody::Node *n3)
 
virtual void testDerivative ()
 
virtual void testHessian ()
 
virtual double totalElasticEnergy (btScalar dt)
 
virtual double totalDampingEnergy (btScalar dt)
 
virtual double totalEnergy (btScalar dt)
 

Private Attributes

bool m_momentum_conserving
 
btScalar m_elasticStiffness
 
btScalar m_dampingStiffness
 
btScalar m_bendingStiffness
 

Additional Inherited Members

- Public Attributes inherited from btDeformableLagrangianForce
btAlignedObjectArray< btSoftBody * > m_softBodies
 
const btAlignedObjectArray< btSoftBody::Node * > * m_nodes
 

Detailed Description

Definition at line 21 of file btDeformableMassSpringForce.h.

Member Typedef Documentation

◆ TVStack

Definition at line 29 of file btDeformableMassSpringForce.h.

Constructor & Destructor Documentation

◆ btDeformableMassSpringForce() [1/2]

btDeformableMassSpringForce::btDeformableMassSpringForce ( )
inline

Definition at line 30 of file btDeformableMassSpringForce.h.

◆ btDeformableMassSpringForce() [2/2]

btDeformableMassSpringForce::btDeformableMassSpringForce ( btScalar  k,
btScalar  d,
bool  conserve_angular = true,
double  bending_k = -1 
)
inline

Definition at line 33 of file btDeformableMassSpringForce.h.

Member Function Documentation

◆ addScaledDampingForce()

virtual void btDeformableMassSpringForce::addScaledDampingForce ( btScalar  scale,
TVStack force 
)
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 52 of file btDeformableMassSpringForce.h.

◆ addScaledDampingForceDifferential()

virtual void btDeformableMassSpringForce::addScaledDampingForceDifferential ( btScalar  scale,
const TVStack dv,
TVStack df 
)
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 119 of file btDeformableMassSpringForce.h.

◆ addScaledElasticForce()

virtual void btDeformableMassSpringForce::addScaledElasticForce ( btScalar  scale,
TVStack force 
)
inlinevirtual

Definition at line 88 of file btDeformableMassSpringForce.h.

◆ addScaledElasticForceDifferential()

virtual void btDeformableMassSpringForce::addScaledElasticForceDifferential ( btScalar  scale,
const TVStack dx,
TVStack df 
)
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 257 of file btDeformableMassSpringForce.h.

◆ addScaledExplicitForce()

virtual void btDeformableMassSpringForce::addScaledExplicitForce ( btScalar  scale,
TVStack force 
)
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 47 of file btDeformableMassSpringForce.h.

◆ addScaledForces()

virtual void btDeformableMassSpringForce::addScaledForces ( btScalar  scale,
TVStack force 
)
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 41 of file btDeformableMassSpringForce.h.

◆ buildDampingForceDifferentialDiagonal()

virtual void btDeformableMassSpringForce::buildDampingForceDifferentialDiagonal ( btScalar  scale,
TVStack diagA 
)
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 153 of file btDeformableMassSpringForce.h.

◆ getForceType()

virtual btDeformableLagrangianForceType btDeformableMassSpringForce::getForceType ( )
inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 295 of file btDeformableMassSpringForce.h.

◆ totalDampingEnergy()

virtual double btDeformableMassSpringForce::totalDampingEnergy ( btScalar  dt)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 224 of file btDeformableMassSpringForce.h.

◆ totalElasticEnergy()

virtual double btDeformableMassSpringForce::totalElasticEnergy ( btScalar  dt)
inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 199 of file btDeformableMassSpringForce.h.

Member Data Documentation

◆ m_bendingStiffness

btScalar btDeformableMassSpringForce::m_bendingStiffness
private

Definition at line 26 of file btDeformableMassSpringForce.h.

◆ m_dampingStiffness

btScalar btDeformableMassSpringForce::m_dampingStiffness
private

Definition at line 26 of file btDeformableMassSpringForce.h.

◆ m_elasticStiffness

btScalar btDeformableMassSpringForce::m_elasticStiffness
private

Definition at line 26 of file btDeformableMassSpringForce.h.

◆ m_momentum_conserving

bool btDeformableMassSpringForce::m_momentum_conserving
private

Definition at line 25 of file btDeformableMassSpringForce.h.


The documentation for this class was generated from the following file: