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:
Inheritance graph
[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. 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...
 

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

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 btDeformableBodySolver, and 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, 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: