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 }

## Public Member Functions
| 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 (float solverdt)=0
| Predict motion of soft bodies into next timestep. More...
virtual void | solveConstraints (float 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...

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

## Detailed Description

Definition at line 30 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 |

Definition at line 33 of file btSoftBodySolvers.h.

## Constructor & Destructor Documentation

## ◆ btSoftBodySolver()

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

Definition at line 51 of file btSoftBodySolvers.h.

## ◆ ~btSoftBodySolver()

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

Definition at line 59 of file btSoftBodySolvers.h.

## Member Function Documentation

## ◆ checkInitialized()

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

Ensure that this solver is initialized.

Implemented in btDefaultSoftBodySolver.

## ◆ copyBackToSoftBodies()

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

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

Implemented in btDefaultSoftBodySolver.

## ◆ getNumberOfPositionIterations()

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

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

Definition at line 100 of file btSoftBodySolvers.h.

## ◆ getNumberOfVelocityIterations()

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

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

Definition at line 112 of file btSoftBodySolvers.h.

## ◆ getSolverType()

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

Return the type of the solver.

Implemented in btDefaultSoftBodySolver.

## ◆ getTimeScale()

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

Return the timescale that the simulation is using.

Definition at line 118 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.

## ◆ predictMotion()

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

Predict motion of soft bodies into next timestep.

Implemented in btDefaultSoftBodySolver.

## ◆ processCollision() [1/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.

## ◆ processCollision() [2/2]

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

Process a collision between two soft bodies.

Implemented in btDefaultSoftBodySolver.

## ◆ setNumberOfPositionIterations()

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

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

Definition at line 94 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 106 of file btSoftBodySolvers.h.

## ◆ solveConstraints()

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

Solve constraints for a set of soft bodies.

Implemented in btDefaultSoftBodySolver.

## ◆ 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.

## Member Data Documentation

## ◆ m_numberOfPositionIterations

int btSoftBodySolver::m_numberOfPositionIterations
| protected

Definition at line 45 of file btSoftBodySolvers.h.

## ◆ m_numberOfVelocityIterations

int btSoftBodySolver::m_numberOfVelocityIterations
| protected

Definition at line 46 of file btSoftBodySolvers.h.

## ◆ m_timeScale

float btSoftBodySolver::m_timeScale
| protected

Definition at line 48 of file btSoftBodySolvers.h.

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

- btSoftBodySolvers.h