Bullet Collision Detection & Physics Library: btDeformableBackwardEulerObjective 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
btDeformableBackwardEulerObjective Class Reference

`#include <btDeformableBackwardEulerObjective.h>`

Collaboration diagram for btDeformableBackwardEulerObjective:
[legend]

## Public Types
enum | _ { Mass_preconditioner , KKT_preconditioner }
typedef btAlignedObjectArray< btVector3 > | TVStack

## Public Member Functions
| btDeformableBackwardEulerObjective (btAlignedObjectArray< btSoftBody * > &softBodies, const TVStack &backup_v)
virtual | ~btDeformableBackwardEulerObjective ()
void | initialize ()
void | computeResidual (btScalar dt, TVStack &residual)
void | applyExplicitForce (TVStack &force)
void | applyForce (TVStack &force, bool setZero)
btScalar | computeNorm (const TVStack &residual) const
void | computeStep (TVStack &dv, const TVStack &residual, const btScalar &dt)
void | multiply (const TVStack &x, TVStack &b) const
void | initialGuess (TVStack &dv, const TVStack &residual)
void | reinitialize (bool nodeUpdated, btScalar dt)
void | setDt (btScalar dt)
void | applyDynamicFriction (TVStack &r)
void | updateVelocity (const TVStack &dv)
void | setConstraints (const btContactSolverInfo &infoGlobal)
void | project (TVStack &r)
void | precondition (const TVStack &x, TVStack &b)
virtual void | updateId ()
const btAlignedObjectArray< btSoftBody::Node * > * | getIndices () const
void | setImplicit (bool implicit)
btScalar | totalEnergy (btScalar dt)
void | addLagrangeMultiplier (const TVStack &vec, TVStack &extended_vec)
void | addLagrangeMultiplierRHS (const TVStack &residual, const TVStack &m_dv, TVStack &extended_residual)
void | calculateContactForce (const TVStack &dv, const TVStack &rhs, TVStack &f)

## Public Attributes
btScalar | m_dt
btAlignedObjectArray< btDeformableLagrangianForce * > | m_lf
btAlignedObjectArray< btSoftBody * > & | m_softBodies
Preconditioner * | m_preconditioner
btDeformableContactProjection | m_projection
const TVStack & | m_backupVelocity
btAlignedObjectArray< btSoftBody::Node * > | m_nodes
bool | m_implicit
MassPreconditioner * | m_massPreconditioner
KKTPreconditioner * | m_KKTPreconditioner

## Detailed Description

Definition at line 31 of file btDeformableBackwardEulerObjective.h.

## Member Typedef Documentation

## ◆ TVStack

typedef btAlignedObjectArray<btVector3> btDeformableBackwardEulerObjective::TVStack

Definition at line 40 of file btDeformableBackwardEulerObjective.h.

## Member Enumeration Documentation

## ◆ _

enum btDeformableBackwardEulerObjective::_

Enumerator
Mass_preconditioner |
KKT_preconditioner |

Definition at line 34 of file btDeformableBackwardEulerObjective.h.

## Constructor & Destructor Documentation

## ◆ btDeformableBackwardEulerObjective()

btDeformableBackwardEulerObjective::btDeformableBackwardEulerObjective | ( | btAlignedObjectArray< btSoftBody * > & | softBodies,
|  | const TVStack & | backup_v
| ) |  |

Definition at line 20 of file btDeformableBackwardEulerObjective.cpp.

## ◆ ~btDeformableBackwardEulerObjective()

btDeformableBackwardEulerObjective::~btDeformableBackwardEulerObjective | ( |  | ) |
| virtual

Definition at line 28 of file btDeformableBackwardEulerObjective.cpp.

## Member Function Documentation

## ◆ addLagrangeMultiplier()

void btDeformableBackwardEulerObjective::addLagrangeMultiplier | ( | const TVStack & | vec,
|  | TVStack & | extended_vec
| ) |  |
| inline

Definition at line 142 of file btDeformableBackwardEulerObjective.h.

## ◆ addLagrangeMultiplierRHS()

void btDeformableBackwardEulerObjective::addLagrangeMultiplierRHS | ( | const TVStack & | residual,
|  | const TVStack & | m_dv,
|  | TVStack & | extended_residual
| ) |  |
| inline

Definition at line 156 of file btDeformableBackwardEulerObjective.h.

## ◆ applyDynamicFriction()

void btDeformableBackwardEulerObjective::applyDynamicFriction | ( | TVStack & | r | ) |

Definition at line 296 of file btDeformableBackwardEulerObjective.cpp.

## ◆ applyExplicitForce()

void btDeformableBackwardEulerObjective::applyExplicitForce | ( | TVStack & | force | ) |

Definition at line 213 of file btDeformableBackwardEulerObjective.cpp.

## ◆ applyForce()

void btDeformableBackwardEulerObjective::applyForce | ( | TVStack & | force,
|  | bool | setZero
| ) |  |

Definition at line 137 of file btDeformableBackwardEulerObjective.cpp.

## ◆ calculateContactForce()

void btDeformableBackwardEulerObjective::calculateContactForce | ( | const TVStack & | dv,
|  | const TVStack & | rhs,
|  | TVStack & | f
| ) |  |
| inline

Definition at line 178 of file btDeformableBackwardEulerObjective.h.

## ◆ computeNorm()

btScalar btDeformableBackwardEulerObjective::computeNorm | ( | const TVStack & | residual | ) | const

