Bullet Collision Detection & Physics Library: btReducedDeformableBodySolver Class Reference

Bullet Collision Detection & Physics Library

Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
btReducedDeformableBodySolver Class Reference

`#include <btReducedDeformableBodySolver.h>`

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

## Public Member Functions
| btReducedDeformableBodySolver ()
| ~btReducedDeformableBodySolver ()
virtual void | setGravity (const btVector3 &gravity)
virtual SolverTypes | getSolverType () const
| Return the type of the solver. More...
virtual void | reinitialize (const btAlignedObjectArray< btSoftBody * > &bodies, btScalar dt)
virtual void | predictMotion (btScalar solverdt)
| Predict motion of soft bodies into next timestep. More...
virtual void | applyTransforms (btScalar timeStep)
virtual void | setConstraints (const btContactSolverInfo &infoGlobal)
virtual btScalar | solveContactConstraints (btCollisionObject **deformableBodies, int numDeformableBodies, const btContactSolverInfo &infoGlobal)
virtual void | deformableBodyInternalWriteBack ()
Public Member Functions inherited from btDeformableBodySolver
| btDeformableBodySolver ()
virtual | ~btDeformableBodySolver ()
virtual SolverTypes | getSolverType () const
| Return the type of the solver. More...
virtual void | updateSoftBodies ()
| Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes. More...
virtual btScalar | solveContactConstraints (btCollisionObject **deformableBodies, int numDeformableBodies, const btContactSolverInfo &infoGlobal)
virtual void | solveDeformableConstraints (btScalar solverdt)
virtual void | setGravity (const btVector3 &gravity)
virtual void | reinitialize (const btAlignedObjectArray< btSoftBody * > &softBodies, btScalar dt)
virtual void | setConstraints (const btContactSolverInfo &infoGlobal)
virtual void | predictMotion (btScalar solverdt)
| Predict motion of soft bodies into next timestep. More...
void | predictDeformableMotion (btSoftBody *psb, btScalar dt)
void | backupVelocity ()
virtual void | setupDeformableSolve (bool implicit)
void | revertVelocity ()
void | updateVelocity ()
bool | updateNodes ()
void | computeStep (TVStack &ddv, const TVStack &residual)
btScalar | computeDescentStep (TVStack &ddv, const TVStack &residual, bool verbose=false)
virtual void | copySoftBodyToVertexBuffer (const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer)
virtual void | processCollision (btSoftBody *softBody, const btCollisionObjectWrapper *collisionObjectWrap)
virtual void | processCollision (btSoftBody *softBody, btSoftBody *otherSoftBody)
| Process a collision between two soft bodies. More...
void | setImplicit (bool implicit)
void | setLineSearch (bool lineSearch)
void | updateState ()
void | updateDv (btScalar scale=1)
void | updateTempPosition ()
void | backupDv ()
void | revertDv ()
void | updateEnergy (btScalar scale)
btScalar | kineticEnergy ()
virtual void | applyExplicitForce ()
virtual void | applyTransforms (btScalar timeStep)
virtual void | setStrainLimiting (bool opt)
virtual void | setPreconditioner (int opt)
virtual btAlignedObjectArray< btDeformableLagrangianForce * > * | getLagrangianForceArray ()
virtual const btAlignedObjectArray< btSoftBody::Node * > * | getIndices ()
virtual void | setProjection ()
virtual void | setLagrangeMultiplier ()
virtual bool | isReducedSolver ()
virtual void | deformableBodyInternalWriteBack ()
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)
| Optimize soft bodies in this solver. More...
virtual void | solveConstraints (btScalar dt)
| Solve constraints for a set of soft bodies. More...
virtual bool | checkInitialized ()
| Ensure that this solver is initialized. More...
virtual void | copyBackToSoftBodies (bool bMove=true)
| Copy necessary data back to the original soft body source objects. More...
Public Member Functions inherited from btSoftBodySolver
| btSoftBodySolver ()
virtual | ~btSoftBodySolver ()
virtual SolverTypes | getSolverType () const =0
| Return the type of the solver. More...
virtual bool | checkInitialized ()=0
| Ensure that this solver is initialized. More...
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)=0
| Optimize soft bodies in this solver. More...
virtual void | copyBackToSoftBodies (bool bMove=true)=0
| Copy necessary data back to the original soft body source objects. More...
virtual void | predictMotion (btScalar solverdt)=0
| Predict motion of soft bodies into next timestep. More...
virtual void | solveConstraints (btScalar solverdt)=0
| Solve constraints for a set of soft bodies. More...
virtual void | updateSoftBodies ()=0
| Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes. More...
virtual void | processCollision (btSoftBody *, const struct btCollisionObjectWrapper *)=0
| Process a collision between one of the world's soft bodies and another collision object. More...
virtual void | processCollision (btSoftBody *, btSoftBody *)=0
| Process a collision between two soft bodies. More...
virtual void | setNumberOfPositionIterations (int iterations)
| Set the number of velocity constraint solver iterations this solver uses. More...
virtual int | getNumberOfPositionIterations ()
| Get the number of velocity constraint solver iterations this solver uses. More...
virtual void | setNumberOfVelocityIterations (int iterations)
| Set the number of velocity constraint solver iterations this solver uses. More...
virtual int | getNumberOfVelocityIterations ()
| Get the number of velocity constraint solver iterations this solver uses. More...
float | getTimeScale ()
| Return the timescale that the simulation is using. More...

