Bullet Collision Detection & Physics Library: btDeformableNeoHookeanForce Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Public Attributes | List of all members
btDeformableNeoHookeanForce Class Reference

`#include <btDeformableNeoHookeanForce.h>`

Inheritance diagram for btDeformableNeoHookeanForce:
[legend]
Collaboration diagram for btDeformableNeoHookeanForce:
[legend]

## Public Types
typedef btAlignedObjectArray< btVector3 > | TVStack
Public Types inherited from btDeformableLagrangianForce
typedef btAlignedObjectArray< btVector3 > | TVStack

## Public Member Functions
| btDeformableNeoHookeanForce ()
| btDeformableNeoHookeanForce (btScalar mu, btScalar lambda, btScalar damping=0.05)
void | updateYoungsModulusAndPoissonRatio ()
void | updateLameParameters ()
void | setYoungsModulus (btScalar E)
void | setPoissonRatio (btScalar nu)
void | setDamping (btScalar damping)
void | setLameParameters (btScalar mu, btScalar lambda)
virtual void | addScaledForces (btScalar scale, TVStack &force)
virtual void | addScaledExplicitForce (btScalar scale, TVStack &force)
virtual void | addScaledDampingForce (btScalar scale, TVStack &force)
virtual double | totalElasticEnergy (btScalar dt)
virtual double | totalDampingEnergy (btScalar dt)
double | elasticEnergyDensity (const btSoftBody::TetraScratch &s)
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 void | addScaledElasticForceDifferential (btScalar scale, const TVStack &dx, TVStack &df)
void | firstPiola (const btSoftBody::TetraScratch &s, btMatrix3x3 &P)
void | firstPiolaDifferential (const btSoftBody::TetraScratch &s, const btMatrix3x3 &dF, btMatrix3x3 &dP)
void | firstPiolaDampingDifferential (const btSoftBody::TetraScratch &s, const btMatrix3x3 &dF, btMatrix3x3 &dP)
btScalar | DotProduct (const btMatrix3x3 &A, const btMatrix3x3 &B)
void | addScaledCofactorMatrixDifferential (const btMatrix3x3 &F, const btMatrix3x3 &dF, btScalar scale, btMatrix3x3 &M)
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)

## Public Attributes
btScalar | m_mu
btScalar | m_lambda
btScalar | m_E
btScalar | m_nu
btScalar | m_mu_damp
btScalar | m_lambda_damp
Public Attributes inherited from btDeformableLagrangianForce
btAlignedObjectArray< btSoftBody * > | m_softBodies
const btAlignedObjectArray< btSoftBody::Node * > * | m_nodes

## Detailed Description

Definition at line 23 of file btDeformableNeoHookeanForce.h.

## Member Typedef Documentation

## ◆ TVStack

typedef btAlignedObjectArray<btVector3> btDeformableNeoHookeanForce::TVStack

Definition at line 26 of file btDeformableNeoHookeanForce.h.

## Constructor & Destructor Documentation

## ◆ btDeformableNeoHookeanForce() [1/2]

btDeformableNeoHookeanForce::btDeformableNeoHookeanForce | ( |  | ) |
| inline

Definition at line 30 of file btDeformableNeoHookeanForce.h.

## ◆ btDeformableNeoHookeanForce() [2/2]

btDeformableNeoHookeanForce::btDeformableNeoHookeanForce | ( | btScalar | mu,
|  | btScalar | lambda,
|  | btScalar | damping = `0.05`
| ) |  |
| inline

Definition at line 38 of file btDeformableNeoHookeanForce.h.

## Member Function Documentation

## ◆ addScaledCofactorMatrixDifferential()

void btDeformableNeoHookeanForce::addScaledCofactorMatrixDifferential | ( | const btMatrix3x3 & | F,
|  | const btMatrix3x3 & | dF,
|  | btScalar | scale,
|  | btMatrix3x3 & | M
| ) |  |
| inline

Definition at line 402 of file btDeformableNeoHookeanForce.h.

## ◆ addScaledDampingForce()

virtual void btDeformableNeoHookeanForce::addScaledDampingForce | ( | btScalar | scale,
|  | TVStack & | force
| ) |  |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 98 of file btDeformableNeoHookeanForce.h.

## ◆ addScaledDampingForceDifferential()

virtual void btDeformableNeoHookeanForce::addScaledDampingForceDifferential | ( | btScalar | scale,
|  | const TVStack & | dv,
|  | TVStack & | df
| ) |  |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 272 of file btDeformableNeoHookeanForce.h.

## ◆ addScaledElasticForce()

virtual void btDeformableNeoHookeanForce::addScaledElasticForce | ( | btScalar | scale,
|  | TVStack & | force
| ) |  |
| inlinevirtual

Definition at line 204 of file btDeformableNeoHookeanForce.h.

## ◆ addScaledElasticForceDifferential()

virtual void btDeformableNeoHookeanForce::addScaledElasticForceDifferential | ( | btScalar | scale,
|  | const TVStack & | dx,
|  | TVStack & | df
| ) |  |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 318 of file btDeformableNeoHookeanForce.h.

## ◆ addScaledExplicitForce()

virtual void btDeformableNeoHookeanForce::addScaledExplicitForce | ( | btScalar | scale,
|  | TVStack & | force
| ) |  |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 92 of file btDeformableNeoHookeanForce.h.

