Bullet Collision Detection & Physics Library: btDefaultSoftBodySolver Class Reference

Bullet Collision Detection & Physics Library

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

`#include <btDefaultSoftBodySolver.h>`

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

## Public Member Functions
| btDefaultSoftBodySolver ()
virtual | ~btDefaultSoftBodySolver ()
virtual SolverTypes | getSolverType () const
| Return the type of the solver.
virtual bool | checkInitialized ()
| Ensure that this solver is initialized.
virtual void | updateSoftBodies ()
| Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes.
virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)
| Optimize soft bodies in this solver.
virtual void | copyBackToSoftBodies (bool bMove=true)
| Copy necessary data back to the original soft body source objects.
virtual void | solveConstraints (btScalar solverdt)
| Solve constraints for a set of soft bodies.
virtual void | predictMotion (btScalar solverdt)
| Predict motion of soft bodies into next timestep.
virtual void | copySoftBodyToVertexBuffer (const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer)
virtual void | processCollision (btSoftBody *, const btCollisionObjectWrapper *)
virtual void | processCollision (btSoftBody *, btSoftBody *)
| Process a collision between two soft bodies.
Public Member Functions inherited from btSoftBodySolver
| btSoftBodySolver ()
virtual | ~btSoftBodySolver ()
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 | 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
bool | m_updateSolverConstants
| Variable to define whether we need to update solver constants on the next iteration.
btAlignedObjectArray< btSoftBody * > | m_softBodySet
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 23 of file btDefaultSoftBodySolver.h.

## Constructor & Destructor Documentation

## ◆ btDefaultSoftBodySolver()

btDefaultSoftBodySolver::btDefaultSoftBodySolver | ( |  | ) |

Definition at line 24 of file btDefaultSoftBodySolver.cpp.

## ◆ ~btDefaultSoftBodySolver()

btDefaultSoftBodySolver::~btDefaultSoftBodySolver | ( |  | ) |
| virtual

Definition at line 32 of file btDefaultSoftBodySolver.cpp.

## Member Function Documentation

## ◆ checkInitialized()

bool btDefaultSoftBodySolver::checkInitialized | ( |  | ) |
| virtual

Ensure that this solver is initialized.

Implements btSoftBodySolver.

Definition at line 58 of file btDefaultSoftBodySolver.cpp.

## ◆ copyBackToSoftBodies()

void btDefaultSoftBodySolver::copyBackToSoftBodies | ( | bool | bMove = true | ) |
| virtual

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

Implements btSoftBodySolver.

Definition at line 37 of file btDefaultSoftBodySolver.cpp.

## ◆ copySoftBodyToVertexBuffer()

void btDefaultSoftBodySolver::copySoftBodyToVertexBuffer | ( | const btSoftBody *const | softBody,
|  | btVertexBufferDescriptor * | vertexBuffer )
| virtual

Definition at line 76 of file btDefaultSoftBodySolver.cpp.

## ◆ getSolverType()

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

Return the type of the solver.

Implements btSoftBodySolver.

Definition at line 36 of file btDefaultSoftBodySolver.h.

## ◆ optimize()

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

Optimize soft bodies in this solver.

Implements btSoftBodySolver.

Definition at line 41 of file btDefaultSoftBodySolver.cpp.

## ◆ predictMotion()

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

Predict motion of soft bodies into next timestep.

Implements btSoftBodySolver.

Definition at line 135 of file btDefaultSoftBodySolver.cpp.

## ◆ processCollision() [1/2]

void btDefaultSoftBodySolver::processCollision | ( | btSoftBody * | ,
|  | btSoftBody * | )
| virtual

Process a collision between two soft bodies.

Implements btSoftBodySolver.

Definition at line 124 of file btDefaultSoftBodySolver.cpp.

## ◆ processCollision() [2/2]

void btDefaultSoftBodySolver::processCollision | ( | btSoftBody * | softBody,
|  | const btCollisionObjectWrapper * | collisionObjectWrap )
| virtual

Definition at line 130 of file btDefaultSoftBodySolver.cpp.

## ◆ solveConstraints()

void btDefaultSoftBodySolver::solveConstraints | ( | btScalar | solverdt | ) |
| virtual

Solve constraints for a set of soft bodies.

Implements btSoftBodySolver.

Definition at line 63 of file btDefaultSoftBodySolver.cpp.

## ◆ updateSoftBodies()

void btDefaultSoftBodySolver::updateSoftBodies | ( |  | ) |
| virtual

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

Implements btSoftBodySolver.

Definition at line 46 of file btDefaultSoftBodySolver.cpp.

## Member Data Documentation

## ◆ m_softBodySet

btAlignedObjectArray<btSoftBody *> btDefaultSoftBodySolver::m_softBodySet
| protected

Definition at line 29 of file btDefaultSoftBodySolver.h.

## ◆ m_updateSolverConstants

bool btDefaultSoftBodySolver::m_updateSolverConstants
| protected

Variable to define whether we need to update solver constants on the next iteration.

Definition at line 27 of file btDefaultSoftBodySolver.h.

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

- btDefaultSoftBodySolver.h
- btDefaultSoftBodySolver.cpp