## Public Attributes
btAlignedObjectArray< btAlignedObjectArray< btReducedDeformableStaticConstraint > > | m_staticConstraints
btAlignedObjectArray< btAlignedObjectArray< btReducedDeformableNodeRigidContactConstraint > > | m_nodeRigidConstraints
btAlignedObjectArray< btAlignedObjectArray< btReducedDeformableFaceRigidContactConstraint > > | m_faceRigidConstraints
Public Attributes inherited from btDeformableBodySolver
btDeformableBackwardEulerObjective * | m_objective
bool | m_useProjection

## Protected Member Functions
void | predictReduceDeformableMotion (btScalar solverdt)
void | applyExplicitForce (btScalar solverdt)

## Protected Attributes
bool | m_ascendOrder
btScalar | m_dampingAlpha
btScalar | m_dampingBeta
btVector3 | m_gravity
Protected Attributes inherited from btDeformableBodySolver
int | m_numNodes
TVStack | m_dv
TVStack | m_backup_dv
TVStack | m_ddv
TVStack | m_residual
btAlignedObjectArray< btSoftBody * > | m_softBodies
TVStack | m_backupVelocity
btScalar | m_dt
btConjugateGradient< btDeformableBackwardEulerObjective > | m_cg
btConjugateResidual< btDeformableBackwardEulerObjective > | m_cr
bool | m_implicit
int | m_maxNewtonIterations
btScalar | m_newtonTolerance
bool | m_lineSearch
bool | m_reducedSolver
Protected Attributes inherited from btSoftBodySolver
int | m_numberOfPositionIterations
int | m_numberOfVelocityIterations
float | m_timeScale

## Additional Inherited Members
Public Types inherited from btSoftBodySolver
enum | SolverTypes { DEFAULT_SOLVER , CPU_SOLVER , CL_SOLVER , CL_SIMD_SOLVER , DX_SOLVER , DX_SIMD_SOLVER , DEFORMABLE_SOLVER , REDUCED_DEFORMABLE_SOLVER }

## Detailed Description

Definition at line 9 of file btReducedDeformableBodySolver.h.

## Constructor & Destructor Documentation

## ◆ btReducedDeformableBodySolver()

btReducedDeformableBodySolver::btReducedDeformableBodySolver | ( |  | ) |

Definition at line 4 of file btReducedDeformableBodySolver.cpp.

## ◆ ~btReducedDeformableBodySolver()

btReducedDeformableBodySolver::~btReducedDeformableBodySolver | ( |  | ) |
| inline

Definition at line 28 of file btReducedDeformableBodySolver.h.

## Member Function Documentation

## ◆ applyExplicitForce()

void btReducedDeformableBodySolver::applyExplicitForce | ( | btScalar | solverdt | ) |
| protected

Definition at line 139 of file btReducedDeformableBodySolver.cpp.

## ◆ applyTransforms()

void btReducedDeformableBodySolver::applyTransforms | ( | btScalar | timeStep | ) |
| virtual