Definition at line 193 of file btDeformableBackwardEulerObjective.cpp.

## ◆ computeResidual()

void btDeformableBackwardEulerObjective::computeResidual | ( | btScalar | dt,
|  | TVStack & | residual
| ) |  |

Definition at line 174 of file btDeformableBackwardEulerObjective.cpp.

## ◆ computeStep()

void btDeformableBackwardEulerObjective::computeStep | ( | TVStack & | dv,
|  | const TVStack & | residual,
|  | const btScalar & | dt
| ) |  |

## ◆ getIndices()

const btAlignedObjectArray< btSoftBody::Node * > * btDeformableBackwardEulerObjective::getIndices | ( |  | ) | const
| inline

Definition at line 129 of file btDeformableBackwardEulerObjective.h.

## ◆ initialGuess()

void btDeformableBackwardEulerObjective::initialGuess | ( | TVStack & | dv,
|  | const TVStack & | residual
| ) |  |

Definition at line 276 of file btDeformableBackwardEulerObjective.cpp.

## ◆ initialize()

void btDeformableBackwardEulerObjective::initialize | ( |  | ) |
| inline

Definition at line 56 of file btDeformableBackwardEulerObjective.h.

## ◆ multiply()

void btDeformableBackwardEulerObjective::multiply | ( | const TVStack & | x,
|  | TVStack & | b
| ) |  | const

Definition at line 69 of file btDeformableBackwardEulerObjective.cpp.

## ◆ precondition()

void btDeformableBackwardEulerObjective::precondition | ( | const TVStack & | x,
|  | TVStack & | b
| ) |  |
| inline

Definition at line 101 of file btDeformableBackwardEulerObjective.h.

## ◆ project()

void btDeformableBackwardEulerObjective::project | ( | TVStack & | r | ) |
| inline

Definition at line 94 of file btDeformableBackwardEulerObjective.h.

## ◆ reinitialize()

void btDeformableBackwardEulerObjective::reinitialize | ( | bool | nodeUpdated,
|  | btScalar | dt
| ) |  |

Definition at line 34 of file btDeformableBackwardEulerObjective.cpp.

## ◆ setConstraints()

void btDeformableBackwardEulerObjective::setConstraints | ( | const btContactSolverInfo & | infoGlobal | ) |

Definition at line 291 of file btDeformableBackwardEulerObjective.cpp.

## ◆ setDt()

void btDeformableBackwardEulerObjective::setDt | ( | btScalar | dt | ) |

Definition at line 64 of file btDeformableBackwardEulerObjective.cpp.

## ◆ setImplicit()

void btDeformableBackwardEulerObjective::setImplicit | ( | bool | implicit | ) |
| inline

Definition at line 134 of file btDeformableBackwardEulerObjective.h.

## ◆ totalEnergy()

btScalar btDeformableBackwardEulerObjective::totalEnergy | ( | btScalar | dt | ) |

Definition at line 203 of file btDeformableBackwardEulerObjective.cpp.

## ◆ updateId()

virtual void btDeformableBackwardEulerObjective::updateId | ( |  | ) |
| inlinevirtual

Definition at line 107 of file btDeformableBackwardEulerObjective.h.

## ◆ updateVelocity()

void btDeformableBackwardEulerObjective::updateVelocity | ( | const TVStack & | dv | ) |

Definition at line 124 of file btDeformableBackwardEulerObjective.cpp.

## Member Data Documentation

## ◆ m_backupVelocity

const TVStack& btDeformableBackwardEulerObjective::m_backupVelocity

Definition at line 46 of file btDeformableBackwardEulerObjective.h.

## ◆ m_dt

btScalar btDeformableBackwardEulerObjective::m_dt

Definition at line 41 of file btDeformableBackwardEulerObjective.h.

## ◆ m_implicit

bool btDeformableBackwardEulerObjective::m_implicit

Definition at line 48 of file btDeformableBackwardEulerObjective.h.

## ◆ m_KKTPreconditioner

KKTPreconditioner* btDeformableBackwardEulerObjective::m_KKTPreconditioner

Definition at line 50 of file btDeformableBackwardEulerObjective.h.

## ◆ m_lf

btAlignedObjectArray<btDeformableLagrangianForce*> btDeformableBackwardEulerObjective::m_lf

Definition at line 42 of file btDeformableBackwardEulerObjective.h.

## ◆ m_massPreconditioner

MassPreconditioner* btDeformableBackwardEulerObjective::m_massPreconditioner

Definition at line 49 of file btDeformableBackwardEulerObjective.h.

## ◆ m_nodes

btAlignedObjectArray<btSoftBody::Node*> btDeformableBackwardEulerObjective::m_nodes

Definition at line 47 of file btDeformableBackwardEulerObjective.h.

## ◆ m_preconditioner

Preconditioner* btDeformableBackwardEulerObjective::m_preconditioner

Definition at line 44 of file btDeformableBackwardEulerObjective.h.

## ◆ m_projection

btDeformableContactProjection btDeformableBackwardEulerObjective::m_projection

Definition at line 45 of file btDeformableBackwardEulerObjective.h.

## ◆ m_softBodies

btAlignedObjectArray<btSoftBody*>& btDeformableBackwardEulerObjective::m_softBodies

Definition at line 43 of file btDeformableBackwardEulerObjective.h.

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

- btDeformableBackwardEulerObjective.h
- btDeformableBackwardEulerObjective.cpp