Bullet Collision Detection & Physics Library: btSoftBodySolver Class Reference

Bullet Collision Detection & Physics Library

Public Types | Public Member Functions | Protected Attributes | List of all members
btSoftBodySolver Class Referenceabstract

`#include <btSoftBodySolvers.h>`

Inheritance diagram for btSoftBodySolver:
[legend]

## Public Types
enum | SolverTypes { DEFAULT_SOLVER , CPU_SOLVER , CL_SOLVER , CL_SIMD_SOLVER , DX_SOLVER , DX_SIMD_SOLVER , DEFORMABLE_SOLVER , REDUCED_DEFORMABLE_SOLVER }

## Public Member Functions
| btSoftBodySolver ()
virtual | ~btSoftBodySolver ()
virtual SolverTypes | getSolverType () const =0
| Return the type of the solver.
virtual bool | checkInitialized ()=0
| Ensure that this solver is initialized.
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)=0
| Optimize soft bodies in this solver.
virtual void | copyBackToSoftBodies (bool bMove=true)=0
| Copy necessary data back to the original soft body source objects.
virtual void | predictMotion (btScalar solverdt)=0
| Predict motion of soft bodies into next timestep.
virtual void | solveConstraints (btScalar solverdt)=0
| Solve constraints for a set of soft bodies.
virtual void | updateSoftBodies ()=0
| Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes.
virtual void | processCollision (btSoftBody *, const struct btCollisionObjectWrapper *)=0
| Process a collision between one of the world's soft bodies and another collision object.
virtual void | processCollision (btSoftBody *, btSoftBody *)=0
| Process a collision between two soft bodies.
virtual void | setNumberOfPositionIterations (int iterations)
| Set the number of velocity constraint solver iterations this solver uses.
virtual int | getNumberOfPositionIterations ()
| Get the number of velocity constraint solver iterations this solver uses.
virtual void | setNumberOfVelocityIterations (int iterations)
| Set the number of velocity constraint solver iterations this solver uses.
virtual int | getNumberOfVelocityIterations ()
| Get the number of velocity constraint solver iterations this solver uses.
float | getTimeScale ()
| Return the timescale that the simulation is using.

## Protected Attributes
int | m_numberOfPositionIterations
int | m_numberOfVelocityIterations
float | m_timeScale

## Detailed Description

Definition at line 28 of file btSoftBodySolvers.h.

## Member Enumeration Documentation

## ◆ SolverTypes

enum btSoftBodySolver::SolverTypes

Enumerator
DEFAULT_SOLVER |
CPU_SOLVER |
CL_SOLVER |
CL_SIMD_SOLVER |
DX_SOLVER |
DX_SIMD_SOLVER |
DEFORMABLE_SOLVER |
REDUCED_DEFORMABLE_SOLVER |

Definition at line 31 of file btSoftBodySolvers.h.

## Constructor & Destructor Documentation

## ◆ btSoftBodySolver()

btSoftBodySolver::btSoftBodySolver | ( |  | ) |
| inline

Definition at line 50 of file btSoftBodySolvers.h.

## ◆ ~btSoftBodySolver()

virtual btSoftBodySolver::~btSoftBodySolver | ( |  | ) |
| inlinevirtual

Definition at line 57 of file btSoftBodySolvers.h.

## Member Function Documentation

## ◆ checkInitialized()

virtual bool btSoftBodySolver::checkInitialized | ( |  | ) |
| pure virtual

Ensure that this solver is initialized.

Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.

## ◆ copyBackToSoftBodies()

virtual void btSoftBodySolver::copyBackToSoftBodies | ( | bool | bMove = true | ) |
| pure virtual

Copy necessary data back to the original soft body source objects.

Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.

## ◆ getNumberOfPositionIterations()

virtual int btSoftBodySolver::getNumberOfPositionIterations | ( |  | ) |
| inlinevirtual

Get the number of velocity constraint solver iterations this solver uses.

Definition at line 97 of file btSoftBodySolvers.h.

## ◆ getNumberOfVelocityIterations()

virtual int btSoftBodySolver::getNumberOfVelocityIterations | ( |  | ) |
| inlinevirtual

Get the number of velocity constraint solver iterations this solver uses.

Definition at line 109 of file btSoftBodySolvers.h.

## ◆ getSolverType()

virtual SolverTypes btSoftBodySolver::getSolverType | ( |  | ) | const
| pure virtual

Return the type of the solver.

Implemented in btDefaultSoftBodySolver, btDeformableBodySolver, and btReducedDeformableBodySolver.

## ◆ getTimeScale()

float btSoftBodySolver::getTimeScale | ( |  | ) |
| inline

Return the timescale that the simulation is using.

Definition at line 115 of file btSoftBodySolvers.h.

## ◆ optimize()

virtual void btSoftBodySolver::optimize | ( | btAlignedObjectArray< btSoftBody * > & | softBodies,
|  | bool | forceUpdate = false )
| pure virtual

Optimize soft bodies in this solver.

Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.

## ◆ predictMotion()

virtual void btSoftBodySolver::predictMotion | ( | btScalar | solverdt | ) |
| pure virtual

Predict motion of soft bodies into next timestep.

Implemented in btDefaultSoftBodySolver, btDeformableBodySolver, and btReducedDeformableBodySolver.

## ◆ processCollision() [1/2]

virtual void btSoftBodySolver::processCollision | ( | btSoftBody * | ,
|  | btSoftBody * | )
| pure virtual

Process a collision between two soft bodies.

Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.

## ◆ processCollision() [2/2]

virtual void btSoftBodySolver::processCollision | ( | btSoftBody * | ,
|  | const struct btCollisionObjectWrapper * | )
| pure virtual

Process a collision between one of the world's soft bodies and another collision object.

## ◆ setNumberOfPositionIterations()

virtual void btSoftBodySolver::setNumberOfPositionIterations | ( | int | iterations | ) |
| inlinevirtual

Set the number of velocity constraint solver iterations this solver uses.

Definition at line 91 of file btSoftBodySolvers.h.

## ◆ setNumberOfVelocityIterations()

virtual void btSoftBodySolver::setNumberOfVelocityIterations | ( | int | iterations | ) |
| inlinevirtual

Set the number of velocity constraint solver iterations this solver uses.

Definition at line 103 of file btSoftBodySolvers.h.

## ◆ solveConstraints()

virtual void btSoftBodySolver::solveConstraints | ( | btScalar | solverdt | ) |
| pure virtual

Solve constraints for a set of soft bodies.

Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.

## ◆ updateSoftBodies()

virtual void btSoftBodySolver::updateSoftBodies | ( |  | ) |
| pure virtual

Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes.

Implemented in btDefaultSoftBodySolver, and btDeformableBodySolver.

## Member Data Documentation

## ◆ m_numberOfPositionIterations

int btSoftBodySolver::m_numberOfPositionIterations
| protected

Definition at line 44 of file btSoftBodySolvers.h.

## ◆ m_numberOfVelocityIterations

int btSoftBodySolver::m_numberOfVelocityIterations
| protected

Definition at line 45 of file btSoftBodySolvers.h.

## ◆ m_timeScale

float btSoftBodySolver::m_timeScale
| protected

Definition at line 47 of file btSoftBodySolvers.h.

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

- btSoftBodySolvers.h