## ◆ addScaledForces()

virtual void btDeformableNeoHookeanForce::addScaledForces | ( | btScalar | scale,
|  | TVStack & | force
| ) |  |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 86 of file btDeformableNeoHookeanForce.h.

## ◆ buildDampingForceDifferentialDiagonal()

virtual void btDeformableNeoHookeanForce::buildDampingForceDifferentialDiagonal | ( | btScalar | scale,
|  | TVStack & | diagA
| ) |  |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 316 of file btDeformableNeoHookeanForce.h.

## ◆ DotProduct()

btScalar btDeformableNeoHookeanForce::DotProduct | ( | const btMatrix3x3 & | A,
|  | const btMatrix3x3 & | B
| ) |  |
| inline

Definition at line 389 of file btDeformableNeoHookeanForce.h.

## ◆ elasticEnergyDensity()

double btDeformableNeoHookeanForce::elasticEnergyDensity | ( | const btSoftBody::TetraScratch & | s | ) |
| inline

Definition at line 195 of file btDeformableNeoHookeanForce.h.

## ◆ firstPiola()

void btDeformableNeoHookeanForce::firstPiola | ( | const btSoftBody::TetraScratch & | s,
|  | btMatrix3x3 & | P
| ) |  |
| inline

Definition at line 358 of file btDeformableNeoHookeanForce.h.

## ◆ firstPiolaDampingDifferential()

void btDeformableNeoHookeanForce::firstPiolaDampingDifferential | ( | const btSoftBody::TetraScratch & | s,
|  | const btMatrix3x3 & | dF,
|  | btMatrix3x3 & | dP
| ) |  |
| inline

Definition at line 379 of file btDeformableNeoHookeanForce.h.

## ◆ firstPiolaDifferential()

void btDeformableNeoHookeanForce::firstPiolaDifferential | ( | const btSoftBody::TetraScratch & | s,
|  | const btMatrix3x3 & | dF,
|  | btMatrix3x3 & | dP
| ) |  |
| inline

Definition at line 367 of file btDeformableNeoHookeanForce.h.

## ◆ getForceType()

virtual btDeformableLagrangianForceType btDeformableNeoHookeanForce::getForceType | ( |  | ) |
| inlinevirtual

Implements btDeformableLagrangianForce.

Definition at line 415 of file btDeformableNeoHookeanForce.h.

## ◆ setDamping()

void btDeformableNeoHookeanForce::setDamping | ( | btScalar | damping | ) |
| inline

Definition at line 73 of file btDeformableNeoHookeanForce.h.

## ◆ setLameParameters()

void btDeformableNeoHookeanForce::setLameParameters | ( | btScalar | mu,
|  | btScalar | lambda
| ) |  |
| inline

Definition at line 79 of file btDeformableNeoHookeanForce.h.

## ◆ setPoissonRatio()

void btDeformableNeoHookeanForce::setPoissonRatio | ( | btScalar | nu | ) |
| inline

Definition at line 67 of file btDeformableNeoHookeanForce.h.

## ◆ setYoungsModulus()

void btDeformableNeoHookeanForce::setYoungsModulus | ( | btScalar | E | ) |
| inline

Definition at line 61 of file btDeformableNeoHookeanForce.h.

## ◆ totalDampingEnergy()

virtual double btDeformableNeoHookeanForce::totalDampingEnergy | ( | btScalar | dt | ) |
| inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 162 of file btDeformableNeoHookeanForce.h.

## ◆ totalElasticEnergy()

virtual double btDeformableNeoHookeanForce::totalElasticEnergy | ( | btScalar | dt | ) |
| inlinevirtual

Reimplemented from btDeformableLagrangianForce.

Definition at line 141 of file btDeformableNeoHookeanForce.h.

## ◆ updateLameParameters()

void btDeformableNeoHookeanForce::updateLameParameters | ( |  | ) |
| inline

Definition at line 53 of file btDeformableNeoHookeanForce.h.

## ◆ updateYoungsModulusAndPoissonRatio()

void btDeformableNeoHookeanForce::updateYoungsModulusAndPoissonRatio | ( |  | ) |
| inline

Definition at line 45 of file btDeformableNeoHookeanForce.h.

## Member Data Documentation

## ◆ m_E

btScalar btDeformableNeoHookeanForce::m_E

Definition at line 28 of file btDeformableNeoHookeanForce.h.

## ◆ m_lambda

btScalar btDeformableNeoHookeanForce::m_lambda

Definition at line 27 of file btDeformableNeoHookeanForce.h.

## ◆ m_lambda_damp

btScalar btDeformableNeoHookeanForce::m_lambda_damp

Definition at line 29 of file btDeformableNeoHookeanForce.h.

## ◆ m_mu

btScalar btDeformableNeoHookeanForce::m_mu

Definition at line 27 of file btDeformableNeoHookeanForce.h.

## ◆ m_mu_damp

btScalar btDeformableNeoHookeanForce::m_mu_damp

Definition at line 29 of file btDeformableNeoHookeanForce.h.

## ◆ m_nu

btScalar btDeformableNeoHookeanForce::m_nu

Definition at line 28 of file btDeformableNeoHookeanForce.h.

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

- btDeformableNeoHookeanForce.h