Reimplemented from btDeformableBodySolver.

Definition at line 163 of file btReducedDeformableBodySolver.cpp.

## ◆ deformableBodyInternalWriteBack()

void btReducedDeformableBodySolver::deformableBodyInternalWriteBack | ( |  | ) |
| virtual

Reimplemented from btDeformableBodySolver.

Definition at line 316 of file btReducedDeformableBodySolver.cpp.

## ◆ getSolverType()

virtual SolverTypes btReducedDeformableBodySolver::getSolverType | ( |  | ) | const
| inlinevirtual

Return the type of the solver.

Reimplemented from btDeformableBodySolver.

Definition at line 32 of file btReducedDeformableBodySolver.h.

## ◆ predictMotion()

void btReducedDeformableBodySolver::predictMotion | ( | btScalar | solverdt | ) |
| virtual

Predict motion of soft bodies into next timestep.

Reimplemented from btDeformableBodySolver.

Definition at line 77 of file btReducedDeformableBodySolver.cpp.

## ◆ predictReduceDeformableMotion()

void btReducedDeformableBodySolver::predictReduceDeformableMotion | ( | btScalar | solverdt | ) |
| protected

Definition at line 87 of file btReducedDeformableBodySolver.cpp.

## ◆ reinitialize()

void btReducedDeformableBodySolver::reinitialize | ( | const btAlignedObjectArray< btSoftBody * > & | bodies,
|  | btScalar | dt
| ) |  |
| virtual

Reimplemented from btDeformableBodySolver.

Definition at line 18 of file btReducedDeformableBodySolver.cpp.

## ◆ setConstraints()

void btReducedDeformableBodySolver::setConstraints | ( | const btContactSolverInfo & | infoGlobal | ) |
| virtual

Reimplemented from btDeformableBodySolver.

Definition at line 196 of file btReducedDeformableBodySolver.cpp.

## ◆ setGravity()

void btReducedDeformableBodySolver::setGravity | ( | const btVector3 & | gravity | ) |
| virtual

Reimplemented from btDeformableBodySolver.

Definition at line 13 of file btReducedDeformableBodySolver.cpp.

## ◆ solveContactConstraints()

btScalar btReducedDeformableBodySolver::solveContactConstraints | ( | btCollisionObject ** | deformableBodies,
|  | int | numDeformableBodies,
|  | const btContactSolverInfo & | infoGlobal
| ) |  |
| virtual

Reimplemented from btDeformableBodySolver.

Definition at line 242 of file btReducedDeformableBodySolver.cpp.

## Member Data Documentation

## ◆ m_ascendOrder

bool btReducedDeformableBodySolver::m_ascendOrder
| protected

Definition at line 12 of file btReducedDeformableBodySolver.h.

## ◆ m_dampingAlpha

btScalar btReducedDeformableBodySolver::m_dampingAlpha
| protected

Definition at line 13 of file btReducedDeformableBodySolver.h.

## ◆ m_dampingBeta

btScalar btReducedDeformableBodySolver::m_dampingBeta
| protected

Definition at line 14 of file btReducedDeformableBodySolver.h.

## ◆ m_faceRigidConstraints

btAlignedObjectArray<btAlignedObjectArray<btReducedDeformableFaceRigidContactConstraint> > btReducedDeformableBodySolver::m_faceRigidConstraints

Definition at line 25 of file btReducedDeformableBodySolver.h.

## ◆ m_gravity

btVector3 btReducedDeformableBodySolver::m_gravity
| protected

Definition at line 16 of file btReducedDeformableBodySolver.h.

## ◆ m_nodeRigidConstraints

btAlignedObjectArray<btAlignedObjectArray<btReducedDeformableNodeRigidContactConstraint> > btReducedDeformableBodySolver::m_nodeRigidConstraints

Definition at line 24 of file btReducedDeformableBodySolver.h.

## ◆ m_staticConstraints

btAlignedObjectArray<btAlignedObjectArray<btReducedDeformableStaticConstraint> > btReducedDeformableBodySolver::m_staticConstraints

Definition at line 23 of file btReducedDeformableBodySolver.h.

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

- btReducedDeformableBodySolver.h
- btReducedDeformableBodySolver.cpp